/* 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. .

*
* * @minItems 1 * @maxItems 16 */ Tags: | [ColumnTag] | [ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ] | [ ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag, ColumnTag ]; [k: string]: unknown; } /** *

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:

* */ Principal: string; [k: string]: unknown; } export interface PhysicalTableMap { [k: string]: PhysicalTable; } /** *

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; }