VaporShell.Connect.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 'ConnectQuickConnectQueueQuickConnectConfig'"

class ConnectQuickConnectQueueQuickConnectConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSConnectQuickConnectQueueQuickConnectConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-quickconnect-queuequickconnectconfig.html'

    hidden [object] $_contactFlowArn
    hidden [object] $_queueArn

    [string] $ContactFlowArn
    [string] $QueueArn

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

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

Write-Verbose "Importing class 'ConnectQuickConnectQuickConnectConfig'"

class ConnectQuickConnectQuickConnectConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSConnectQuickConnectQuickConnectConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-quickconnect-quickconnectconfig.html'

    hidden [object] $_quickConnectType
    hidden [object] $_phoneConfig
    hidden [object] $_queueConfig
    hidden [object] $_userConfig

    [string] $QuickConnectType
    [ConnectQuickConnectPhoneNumberQuickConnectConfig] $PhoneConfig
    [ConnectQuickConnectQueueQuickConnectConfig] $QueueConfig
    [ConnectQuickConnectUserQuickConnectConfig] $UserConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name QuickConnectType -Value {
            $this._quickConnectType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._quickConnectType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PhoneConfig -Value {
            $this._phoneConfig
        } -SecondValue {
            param([ValidateType(([ConnectQuickConnectPhoneNumberQuickConnectConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._phoneConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name QueueConfig -Value {
            $this._queueConfig
        } -SecondValue {
            param([ValidateType(([ConnectQuickConnectQueueQuickConnectConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._queueConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UserConfig -Value {
            $this._userConfig
        } -SecondValue {
            param([ValidateType(([ConnectQuickConnectUserQuickConnectConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._userConfig = $value
        }
    }

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

Write-Verbose "Importing class 'ConnectQuickConnectUserQuickConnectConfig'"

class ConnectQuickConnectUserQuickConnectConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSConnectQuickConnectUserQuickConnectConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-quickconnect-userquickconnectconfig.html'

    hidden [object] $_contactFlowArn
    hidden [object] $_userArn

    [string] $ContactFlowArn
    [string] $UserArn

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

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

Write-Verbose "Importing class 'ConnectQuickConnectPhoneNumberQuickConnectConfig'"

class ConnectQuickConnectPhoneNumberQuickConnectConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSConnectQuickConnectPhoneNumberQuickConnectConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-quickconnect-phonenumberquickconnectconfig.html'

    hidden [object] $_phoneNumber

    [string] $PhoneNumber

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

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

Write-Verbose "Importing class 'ConnectQuickConnect'"

class ConnectQuickConnect : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSConnectQuickConnect'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html'

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

    [string] $Type = 'AWS::Connect::QuickConnect'
    [string] $InstanceArn
    [string] $Name
    [string] $Description
    [ConnectQuickConnectQuickConnectConfig] $QuickConnectConfig
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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