import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class TargetGroupInfo { Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OnPremisesTagSetListObject { OnPremisesTagGroup ? : List < TagFilter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeploymentStyle { DeploymentOption ? : Value < string > ; DeploymentType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EC2TagFilter { Key ? : Value < string > ; Type ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OnPremisesTagSet { OnPremisesTagSetList ? : List < OnPremisesTagSetListObject > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LoadBalancerInfo { ElbInfoList ? : List < ELBInfo > ; TargetGroupInfoList ? : List < TargetGroupInfo > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RevisionLocation { GitHubLocation ? : GitHubLocation ; RevisionType ? : Value < string > ; S3Location ? : S3Location ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TriggerConfig { TriggerEvents ? : List < Value < string > > ; TriggerName ? : Value < string > ; TriggerTargetArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EC2TagSet { Ec2TagSetList ? : List < EC2TagSetListObject > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AlarmConfiguration { Alarms ? : List < Alarm > ; Enabled ? : Value < boolean > ; IgnorePollAlarmFailure ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AutoRollbackConfiguration { Enabled ? : Value < boolean > ; Events ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3Location { Bucket ! : Value < string > ; BundleType ? : Value < string > ; ETag ? : Value < string > ; Key ! : Value < string > ; Version ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TagFilter { Key ? : Value < string > ; Type ? : Value < string > ; Value ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GitHubLocation { CommitId ! : Value < string > ; Repository ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ELBInfo { Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Alarm { Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Deployment { Description ? : Value < string > ; IgnoreApplicationStopFailures ? : Value < boolean > ; Revision ! : RevisionLocation ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EC2TagSetListObject { Ec2TagGroup ? : List < EC2TagFilter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DeploymentGroupProperties { AlarmConfiguration ? : AlarmConfiguration ; ApplicationName : Value < string > ; AutoRollbackConfiguration ? : AutoRollbackConfiguration ; AutoScalingGroups ? : List < Value < string > > ; Deployment ? : Deployment ; DeploymentConfigName ? : Value < string > ; DeploymentGroupName ? : Value < string > ; DeploymentStyle ? : DeploymentStyle ; Ec2TagFilters ? : List < EC2TagFilter > ; Ec2TagSet ? : EC2TagSet ; LoadBalancerInfo ? : LoadBalancerInfo ; OnPremisesInstanceTagFilters ? : List < TagFilter > ; OnPremisesTagSet ? : OnPremisesTagSet ; ServiceRoleArn : Value < string > ; TriggerConfigurations ? : List < TriggerConfig > ; } export default class DeploymentGroup extends ResourceBase < DeploymentGroupProperties > { static TargetGroupInfo = TargetGroupInfo ; static OnPremisesTagSetListObject = OnPremisesTagSetListObject ; static DeploymentStyle = DeploymentStyle ; static EC2TagFilter = EC2TagFilter ; static OnPremisesTagSet = OnPremisesTagSet ; static LoadBalancerInfo = LoadBalancerInfo ; static RevisionLocation = RevisionLocation ; static TriggerConfig = TriggerConfig ; static EC2TagSet = EC2TagSet ; static AlarmConfiguration = AlarmConfiguration ; static AutoRollbackConfiguration = AutoRollbackConfiguration ; static S3Location = S3Location ; static TagFilter = TagFilter ; static GitHubLocation = GitHubLocation ; static ELBInfo = ELBInfo ; static Alarm = Alarm ; static Deployment = Deployment ; static EC2TagSetListObject = EC2TagSetListObject ; constructor ( properties ) { super ( 'AWS::CodeDeploy::DeploymentGroup' , properties ) ; } }