import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class InstanceAssociationOutputLocation { S3Location ? : S3OutputLocation ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Target { Key ! : Value < string > ; Values ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3OutputLocation { OutputS3Region ? : Value < string > ; OutputS3BucketName ? : Value < string > ; OutputS3KeyPrefix ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface AssociationProperties { AssociationName ? : Value < string > ; DocumentVersion ? : Value < string > ; InstanceId ? : Value < string > ; Name : Value < string > ; Parameters ? : { [ key ] : { [ key ] : any ; } ; } ; ScheduleExpression ? : Value < string > ; Targets ? : List < Target > ; OutputLocation ? : InstanceAssociationOutputLocation ; AutomationTargetParameterName ? : Value < string > ; MaxErrors ? : Value < string > ; MaxConcurrency ? : Value < string > ; ComplianceSeverity ? : Value < string > ; SyncCompliance ? : Value < string > ; WaitForSuccessTimeoutSeconds ? : Value < number > ; ApplyOnlyAtCronInterval ? : Value < boolean > ; CalendarNames ? : List < Value < string > > ; } export default class Association extends ResourceBase < AssociationProperties > { static InstanceAssociationOutputLocation = InstanceAssociationOutputLocation ; static Target = Target ; static S3OutputLocation = S3OutputLocation ; constructor ( properties ) { super ( 'AWS::SSM::Association' , properties ) ; } }