import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class StackInstances { DeploymentTargets ! : DeploymentTargets ; Regions ! : List < Value < string > > ; ParameterOverrides ? : List < Parameter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AutoDeployment { Enabled ? : Value < boolean > ; RetainStacksOnAccountRemoval ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeploymentTargets { Accounts ? : List < Value < string > > ; OrganizationalUnitIds ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OperationPreferences { FailureToleranceCount ? : Value < number > ; FailureTolerancePercentage ? : Value < number > ; MaxConcurrentCount ? : Value < number > ; MaxConcurrentPercentage ? : Value < number > ; RegionOrder ? : List < Value < string > > ; RegionConcurrencyType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Parameter { ParameterKey ! : Value < string > ; ParameterValue ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface StackSetProperties { StackSetName : Value < string > ; AdministrationRoleARN ? : Value < string > ; AutoDeployment ? : AutoDeployment ; Capabilities ? : List < Value < string > > ; Description ? : Value < string > ; ExecutionRoleName ? : Value < string > ; OperationPreferences ? : OperationPreferences ; StackInstancesGroup ? : List < StackInstances > ; Parameters ? : List < Parameter > ; PermissionModel : Value < string > ; Tags ? : List < ResourceTag > ; TemplateBody ? : Value < string > ; TemplateURL ? : Value < string > ; CallAs ? : Value < string > ; } export default class StackSet extends ResourceBase < StackSetProperties > { static StackInstances = StackInstances ; static AutoDeployment = AutoDeployment ; static DeploymentTargets = DeploymentTargets ; static OperationPreferences = OperationPreferences ; static Parameter = Parameter ; constructor ( properties ) { super ( 'AWS::CloudFormation::StackSet' , properties ) ; } }