VaporShell.GlobalAccelerator.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 'GlobalAcceleratorEndpointGroupPortOverride'"

class GlobalAcceleratorEndpointGroupPortOverride : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGlobalAcceleratorEndpointGroupPortOverride'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-portoverride.html'

    hidden [object] $_listenerPort
    hidden [object] $_endpointPort

    [int] $ListenerPort
    [int] $EndpointPort

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

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

Write-Verbose "Importing class 'GlobalAcceleratorEndpointGroupEndpointConfiguration'"

class GlobalAcceleratorEndpointGroupEndpointConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGlobalAcceleratorEndpointGroupEndpointConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-endpointgroup-endpointconfiguration.html'

    hidden [object] $_endpointId
    hidden [object] $_weight
    hidden [object] $_clientIPPreservationEnabled

    [string] $EndpointId
    [int] $Weight
    [bool] $ClientIPPreservationEnabled

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name EndpointId -Value {
            $this._endpointId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._endpointId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Weight -Value {
            $this._weight
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._weight = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientIPPreservationEnabled -Value {
            $this._clientIPPreservationEnabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientIPPreservationEnabled = $value
        }
    }

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

Write-Verbose "Importing class 'GlobalAcceleratorListenerPortRange'"

class GlobalAcceleratorListenerPortRange : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGlobalAcceleratorListenerPortRange'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-globalaccelerator-listener-portrange.html'

    hidden [object] $_fromPort
    hidden [object] $_toPort

    [int] $FromPort
    [int] $ToPort

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

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

Write-Verbose "Importing class 'GlobalAcceleratorAccelerator'"

class GlobalAcceleratorAccelerator : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGlobalAcceleratorAccelerator'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html'

    hidden [string[]] $_attributes = @('DnsName','AcceleratorArn')
    hidden [object] $_condition

    [string] $Type = 'AWS::GlobalAccelerator::Accelerator'
    [string] $Name
    [string] $IpAddressType
    [string[]] $IpAddresses
    [bool] $Enabled
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'GlobalAcceleratorListener'"

class GlobalAcceleratorListener : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGlobalAcceleratorListener'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html'

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

    [string] $Type = 'AWS::GlobalAccelerator::Listener'
    [string] $AcceleratorArn
    [GlobalAcceleratorListenerPortRange[]] $PortRanges
    [string] $Protocol
    [string] $ClientAffinity
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'GlobalAcceleratorEndpointGroup'"

class GlobalAcceleratorEndpointGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGlobalAcceleratorEndpointGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html'

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

    [string] $Type = 'AWS::GlobalAccelerator::EndpointGroup'
    [string] $ListenerArn
    [string] $EndpointGroupRegion
    [GlobalAcceleratorEndpointGroupEndpointConfiguration[]] $EndpointConfigurations
    [double] $TrafficDialPercentage
    [int] $HealthCheckPort
    [string] $HealthCheckProtocol
    [string] $HealthCheckPath
    [int] $HealthCheckIntervalSeconds
    [int] $ThresholdCount
    [GlobalAcceleratorEndpointGroupPortOverride[]] $PortOverrides
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ListenerArn -Value {
            $this.Properties['ListenerArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ListenerArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EndpointGroupRegion -Value {
            $this.Properties['EndpointGroupRegion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EndpointGroupRegion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EndpointConfigurations -Value {
            $this.Properties['EndpointConfigurations']
        } -SecondValue {
            param([ValidateType(([GlobalAcceleratorEndpointGroupEndpointConfiguration], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['EndpointConfigurations'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TrafficDialPercentage -Value {
            $this.Properties['TrafficDialPercentage']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TrafficDialPercentage'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HealthCheckPort -Value {
            $this.Properties['HealthCheckPort']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckPort'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HealthCheckProtocol -Value {
            $this.Properties['HealthCheckProtocol']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckProtocol'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HealthCheckPath -Value {
            $this.Properties['HealthCheckPath']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckPath'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HealthCheckIntervalSeconds -Value {
            $this.Properties['HealthCheckIntervalSeconds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HealthCheckIntervalSeconds'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ThresholdCount -Value {
            $this.Properties['ThresholdCount']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ThresholdCount'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PortOverrides -Value {
            $this.Properties['PortOverrides']
        } -SecondValue {
            param([ValidateType(([GlobalAcceleratorEndpointGroupPortOverride], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['PortOverrides'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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