VaporShell.ElasticBeanstalk.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 'ElasticBeanstalkEnvironmentOptionSetting'"

class ElasticBeanstalkEnvironmentOptionSetting : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkEnvironmentOptionSetting'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html'

    hidden [object] $_namespace
    hidden [object] $_optionName
    hidden [object] $_resourceName
    hidden [object] $_value

    [string] $Namespace
    [string] $OptionName
    [string] $ResourceName
    [string] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Namespace -Value {
            $this._namespace
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._namespace = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OptionName -Value {
            $this._optionName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._optionName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceName -Value {
            $this._resourceName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceName = 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
            }
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationVersionSourceBundle'"

class ElasticBeanstalkApplicationVersionSourceBundle : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkApplicationVersionSourceBundle'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html'

    hidden [object] $_s3Bucket
    hidden [object] $_s3Key

    [string] $S3Bucket
    [string] $S3Key

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

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationMaxAgeRule'"

class ElasticBeanstalkApplicationMaxAgeRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkApplicationMaxAgeRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html'

    hidden [object] $_deleteSourceFromS3
    hidden [object] $_enabled
    hidden [object] $_maxAgeInDays

    [bool] $DeleteSourceFromS3
    [bool] $Enabled
    [int] $MaxAgeInDays

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeleteSourceFromS3 -Value {
            $this._deleteSourceFromS3
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deleteSourceFromS3 = $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 MaxAgeInDays -Value {
            $this._maxAgeInDays
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxAgeInDays = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkConfigurationTemplateSourceConfiguration'"

class ElasticBeanstalkConfigurationTemplateSourceConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkConfigurationTemplateSourceConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html'

    hidden [object] $_applicationName
    hidden [object] $_templateName

    [string] $ApplicationName
    [string] $TemplateName

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

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

Write-Verbose "Importing class 'ElasticBeanstalkEnvironmentTier'"

class ElasticBeanstalkEnvironmentTier : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkEnvironmentTier'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html'

    hidden [object] $_name
    hidden [object] $_type
    hidden [object] $_version

    [string] $Name
    [string] $Type
    [string] $Version

    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
            }
        }
        $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 Version -Value {
            $this._version
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._version = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationApplicationResourceLifecycleConfig'"

class ElasticBeanstalkApplicationApplicationResourceLifecycleConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkApplicationApplicationResourceLifecycleConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html'

    hidden [object] $_serviceRole
    hidden [object] $_versionLifecycleConfig

    [string] $ServiceRole
    [ElasticBeanstalkApplicationApplicationVersionLifecycleConfig] $VersionLifecycleConfig

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

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationApplicationVersionLifecycleConfig'"

class ElasticBeanstalkApplicationApplicationVersionLifecycleConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkApplicationApplicationVersionLifecycleConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html'

    hidden [object] $_maxAgeRule
    hidden [object] $_maxCountRule

    [ElasticBeanstalkApplicationMaxAgeRule] $MaxAgeRule
    [ElasticBeanstalkApplicationMaxCountRule] $MaxCountRule

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxAgeRule -Value {
            $this._maxAgeRule
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkApplicationMaxAgeRule], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxAgeRule = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxCountRule -Value {
            $this._maxCountRule
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkApplicationMaxCountRule], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxCountRule = $value
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting'"

class ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkConfigurationTemplateConfigurationOptionSetting'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html'

    hidden [object] $_namespace
    hidden [object] $_optionName
    hidden [object] $_resourceName
    hidden [object] $_value

    [string] $Namespace
    [string] $OptionName
    [string] $ResourceName
    [string] $Value

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Namespace -Value {
            $this._namespace
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._namespace = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OptionName -Value {
            $this._optionName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._optionName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceName -Value {
            $this._resourceName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceName = 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
            }
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationMaxCountRule'"

class ElasticBeanstalkApplicationMaxCountRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSElasticBeanstalkApplicationMaxCountRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html'

    hidden [object] $_deleteSourceFromS3
    hidden [object] $_enabled
    hidden [object] $_maxCount

    [bool] $DeleteSourceFromS3
    [bool] $Enabled
    [int] $MaxCount

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeleteSourceFromS3 -Value {
            $this._deleteSourceFromS3
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deleteSourceFromS3 = $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 MaxCount -Value {
            $this._maxCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkConfigurationTemplate'"

class ElasticBeanstalkConfigurationTemplate : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSElasticBeanstalkConfigurationTemplate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::ElasticBeanstalk::ConfigurationTemplate'
    [string] $ApplicationName
    [string] $Description
    [string] $EnvironmentId
    [ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting[]] $OptionSettings
    [string] $PlatformArn
    [string] $SolutionStackName
    [ElasticBeanstalkConfigurationTemplateSourceConfiguration] $SourceConfiguration
    [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 Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnvironmentId -Value {
            $this.Properties['EnvironmentId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EnvironmentId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OptionSettings -Value {
            $this.Properties['OptionSettings']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkConfigurationTemplateConfigurationOptionSetting], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['OptionSettings'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PlatformArn -Value {
            $this.Properties['PlatformArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PlatformArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SolutionStackName -Value {
            $this.Properties['SolutionStackName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SolutionStackName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceConfiguration -Value {
            $this.Properties['SourceConfiguration']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkConfigurationTemplateSourceConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkApplication'"

class ElasticBeanstalkApplication : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSElasticBeanstalkApplication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::ElasticBeanstalk::Application'
    [string] $ApplicationName
    [string] $Description
    [ElasticBeanstalkApplicationApplicationResourceLifecycleConfig] $ResourceLifecycleConfig
    [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 Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceLifecycleConfig -Value {
            $this.Properties['ResourceLifecycleConfig']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkApplicationApplicationResourceLifecycleConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ResourceLifecycleConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkEnvironment'"

class ElasticBeanstalkEnvironment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSElasticBeanstalkEnvironment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html'

    hidden [string[]] $_attributes = @('EndpointURL')
    hidden [object] $_condition

    [string] $Type = 'AWS::ElasticBeanstalk::Environment'
    [string] $ApplicationName
    [string] $CNAMEPrefix
    [string] $Description
    [string] $EnvironmentName
    [string] $OperationsRole
    [ElasticBeanstalkEnvironmentOptionSetting[]] $OptionSettings
    [string] $PlatformArn
    [string] $SolutionStackName
    [VSTag[]] $Tags
    [string] $TemplateName
    [ElasticBeanstalkEnvironmentTier] $Tier
    [string] $VersionLabel
    [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 CNAMEPrefix -Value {
            $this.Properties['CNAMEPrefix']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CNAMEPrefix'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnvironmentName -Value {
            $this.Properties['EnvironmentName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EnvironmentName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OperationsRole -Value {
            $this.Properties['OperationsRole']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['OperationsRole'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OptionSettings -Value {
            $this.Properties['OptionSettings']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkEnvironmentOptionSetting], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['OptionSettings'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PlatformArn -Value {
            $this.Properties['PlatformArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PlatformArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SolutionStackName -Value {
            $this.Properties['SolutionStackName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SolutionStackName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TemplateName -Value {
            $this.Properties['TemplateName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TemplateName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tier -Value {
            $this.Properties['Tier']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkEnvironmentTier], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Tier'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VersionLabel -Value {
            $this.Properties['VersionLabel']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['VersionLabel'] = 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
        }
    }

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

Write-Verbose "Importing class 'ElasticBeanstalkApplicationVersion'"

class ElasticBeanstalkApplicationVersion : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSElasticBeanstalkApplicationVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::ElasticBeanstalk::ApplicationVersion'
    [string] $ApplicationName
    [string] $Description
    [ElasticBeanstalkApplicationVersionSourceBundle] $SourceBundle
    [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 Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceBundle -Value {
            $this.Properties['SourceBundle']
        } -SecondValue {
            param([ValidateType(([ElasticBeanstalkApplicationVersionSourceBundle], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceBundle'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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