import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class JoinKeyProperties { UniqueKey ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UploadSettings { ContainsHeader ? : Value < boolean > ; TextQualifier ? : Value < string > ; Format ? : Value < string > ; StartFromRow ? : Value < number > ; Delimiter ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ProjectOperation { ProjectedColumns ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ColumnLevelPermissionRule { ColumnNames ? : List < Value < string > > ; Principals ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CreateColumnsOperation { Columns ! : List < CalculatedColumn > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PhysicalTable { RelationalTable ? : RelationalTable ; CustomSql ? : CustomSql ; S3Source ? : S3Source ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ColumnDescription { Text ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RenameColumnOperation { NewColumnName ! : Value < string > ; ColumnName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ColumnGroup { GeoSpatialColumnGroup ? : GeoSpatialColumnGroup ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GeoSpatialColumnGroup { Columns ! : List < Value < string > > ; CountryCode ? : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RelationalTable { DataSourceArn ! : Value < string > ; InputColumns ! : List < InputColumn > ; Schema ? : Value < string > ; Catalog ? : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputColumn { Type ! : Value < string > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RowLevelPermissionDataSet { Arn ! : Value < string > ; Namespace ? : Value < string > ; PermissionPolicy ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class FilterOperation { ConditionExpression ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CustomSql { DataSourceArn ! : Value < string > ; SqlQuery ! : Value < string > ; Columns ! : List < InputColumn > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourcePermission { Actions ! : List < Value < string > > ; Principal ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class FieldFolder { Description ? : Value < string > ; Columns ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3Source { DataSourceArn ! : Value < string > ; InputColumns ! : List < InputColumn > ; UploadSettings ? : UploadSettings ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LogicalTable { Alias ! : Value < string > ; DataTransforms ? : List < TransformOperation > ; Source ! : LogicalTableSource ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TransformOperation { TagColumnOperation ? : TagColumnOperation ; FilterOperation ? : FilterOperation ; CastColumnTypeOperation ? : CastColumnTypeOperation ; CreateColumnsOperation ? : CreateColumnsOperation ; RenameColumnOperation ? : RenameColumnOperation ; ProjectOperation ? : ProjectOperation ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class JoinInstruction { OnClause ! : Value < string > ; Type ! : Value < string > ; LeftJoinKeyProperties ? : JoinKeyProperties ; LeftOperand ! : Value < string > ; RightOperand ! : Value < string > ; RightJoinKeyProperties ? : JoinKeyProperties ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutputColumn { Type ? : Value < string > ; Description ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ColumnTag { ColumnGeographicRole ? : Value < string > ; ColumnDescription ? : ColumnDescription ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TagColumnOperation { ColumnName ! : Value < string > ; Tags ! : List < ColumnTag > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IngestionWaitPolicy { WaitForSpiceIngestion ? : Value < boolean > ; IngestionWaitTimeInHours ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CalculatedColumn { ColumnId ! : Value < string > ; ColumnName ! : Value < string > ; Expression ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CastColumnTypeOperation { ColumnName ! : Value < string > ; Format ? : Value < string > ; NewColumnType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LogicalTableSource { PhysicalTableId ? : Value < string > ; JoinInstruction ? : JoinInstruction ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DataSetProperties { AwsAccountId ? : Value < string > ; ColumnGroups ? : List < ColumnGroup > ; ColumnLevelPermissionRules ? : List < ColumnLevelPermissionRule > ; DataSetId ? : Value < string > ; FieldFolders ? : { [ key ] : FieldFolder ; } ; ImportMode ? : Value < string > ; LogicalTableMap ? : { [ key ] : LogicalTable ; } ; Name ? : Value < string > ; Permissions ? : List < ResourcePermission > ; PhysicalTableMap ? : { [ key ] : PhysicalTable ; } ; RowLevelPermissionDataSet ? : RowLevelPermissionDataSet ; Tags ? : List < ResourceTag > ; IngestionWaitPolicy ? : IngestionWaitPolicy ; } export default class DataSet extends ResourceBase < DataSetProperties > { static JoinKeyProperties = JoinKeyProperties ; static UploadSettings = UploadSettings ; static ProjectOperation = ProjectOperation ; static ColumnLevelPermissionRule = ColumnLevelPermissionRule ; static CreateColumnsOperation = CreateColumnsOperation ; static PhysicalTable = PhysicalTable ; static ColumnDescription = ColumnDescription ; static RenameColumnOperation = RenameColumnOperation ; static ColumnGroup = ColumnGroup ; static GeoSpatialColumnGroup = GeoSpatialColumnGroup ; static RelationalTable = RelationalTable ; static InputColumn = InputColumn ; static RowLevelPermissionDataSet = RowLevelPermissionDataSet ; static FilterOperation = FilterOperation ; static CustomSql = CustomSql ; static ResourcePermission = ResourcePermission ; static FieldFolder = FieldFolder ; static S3Source = S3Source ; static LogicalTable = LogicalTable ; static TransformOperation = TransformOperation ; static JoinInstruction = JoinInstruction ; static OutputColumn = OutputColumn ; static ColumnTag = ColumnTag ; static TagColumnOperation = TagColumnOperation ; static IngestionWaitPolicy = IngestionWaitPolicy ; static CalculatedColumn = CalculatedColumn ; static CastColumnTypeOperation = CastColumnTypeOperation ; static LogicalTableSource = LogicalTableSource ; constructor ( properties ? ) { super ( 'AWS::QuickSight::DataSet' , properties || { } ) ; } }