VaporShell.AppConfig.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 'AppConfigDeploymentTags'"

class AppConfigDeploymentTags : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigDeploymentTags'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-tags.html'

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

    [string] $Value
    [string] $Key

    hidden [void] _addAccessors() {
        $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
            }
        }
        $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
            }
        }
    }

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

Write-Verbose "Importing class 'AppConfigDeploymentStrategyTags'"

class AppConfigDeploymentStrategyTags : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigDeploymentStrategyTags'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deploymentstrategy-tags.html'

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

    [string] $Value
    [string] $Key

    hidden [void] _addAccessors() {
        $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
            }
        }
        $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
            }
        }
    }

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

Write-Verbose "Importing class 'AppConfigEnvironmentTags'"

class AppConfigEnvironmentTags : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigEnvironmentTags'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-tags.html'

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

    [string] $Value
    [string] $Key

    hidden [void] _addAccessors() {
        $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
            }
        }
        $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
            }
        }
    }

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

Write-Verbose "Importing class 'AppConfigApplicationTags'"

class AppConfigApplicationTags : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigApplicationTags'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-application-tags.html'

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

    [string] $Value
    [string] $Key

    hidden [void] _addAccessors() {
        $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
            }
        }
        $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
            }
        }
    }

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

Write-Verbose "Importing class 'AppConfigConfigurationProfileTags'"

class AppConfigConfigurationProfileTags : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigConfigurationProfileTags'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-tags.html'

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

    [string] $Value
    [string] $Key

    hidden [void] _addAccessors() {
        $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
            }
        }
        $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
            }
        }
    }

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

Write-Verbose "Importing class 'AppConfigEnvironmentMonitors'"

class AppConfigEnvironmentMonitors : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigEnvironmentMonitors'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html'

    hidden [object] $_alarmArn
    hidden [object] $_alarmRoleArn

    [string] $AlarmArn
    [string] $AlarmRoleArn

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

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

Write-Verbose "Importing class 'AppConfigConfigurationProfileValidators'"

class AppConfigConfigurationProfileValidators : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppConfigConfigurationProfileValidators'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html'

    hidden [object] $_type
    hidden [object] $_content

    [string] $Type
    [string] $Content

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

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

Write-Verbose "Importing class 'AppConfigEnvironment'"

class AppConfigEnvironment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppConfigEnvironment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::Environment'
    [string] $Description
    [AppConfigEnvironmentMonitors[]] $Monitors
    [string] $ApplicationId
    [AppConfigEnvironmentTags[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $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 Monitors -Value {
            $this.Properties['Monitors']
        } -SecondValue {
            param([ValidateType(([AppConfigEnvironmentMonitors], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Monitors'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationId -Value {
            $this.Properties['ApplicationId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([AppConfigEnvironmentTags], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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
        }
    }

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

Write-Verbose "Importing class 'AppConfigDeploymentStrategy'"

class AppConfigDeploymentStrategy : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppConfigDeploymentStrategy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::DeploymentStrategy'
    [string] $ReplicateTo
    [string] $GrowthType
    [string] $Description
    [double] $DeploymentDurationInMinutes
    [double] $GrowthFactor
    [double] $FinalBakeTimeInMinutes
    [AppConfigDeploymentStrategyTags[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReplicateTo -Value {
            $this.Properties['ReplicateTo']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReplicateTo'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrowthType -Value {
            $this.Properties['GrowthType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GrowthType'] = 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 DeploymentDurationInMinutes -Value {
            $this.Properties['DeploymentDurationInMinutes']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentDurationInMinutes'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrowthFactor -Value {
            $this.Properties['GrowthFactor']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GrowthFactor'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FinalBakeTimeInMinutes -Value {
            $this.Properties['FinalBakeTimeInMinutes']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FinalBakeTimeInMinutes'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([AppConfigDeploymentStrategyTags], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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
        }
    }

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

Write-Verbose "Importing class 'AppConfigDeployment'"

class AppConfigDeployment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppConfigDeployment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::Deployment'
    [string] $DeploymentStrategyId
    [string] $ConfigurationProfileId
    [string] $EnvironmentId
    [string] $Description
    [string] $ConfigurationVersion
    [string] $ApplicationId
    [AppConfigDeploymentTags[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentStrategyId -Value {
            $this.Properties['DeploymentStrategyId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeploymentStrategyId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConfigurationProfileId -Value {
            $this.Properties['ConfigurationProfileId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigurationProfileId'] = 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 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 ConfigurationVersion -Value {
            $this.Properties['ConfigurationVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigurationVersion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationId -Value {
            $this.Properties['ApplicationId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([AppConfigDeploymentTags], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'AppConfigHostedConfigurationVersion'"

class AppConfigHostedConfigurationVersion : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppConfigHostedConfigurationVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::HostedConfigurationVersion'
    [string] $ConfigurationProfileId
    [string] $Description
    [string] $ContentType
    [double] $LatestVersionNumber
    [string] $Content
    [string] $ApplicationId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConfigurationProfileId -Value {
            $this.Properties['ConfigurationProfileId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigurationProfileId'] = 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 ContentType -Value {
            $this.Properties['ContentType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ContentType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LatestVersionNumber -Value {
            $this.Properties['LatestVersionNumber']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LatestVersionNumber'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Content -Value {
            $this.Properties['Content']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Content'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationId -Value {
            $this.Properties['ApplicationId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationId'] = 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
        }
    }

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

Write-Verbose "Importing class 'AppConfigConfigurationProfile'"

class AppConfigConfigurationProfile : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppConfigConfigurationProfile'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::ConfigurationProfile'
    [string] $LocationUri
    [string] $ConfigurationProfileType
    [string] $Description
    [AppConfigConfigurationProfileValidators[]] $Validators
    [string] $RetrievalRoleArn
    [string] $ApplicationId
    [AppConfigConfigurationProfileTags[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name LocationUri -Value {
            $this.Properties['LocationUri']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LocationUri'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConfigurationProfileType -Value {
            $this.Properties['ConfigurationProfileType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigurationProfileType'] = 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 Validators -Value {
            $this.Properties['Validators']
        } -SecondValue {
            param([ValidateType(([AppConfigConfigurationProfileValidators], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Validators'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetrievalRoleArn -Value {
            $this.Properties['RetrievalRoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RetrievalRoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationId -Value {
            $this.Properties['ApplicationId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([AppConfigConfigurationProfileTags], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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
        }
    }

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

Write-Verbose "Importing class 'AppConfigApplication'"

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

    hidden [object] $_condition

    [string] $Type = 'AWS::AppConfig::Application'
    [string] $Description
    [AppConfigApplicationTags[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $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 Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([AppConfigApplicationTags], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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
        }
    }

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