VaporShell.ServiceDiscovery.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 'ServiceDiscoveryPublicDnsNamespacePublicDnsPropertiesMutable'"

class ServiceDiscoveryPublicDnsNamespacePublicDnsPropertiesMutable : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPublicDnsNamespacePublicDnsPropertiesMutable'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-publicdnsnamespace-publicdnspropertiesmutable.html'

    hidden [object] $_sOA

    [ServiceDiscoveryPublicDnsNamespaceSOA] $SOA

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

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

Write-Verbose "Importing class 'ServiceDiscoveryPrivateDnsNamespaceSOA'"

class ServiceDiscoveryPrivateDnsNamespaceSOA : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPrivateDnsNamespaceSOA'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-privatednsnamespace-soa.html'

    hidden [object] $_tTL

    [double] $TTL

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

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

Write-Verbose "Importing class 'ServiceDiscoveryPublicDnsNamespaceSOA'"

class ServiceDiscoveryPublicDnsNamespaceSOA : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPublicDnsNamespaceSOA'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-publicdnsnamespace-soa.html'

    hidden [object] $_tTL

    [double] $TTL

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

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

Write-Verbose "Importing class 'ServiceDiscoveryPrivateDnsNamespacePrivateDnsPropertiesMutable'"

class ServiceDiscoveryPrivateDnsNamespacePrivateDnsPropertiesMutable : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPrivateDnsNamespacePrivateDnsPropertiesMutable'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-privatednsnamespace-privatednspropertiesmutable.html'

    hidden [object] $_sOA

    [ServiceDiscoveryPrivateDnsNamespaceSOA] $SOA

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

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

Write-Verbose "Importing class 'ServiceDiscoveryServiceDnsConfig'"

class ServiceDiscoveryServiceDnsConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryServiceDnsConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html'

    hidden [object] $_dnsRecords
    hidden [object] $_routingPolicy
    hidden [object] $_namespaceId

    [ServiceDiscoveryServiceDnsRecord[]] $DnsRecords
    [string] $RoutingPolicy
    [string] $NamespaceId

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

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

Write-Verbose "Importing class 'ServiceDiscoveryPublicDnsNamespaceProperties'"

class ServiceDiscoveryPublicDnsNamespaceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPublicDnsNamespaceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-publicdnsnamespace-properties.html'

    hidden [object] $_dnsProperties

    [ServiceDiscoveryPublicDnsNamespacePublicDnsPropertiesMutable] $DnsProperties

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

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

Write-Verbose "Importing class 'ServiceDiscoveryPrivateDnsNamespaceProperties'"

class ServiceDiscoveryPrivateDnsNamespaceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryPrivateDnsNamespaceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-privatednsnamespace-properties.html'

    hidden [object] $_dnsProperties

    [ServiceDiscoveryPrivateDnsNamespacePrivateDnsPropertiesMutable] $DnsProperties

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

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

Write-Verbose "Importing class 'ServiceDiscoveryServiceHealthCheckConfig'"

class ServiceDiscoveryServiceHealthCheckConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryServiceHealthCheckConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html'

    hidden [object] $_type
    hidden [object] $_resourcePath
    hidden [object] $_failureThreshold

    [string] $Type
    [string] $ResourcePath
    [double] $FailureThreshold

    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 ResourcePath -Value {
            $this._resourcePath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourcePath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FailureThreshold -Value {
            $this._failureThreshold
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._failureThreshold = $value
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryServiceHealthCheckCustomConfig'"

class ServiceDiscoveryServiceHealthCheckCustomConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryServiceHealthCheckCustomConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html'

    hidden [object] $_failureThreshold

    [double] $FailureThreshold

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

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

Write-Verbose "Importing class 'ServiceDiscoveryServiceDnsRecord'"

class ServiceDiscoveryServiceDnsRecord : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSServiceDiscoveryServiceDnsRecord'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html'

    hidden [object] $_type
    hidden [object] $_tTL

    [string] $Type
    [double] $TTL

    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 TTL -Value {
            $this._tTL
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tTL = $value
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryService'"

class ServiceDiscoveryService : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSServiceDiscoveryService'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html'

    hidden [string[]] $_attributes = @('Id','Arn','Name')
    hidden [object] $_condition

    [string] $Type = 'AWS::ServiceDiscovery::Service'
    [string] $ServiceType
    [string] $Description
    [ServiceDiscoveryServiceHealthCheckCustomConfig] $HealthCheckCustomConfig
    [ServiceDiscoveryServiceDnsConfig] $DnsConfig
    [string] $NamespaceId
    [ServiceDiscoveryServiceHealthCheckConfig] $HealthCheckConfig
    [VSTag[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceType -Value {
            $this.Properties['ServiceType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ServiceType'] = 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 HealthCheckCustomConfig -Value {
            $this.Properties['HealthCheckCustomConfig']
        } -SecondValue {
            param([ValidateType(([ServiceDiscoveryServiceHealthCheckCustomConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckCustomConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DnsConfig -Value {
            $this.Properties['DnsConfig']
        } -SecondValue {
            param([ValidateType(([ServiceDiscoveryServiceDnsConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DnsConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NamespaceId -Value {
            $this.Properties['NamespaceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['NamespaceId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HealthCheckConfig -Value {
            $this.Properties['HealthCheckConfig']
        } -SecondValue {
            param([ValidateType(([ServiceDiscoveryServiceHealthCheckConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckConfig'] = $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 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
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryPublicDnsNamespace'"

class ServiceDiscoveryPublicDnsNamespace : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSServiceDiscoveryPublicDnsNamespace'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html'

    hidden [string[]] $_attributes = @('HostedZoneId','Id','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::ServiceDiscovery::PublicDnsNamespace'
    [string] $Description
    [ServiceDiscoveryPublicDnsNamespaceProperties] $Properties
    [VSTag[]] $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 Properties -Value {
            $this.Properties['Properties']
        } -SecondValue {
            param([ValidateType(([ServiceDiscoveryPublicDnsNamespaceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Properties'] = $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 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
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryInstance'"

class ServiceDiscoveryInstance : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSServiceDiscoveryInstance'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::ServiceDiscovery::Instance'
    [VSJson] $InstanceAttributes
    [string] $InstanceId
    [string] $ServiceId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name InstanceAttributes -Value {
            $this.Properties['InstanceAttributes']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['InstanceAttributes'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['InstanceAttributes']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InstanceId -Value {
            $this.Properties['InstanceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['InstanceId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceId -Value {
            $this.Properties['ServiceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ServiceId'] = 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
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryHttpNamespace'"

class ServiceDiscoveryHttpNamespace : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSServiceDiscoveryHttpNamespace'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html'

    hidden [string[]] $_attributes = @('Id','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::ServiceDiscovery::HttpNamespace'
    [string] $Description
    [VSTag[]] $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([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($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
        }
    }

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

Write-Verbose "Importing class 'ServiceDiscoveryPrivateDnsNamespace'"

class ServiceDiscoveryPrivateDnsNamespace : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSServiceDiscoveryPrivateDnsNamespace'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html'

    hidden [string[]] $_attributes = @('HostedZoneId','Id','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::ServiceDiscovery::PrivateDnsNamespace'
    [string] $Description
    [string] $Vpc
    [ServiceDiscoveryPrivateDnsNamespaceProperties] $Properties
    [VSTag[]] $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 Vpc -Value {
            $this.Properties['Vpc']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Vpc'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Properties -Value {
            $this.Properties['Properties']
        } -SecondValue {
            param([ValidateType(([ServiceDiscoveryPrivateDnsNamespaceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Properties'] = $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 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
        }
    }

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