import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class AwsOrganizationsSource { OrganizationalUnits ? : List < Value < string > > ; OrganizationSourceType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SyncSource { IncludeFutureRegions ? : Value < boolean > ; SourceRegions ! : List < Value < string > > ; SourceType ! : Value < string > ; AwsOrganizationsSource ? : AwsOrganizationsSource ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3Destination { KMSKeyArn ? : Value < string > ; BucketPrefix ? : Value < string > ; BucketName ! : Value < string > ; BucketRegion ! : Value < string > ; SyncFormat ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ResourceDataSyncProperties { S3Destination ? : S3Destination ; KMSKeyArn ? : Value < string > ; SyncSource ? : SyncSource ; BucketName ? : Value < string > ; BucketRegion ? : Value < string > ; SyncFormat ? : Value < string > ; SyncName : Value < string > ; SyncType ? : Value < string > ; BucketPrefix ? : Value < string > ; } export default class ResourceDataSync extends ResourceBase < ResourceDataSyncProperties > { static AwsOrganizationsSource = AwsOrganizationsSource ; static SyncSource = SyncSource ; static S3Destination = S3Destination ; constructor ( properties ) { super ( 'AWS::SSM::ResourceDataSync' , properties ) ; } }