/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type GeoSpatialCountryCode = "US"; export type DataSetImportMode = "SPICE" | "DIRECT_QUERY"; export type GeoSpatialDataRole = | "COUNTRY" | "STATE" | "COUNTY" | "CITY" | "POSTCODE" | "LONGITUDE" | "LATITUDE" | "POLITICAL1"; export type ColumnDataType = "STRING" | "INTEGER" | "DECIMAL" | "DATETIME"; export type JoinType = "INNER" | "OUTER" | "LEFT" | "RIGHT"; export type InputColumnDataType = "STRING" | "INTEGER" | "DECIMAL" | "DATETIME" | "BIT" | "BOOLEAN" | "JSON"; export type TextQualifier = "DOUBLE_QUOTE" | "SINGLE_QUOTE"; export type FileFormat = "CSV" | "TSV" | "CLF" | "ELF" | "XLSX" | "JSON"; export type RowLevelPermissionPolicy = "GRANT_ACCESS" | "DENY_ACCESS"; export type RowLevelPermissionFormatVersion = "VERSION_1" | "VERSION_2"; /** * Definition of the AWS::QuickSight::DataSet Resource Type. */ export interface AwsQuicksightDataset { /** *
The Amazon Resource Name (ARN) of the resource.
*/ Arn?: string; AwsAccountId?: string; /** *Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.
* * @minItems 1 * @maxItems 8 */ ColumnGroups?: | [ColumnGroup] | [ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup] | [ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup, ColumnGroup]; /** * @minItems 1 */ ColumnLevelPermissionRules?: [ColumnLevelPermissionRule, ...ColumnLevelPermissionRule[]]; /** *The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't * imported into SPICE.
*/ ConsumedSpiceCapacityInBytes?: number; /** *The time that this dataset was created.
*/ CreatedTime?: string; DataSetId?: string; FieldFolders?: FieldFolderMap; ImportMode?: DataSetImportMode; /** *The last time that this dataset was updated.
*/ LastUpdatedTime?: string; LogicalTableMap?: LogicalTableMap; /** *The display name for the dataset.
*/ Name?: string; /** *The list of columns after all transforms. These columns are available in templates, * analyses, and dashboards.
*/ OutputColumns?: OutputColumn[]; /** *A list of resource permissions on the dataset.
* * @minItems 1 * @maxItems 64 */ Permissions?: [ResourcePermission, ...ResourcePermission[]]; PhysicalTableMap?: PhysicalTableMap; RowLevelPermissionDataSet?: RowLevelPermissionDataSet; /** *Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.
* * @minItems 1 * @maxItems 200 */ Tags?: [Tag, ...Tag[]]; IngestionWaitPolicy?: IngestionWaitPolicy; DataSetUsageConfiguration?: DataSetUsageConfiguration; } /** *Groupings of columns that work together in certain Amazon QuickSight features. This is * a variant type structure. For this structure to be valid, only one of the attributes can * be non-null.
*/ export interface ColumnGroup { GeoSpatialColumnGroup?: GeoSpatialColumnGroup; [k: string]: unknown; } /** *Geospatial column group that denotes a hierarchy.
*/ export interface GeoSpatialColumnGroup { /** *Columns in this hierarchy.
* * @minItems 1 * @maxItems 16 */ Columns: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; CountryCode?: GeoSpatialCountryCode; /** *A display name for the hierarchy.
*/ Name: string; [k: string]: unknown; } export interface ColumnLevelPermissionRule { /** * @minItems 1 */ ColumnNames?: [string, ...string[]]; /** * @minItems 1 * @maxItems 100 */ Principals?: [string, ...string[]]; [k: string]: unknown; } export interface FieldFolderMap { [k: string]: FieldFolder; } /** * This interface was referenced by `FieldFolderMap`'s JSON-Schema definition * via the `patternProperty` ".+". */ export interface FieldFolder { Description?: string; /** * @minItems 0 * @maxItems 5000 */ Columns?: string[]; [k: string]: unknown; } export interface LogicalTableMap { [k: string]: LogicalTable; } /** *A logical table is a unit that joins and that data * transformations operate on. A logical table has a source, which can be either a physical * table or result of a join. When a logical table points to a physical table, the logical * table acts as a mutable copy of that physical table through transform operations.
* * This interface was referenced by `LogicalTableMap`'s JSON-Schema definition * via the `patternProperty` "[0-9a-zA-Z-]*". */ export interface LogicalTable { /** *A display name for the logical table.
*/ Alias: string; /** *Transform operations that act on this logical table.
* * @minItems 1 * @maxItems 2048 */ DataTransforms?: [TransformOperation, ...TransformOperation[]]; Source: LogicalTableSource; [k: string]: unknown; } /** *A data transformation on a logical table. This is a variant type structure. For this * structure to be valid, only one of the attributes can be non-null.
*/ export interface TransformOperation { TagColumnOperation?: TagColumnOperation; FilterOperation?: FilterOperation; CastColumnTypeOperation?: CastColumnTypeOperation; CreateColumnsOperation?: CreateColumnsOperation; RenameColumnOperation?: RenameColumnOperation; ProjectOperation?: ProjectOperation; [k: string]: unknown; } /** *A transform operation that tags a column with additional information.
*/ export interface TagColumnOperation { /** *The column that this operation acts on.
*/ ColumnName: string; /** *The dataset column tag, currently only used for geospatial type tagging. .
*This is not tags for the AWS tagging feature. .
*A tag for a column in a TagColumnOperation structure. This is a * variant type structure. For this structure to be valid, only one of the attributes can * be non-null.
*/ export interface ColumnTag { ColumnGeographicRole?: GeoSpatialDataRole; ColumnDescription?: ColumnDescription; [k: string]: unknown; } /** *Metadata that contains a description for a column.
*/ export interface ColumnDescription { /** *The text of a description for a column.
*/ Text?: string; [k: string]: unknown; } /** *A transform operation that filters rows based on a condition.
*/ export interface FilterOperation { /** *An expression that must evaluate to a Boolean value. Rows for which the expression * evaluates to true are kept in the dataset.
*/ ConditionExpression: string; [k: string]: unknown; } /** *A transform operation that casts a column to a different type.
*/ export interface CastColumnTypeOperation { /** *Column name.
*/ ColumnName: string; /** *When casting a column from string to datetime type, you can supply a string in a * format supported by Amazon QuickSight to denote the source data format.
*/ Format?: string; NewColumnType: ColumnDataType; [k: string]: unknown; } /** *A transform operation that creates calculated columns. Columns created in one such * operation form a lexical closure.
*/ export interface CreateColumnsOperation { /** *Calculated columns to create.
* * @minItems 1 * @maxItems 128 */ Columns: [CalculatedColumn, ...CalculatedColumn[]]; [k: string]: unknown; } /** *A calculated column for a dataset.
*/ export interface CalculatedColumn { /** *A unique ID to identify a calculated column. During a dataset update, if the column ID * of a calculated column matches that of an existing calculated column, Amazon QuickSight * preserves the existing calculated column.
*/ ColumnId: string; /** *Column name.
*/ ColumnName: string; /** *An expression that defines the calculated column.
*/ Expression: string; [k: string]: unknown; } /** *A transform operation that renames a column.
*/ export interface RenameColumnOperation { /** *The new name for the column.
*/ NewColumnName: string; /** *The name of the column to be renamed.
*/ ColumnName: string; [k: string]: unknown; } /** *A transform operation that projects columns. Operations that come after a projection * can only refer to projected columns.
*/ export interface ProjectOperation { /** *Projected columns.
* * @minItems 1 * @maxItems 2000 */ ProjectedColumns: [string, ...string[]]; [k: string]: unknown; } /** *Information about the source of a logical table. This is a variant type structure. For * this structure to be valid, only one of the attributes can be non-null.
*/ export interface LogicalTableSource { /** *Physical table ID.
*/ PhysicalTableId?: string; JoinInstruction?: JoinInstruction; /** *The Amazon Resource Name (ARN) for the dataset.
*/ DataSetArn?: string; [k: string]: unknown; } /** *Join instruction.
*/ export interface JoinInstruction { /** *On Clause.
*/ OnClause: string; Type: JoinType; LeftJoinKeyProperties?: JoinKeyProperties; /** *Left operand.
*/ LeftOperand: string; /** *Right operand.
*/ RightOperand: string; RightJoinKeyProperties?: JoinKeyProperties; [k: string]: unknown; } export interface JoinKeyProperties { UniqueKey?: boolean; [k: string]: unknown; } /** *Output column.
*/ export interface OutputColumn { Type?: ColumnDataType; /** *A description for a column.
*/ Description?: string; /** *A display name for the dataset.
*/ Name?: string; [k: string]: unknown; } /** *Permission for the resource.
*/ export interface ResourcePermission { /** *The IAM action to grant or revoke permissions on.
* * @minItems 1 * @maxItems 16 */ Actions: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; /** *The Amazon Resource Name (ARN) of the principal. This can be one of the * following:
*The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)
*The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)
*The ARN of an AWS account root: This is an IAM ARN rather than a QuickSight * ARN. Use this option only to share resources (templates) across AWS accounts. * (This is less common.)
*A view of a data source that contains information about the shape of the data in the * underlying source. This is a variant type structure. For this structure to be valid, * only one of the attributes can be non-null.
* * This interface was referenced by `PhysicalTableMap`'s JSON-Schema definition * via the `patternProperty` "[0-9a-zA-Z-]*". */ export interface PhysicalTable { RelationalTable?: RelationalTable; CustomSql?: CustomSql; S3Source?: S3Source; [k: string]: unknown; } /** *A physical table type for relational data sources.
*/ export interface RelationalTable { /** *The Amazon Resource Name (ARN) for the data source.
*/ DataSourceArn: string; /** *The column schema of the table.
* * @minItems 1 * @maxItems 2048 */ InputColumns: [InputColumn, ...InputColumn[]]; /** *The schema name. This name applies to certain relational database engines.
*/ Schema?: string; /** *The catalog associated with a table.
*/ Catalog?: string; /** *The name of the relational table.
*/ Name: string; [k: string]: unknown; } /** *Metadata for a column that is used as the input of a transform operation.
*/ export interface InputColumn { Type: InputColumnDataType; /** *The name of this column in the underlying data source.
*/ Name: string; [k: string]: unknown; } /** *A physical table type built from the results of the custom SQL query.
*/ export interface CustomSql { /** *The Amazon Resource Name (ARN) of the data source.
*/ DataSourceArn: string; /** *The SQL query.
*/ SqlQuery: string; /** *The column schema from the SQL query result set.
* * @minItems 1 * @maxItems 2048 */ Columns: [InputColumn, ...InputColumn[]]; /** *A display name for the SQL query result.
*/ Name: string; [k: string]: unknown; } /** *A physical table type for as S3 data source.
*/ export interface S3Source { /** *The amazon Resource Name (ARN) for the data source.
*/ DataSourceArn: string; /** *A physical table type for as S3 data source.
* * @minItems 1 * @maxItems 2048 */ InputColumns: [InputColumn, ...InputColumn[]]; UploadSettings?: UploadSettings; [k: string]: unknown; } /** *Information about the format for a source file or files.
*/ export interface UploadSettings { /** *Whether the file has a header row, or the files each have a header row.
*/ ContainsHeader?: boolean; TextQualifier?: TextQualifier; Format?: FileFormat; /** *A row number to start reading data from.
*/ StartFromRow?: number; /** *The delimiter between values in the file.
*/ Delimiter?: string; [k: string]: unknown; } /** *The row-level security configuration for the dataset.
*/ export interface RowLevelPermissionDataSet { /** *The Amazon Resource Name (ARN) of the permission dataset.
*/ Arn: string; /** *The namespace associated with the row-level permissions dataset.
*/ Namespace?: string; PermissionPolicy: RowLevelPermissionPolicy; FormatVersion?: RowLevelPermissionFormatVersion; [k: string]: unknown; } /** *The key or keys of the key-value pairs for the resource tag or tags assigned to the * resource.
*/ export interface Tag { /** *Tag value.
*/ Value: string; /** *Tag key.
*/ Key: string; [k: string]: unknown; } /** *Wait policy to use when creating/updating dataset. Default is to wait for SPICE ingestion to finish with timeout of 36 hours.
*/ export interface IngestionWaitPolicy { /** *Wait for SPICE ingestion to finish to mark dataset creation/update successful. Default (true). * Applicable only when DataSetImportMode mode is set to SPICE.
*/ WaitForSpiceIngestion?: boolean; /** *The maximum time (in hours) to wait for Ingestion to complete. Default timeout is 36 hours. * Applicable only when DataSetImportMode mode is set to SPICE and WaitForSpiceIngestion is set to true.
*/ IngestionWaitTimeInHours?: number; [k: string]: unknown; } /** *The dataset usage configuration for the dataset.
*/ export interface DataSetUsageConfiguration { DisableUseAsDirectQuerySource?: boolean; DisableUseAsImportedSource?: boolean; [k: string]: unknown; }