VaporShell.CodeDeploy.Classes.ps1

using namespace System
using namespace System.Collections
using namespace System.Collections.Generic
using namespace System.IO
using namespace System.Management.Automation
[CmdletBinding()]
Param()

Write-Verbose "Importing class 'CodeDeployDeploymentGroupTargetGroupInfo'"

class CodeDeployDeploymentGroupTargetGroupInfo : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupTargetGroupInfo'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html'

    hidden [object] $_name

    [string] $Name

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupTargetGroupInfo() : base() {}
    CodeDeployDeploymentGroupTargetGroupInfo([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupTargetGroupInfo([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupOnPremisesTagSetListObject'"

class CodeDeployDeploymentGroupOnPremisesTagSetListObject : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupOnPremisesTagSetListObject'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html'

    hidden [object] $_onPremisesTagGroup

    [CodeDeployDeploymentGroupTagFilter[]] $OnPremisesTagGroup

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name OnPremisesTagGroup -Value {
            $this._onPremisesTagGroup
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupTagFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._onPremisesTagGroup = $value
        }
    }

    CodeDeployDeploymentGroupOnPremisesTagSetListObject() : base() {}
    CodeDeployDeploymentGroupOnPremisesTagSetListObject([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupOnPremisesTagSetListObject([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupDeploymentStyle'"

class CodeDeployDeploymentGroupDeploymentStyle : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupDeploymentStyle'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html'

    hidden [object] $_deploymentOption
    hidden [object] $_deploymentType

    [string] $DeploymentOption
    [string] $DeploymentType

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentOption -Value {
            $this._deploymentOption
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deploymentOption = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentType -Value {
            $this._deploymentType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deploymentType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupDeploymentStyle() : base() {}
    CodeDeployDeploymentGroupDeploymentStyle([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupDeploymentStyle([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupEC2TagFilter'"

class CodeDeployDeploymentGroupEC2TagFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupEC2TagFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html'

    hidden [object] $_key
    hidden [object] $_type
    hidden [object] $_value

    [string] $Key
    [string] $Type
    [string] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Key -Value {
            $this._key
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._key = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupEC2TagFilter() : base() {}
    CodeDeployDeploymentGroupEC2TagFilter([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupEC2TagFilter([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupOnPremisesTagSet'"

class CodeDeployDeploymentGroupOnPremisesTagSet : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupOnPremisesTagSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html'

    hidden [object] $_onPremisesTagSetList

    [CodeDeployDeploymentGroupOnPremisesTagSetListObject[]] $OnPremisesTagSetList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name OnPremisesTagSetList -Value {
            $this._onPremisesTagSetList
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupOnPremisesTagSetListObject], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._onPremisesTagSetList = $value
        }
    }

    CodeDeployDeploymentGroupOnPremisesTagSet() : base() {}
    CodeDeployDeploymentGroupOnPremisesTagSet([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupOnPremisesTagSet([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupLoadBalancerInfo'"

class CodeDeployDeploymentGroupLoadBalancerInfo : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupLoadBalancerInfo'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html'

    hidden [object] $_elbInfoList
    hidden [object] $_targetGroupInfoList

    [CodeDeployDeploymentGroupELBInfo[]] $ElbInfoList
    [CodeDeployDeploymentGroupTargetGroupInfo[]] $TargetGroupInfoList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ElbInfoList -Value {
            $this._elbInfoList
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupELBInfo], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._elbInfoList = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetGroupInfoList -Value {
            $this._targetGroupInfoList
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupTargetGroupInfo], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._targetGroupInfoList = $value
        }
    }

    CodeDeployDeploymentGroupLoadBalancerInfo() : base() {}
    CodeDeployDeploymentGroupLoadBalancerInfo([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupLoadBalancerInfo([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupRevisionLocation'"

class CodeDeployDeploymentGroupRevisionLocation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupRevisionLocation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html'

    hidden [object] $_gitHubLocation
    hidden [object] $_revisionType
    hidden [object] $_s3Location

    [CodeDeployDeploymentGroupGitHubLocation] $GitHubLocation
    [string] $RevisionType
    [CodeDeployDeploymentGroupS3Location] $S3Location

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name GitHubLocation -Value {
            $this._gitHubLocation
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupGitHubLocation], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._gitHubLocation = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RevisionType -Value {
            $this._revisionType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._revisionType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Location -Value {
            $this._s3Location
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupS3Location], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Location = $value
        }
    }

    CodeDeployDeploymentGroupRevisionLocation() : base() {}
    CodeDeployDeploymentGroupRevisionLocation([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupRevisionLocation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupTriggerConfig'"

class CodeDeployDeploymentGroupTriggerConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupTriggerConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html'

    hidden [object] $_triggerEvents
    hidden [object] $_triggerName
    hidden [object] $_triggerTargetArn

    [string[]] $TriggerEvents
    [string] $TriggerName
    [string] $TriggerTargetArn

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name TriggerEvents -Value {
            $this._triggerEvents
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._triggerEvents = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TriggerName -Value {
            $this._triggerName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._triggerName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TriggerTargetArn -Value {
            $this._triggerTargetArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._triggerTargetArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupTriggerConfig() : base() {}
    CodeDeployDeploymentGroupTriggerConfig([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupTriggerConfig([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupEC2TagSet'"

class CodeDeployDeploymentGroupEC2TagSet : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupEC2TagSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html'

    hidden [object] $_ec2TagSetList

    [CodeDeployDeploymentGroupEC2TagSetListObject[]] $Ec2TagSetList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Ec2TagSetList -Value {
            $this._ec2TagSetList
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupEC2TagSetListObject], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._ec2TagSetList = $value
        }
    }

    CodeDeployDeploymentGroupEC2TagSet() : base() {}
    CodeDeployDeploymentGroupEC2TagSet([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupEC2TagSet([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupAlarmConfiguration'"

class CodeDeployDeploymentGroupAlarmConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupAlarmConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html'

    hidden [object] $_alarms
    hidden [object] $_enabled
    hidden [object] $_ignorePollAlarmFailure

    [CodeDeployDeploymentGroupAlarm[]] $Alarms
    [bool] $Enabled
    [bool] $IgnorePollAlarmFailure

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Alarms -Value {
            $this._alarms
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupAlarm], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._alarms = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IgnorePollAlarmFailure -Value {
            $this._ignorePollAlarmFailure
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ignorePollAlarmFailure = $value
        }
    }

    CodeDeployDeploymentGroupAlarmConfiguration() : base() {}
    CodeDeployDeploymentGroupAlarmConfiguration([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupAlarmConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentConfigMinimumHealthyHosts'"

class CodeDeployDeploymentConfigMinimumHealthyHosts : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentConfigMinimumHealthyHosts'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html'

    hidden [object] $_type
    hidden [object] $_value

    [string] $Type
    [int] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentConfigMinimumHealthyHosts() : base() {}
    CodeDeployDeploymentConfigMinimumHealthyHosts([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentConfigMinimumHealthyHosts([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupAutoRollbackConfiguration'"

class CodeDeployDeploymentGroupAutoRollbackConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupAutoRollbackConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html'

    hidden [object] $_enabled
    hidden [object] $_events

    [bool] $Enabled
    [string[]] $Events

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Events -Value {
            $this._events
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._events = @($value)
        }
    }

    CodeDeployDeploymentGroupAutoRollbackConfiguration() : base() {}
    CodeDeployDeploymentGroupAutoRollbackConfiguration([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupAutoRollbackConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupS3Location'"

class CodeDeployDeploymentGroupS3Location : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupS3Location'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html'

    hidden [object] $_bucket
    hidden [object] $_bundleType
    hidden [object] $_eTag
    hidden [object] $_key
    hidden [object] $_version

    [string] $Bucket
    [string] $BundleType
    [string] $ETag
    [string] $Key
    [string] $Version

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Bucket -Value {
            $this._bucket
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucket = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BundleType -Value {
            $this._bundleType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bundleType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ETag -Value {
            $this._eTag
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._eTag = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Key -Value {
            $this._key
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._key = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Version -Value {
            $this._version
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._version = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupS3Location() : base() {}
    CodeDeployDeploymentGroupS3Location([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupS3Location([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupTagFilter'"

class CodeDeployDeploymentGroupTagFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupTagFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html'

    hidden [object] $_key
    hidden [object] $_type
    hidden [object] $_value

    [string] $Key
    [string] $Type
    [string] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Key -Value {
            $this._key
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._key = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupTagFilter() : base() {}
    CodeDeployDeploymentGroupTagFilter([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupTagFilter([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupGitHubLocation'"

class CodeDeployDeploymentGroupGitHubLocation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupGitHubLocation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html'

    hidden [object] $_commitId
    hidden [object] $_repository

    [string] $CommitId
    [string] $Repository

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CommitId -Value {
            $this._commitId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._commitId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Repository -Value {
            $this._repository
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._repository = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupGitHubLocation() : base() {}
    CodeDeployDeploymentGroupGitHubLocation([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupGitHubLocation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupELBInfo'"

class CodeDeployDeploymentGroupELBInfo : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupELBInfo'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html'

    hidden [object] $_name

    [string] $Name

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupELBInfo() : base() {}
    CodeDeployDeploymentGroupELBInfo([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupELBInfo([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupAlarm'"

class CodeDeployDeploymentGroupAlarm : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupAlarm'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html'

    hidden [object] $_name

    [string] $Name

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    CodeDeployDeploymentGroupAlarm() : base() {}
    CodeDeployDeploymentGroupAlarm([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupAlarm([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupDeployment'"

class CodeDeployDeploymentGroupDeployment : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupDeployment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html'

    hidden [object] $_description
    hidden [object] $_ignoreApplicationStopFailures
    hidden [object] $_revision

    [string] $Description
    [bool] $IgnoreApplicationStopFailures
    [CodeDeployDeploymentGroupRevisionLocation] $Revision

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this._description
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._description = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IgnoreApplicationStopFailures -Value {
            $this._ignoreApplicationStopFailures
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ignoreApplicationStopFailures = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Revision -Value {
            $this._revision
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupRevisionLocation], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._revision = $value
        }
    }

    CodeDeployDeploymentGroupDeployment() : base() {}
    CodeDeployDeploymentGroupDeployment([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupDeployment([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroupEC2TagSetListObject'"

class CodeDeployDeploymentGroupEC2TagSetListObject : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeDeployDeploymentGroupEC2TagSetListObject'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html'

    hidden [object] $_ec2TagGroup

    [CodeDeployDeploymentGroupEC2TagFilter[]] $Ec2TagGroup

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Ec2TagGroup -Value {
            $this._ec2TagGroup
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupEC2TagFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._ec2TagGroup = $value
        }
    }

    CodeDeployDeploymentGroupEC2TagSetListObject() : base() {}
    CodeDeployDeploymentGroupEC2TagSetListObject([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroupEC2TagSetListObject([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentConfig'"

class CodeDeployDeploymentConfig : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeDeployDeploymentConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::CodeDeploy::DeploymentConfig'
    [string] $DeploymentConfigName
    [CodeDeployDeploymentConfigMinimumHealthyHosts] $MinimumHealthyHosts
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentConfigName -Value {
            $this.Properties['DeploymentConfigName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentConfigName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MinimumHealthyHosts -Value {
            $this.Properties['MinimumHealthyHosts']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentConfigMinimumHealthyHosts], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MinimumHealthyHosts'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    CodeDeployDeploymentConfig() : base() {}
    CodeDeployDeploymentConfig([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentConfig([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployApplication'"

class CodeDeployApplication : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeDeployApplication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::CodeDeploy::Application'
    [string] $ApplicationName
    [string] $ComputePlatform
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationName -Value {
            $this.Properties['ApplicationName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComputePlatform -Value {
            $this.Properties['ComputePlatform']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ComputePlatform'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    CodeDeployApplication() : base() {}
    CodeDeployApplication([IDictionary] $props) : base($props) {}
    CodeDeployApplication([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'CodeDeployDeploymentGroup'"

class CodeDeployDeploymentGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeDeployDeploymentGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::CodeDeploy::DeploymentGroup'
    [CodeDeployDeploymentGroupAlarmConfiguration] $AlarmConfiguration
    [string] $ApplicationName
    [CodeDeployDeploymentGroupAutoRollbackConfiguration] $AutoRollbackConfiguration
    [string[]] $AutoScalingGroups
    [CodeDeployDeploymentGroupDeployment] $Deployment
    [string] $DeploymentConfigName
    [string] $DeploymentGroupName
    [CodeDeployDeploymentGroupDeploymentStyle] $DeploymentStyle
    [CodeDeployDeploymentGroupEC2TagFilter[]] $Ec2TagFilters
    [CodeDeployDeploymentGroupEC2TagSet] $Ec2TagSet
    [CodeDeployDeploymentGroupLoadBalancerInfo] $LoadBalancerInfo
    [CodeDeployDeploymentGroupTagFilter[]] $OnPremisesInstanceTagFilters
    [CodeDeployDeploymentGroupOnPremisesTagSet] $OnPremisesTagSet
    [string] $ServiceRoleArn
    [CodeDeployDeploymentGroupTriggerConfig[]] $TriggerConfigurations
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name AlarmConfiguration -Value {
            $this.Properties['AlarmConfiguration']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupAlarmConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AlarmConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationName -Value {
            $this.Properties['ApplicationName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutoRollbackConfiguration -Value {
            $this.Properties['AutoRollbackConfiguration']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupAutoRollbackConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AutoRollbackConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutoScalingGroups -Value {
            $this.Properties['AutoScalingGroups']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['AutoScalingGroups'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Deployment -Value {
            $this.Properties['Deployment']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupDeployment], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Deployment'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentConfigName -Value {
            $this.Properties['DeploymentConfigName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentConfigName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentGroupName -Value {
            $this.Properties['DeploymentGroupName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentGroupName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentStyle -Value {
            $this.Properties['DeploymentStyle']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupDeploymentStyle], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentStyle'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Ec2TagFilters -Value {
            $this.Properties['Ec2TagFilters']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupEC2TagFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Ec2TagFilters'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Ec2TagSet -Value {
            $this.Properties['Ec2TagSet']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupEC2TagSet], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Ec2TagSet'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LoadBalancerInfo -Value {
            $this.Properties['LoadBalancerInfo']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupLoadBalancerInfo], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LoadBalancerInfo'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OnPremisesInstanceTagFilters -Value {
            $this.Properties['OnPremisesInstanceTagFilters']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupTagFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['OnPremisesInstanceTagFilters'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OnPremisesTagSet -Value {
            $this.Properties['OnPremisesTagSet']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupOnPremisesTagSet], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['OnPremisesTagSet'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceRoleArn -Value {
            $this.Properties['ServiceRoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ServiceRoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TriggerConfigurations -Value {
            $this.Properties['TriggerConfigurations']
        } -SecondValue {
            param([ValidateType(([CodeDeployDeploymentGroupTriggerConfig], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['TriggerConfigurations'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    CodeDeployDeploymentGroup() : base() {}
    CodeDeployDeploymentGroup([IDictionary] $props) : base($props) {}
    CodeDeployDeploymentGroup([psobject] $props) : base($props) {}
}