import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ResourcePermission { Actions ! : List < Value < string > > ; Principal ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TemplateSourceTemplate { Arn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DataSetReference { DataSetArn ! : Value < string > ; DataSetPlaceholder ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TemplateSourceEntity { SourceAnalysis ? : TemplateSourceAnalysis ; SourceTemplate ? : TemplateSourceTemplate ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TemplateSourceAnalysis { DataSetReferences ! : List < DataSetReference > ; Arn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface TemplateProperties { AwsAccountId : Value < string > ; Name ? : Value < string > ; Permissions ? : List < ResourcePermission > ; SourceEntity ? : TemplateSourceEntity ; Tags ? : List < ResourceTag > ; TemplateId : Value < string > ; VersionDescription ? : Value < string > ; } export default class Template extends ResourceBase < TemplateProperties > { static ResourcePermission = ResourcePermission ; static TemplateSourceTemplate = TemplateSourceTemplate ; static DataSetReference = DataSetReference ; static TemplateSourceEntity = TemplateSourceEntity ; static TemplateSourceAnalysis = TemplateSourceAnalysis ; constructor ( properties ) { super ( 'AWS::QuickSight::Template' , properties ) ; } }