VaporShell.MediaConnect.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 'MediaConnectFlowEncryption'"

class MediaConnectFlowEncryption : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowEncryption'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-encryption.html'

    hidden [object] $_algorithm
    hidden [object] $_constantInitializationVector
    hidden [object] $_deviceId
    hidden [object] $_keyType
    hidden [object] $_region
    hidden [object] $_resourceId
    hidden [object] $_roleArn
    hidden [object] $_secretArn
    hidden [object] $_url

    [string] $Algorithm
    [string] $ConstantInitializationVector
    [string] $DeviceId
    [string] $KeyType
    [string] $Region
    [string] $ResourceId
    [string] $RoleArn
    [string] $SecretArn
    [string] $Url

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Algorithm -Value {
            $this._algorithm
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._algorithm = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConstantInitializationVector -Value {
            $this._constantInitializationVector
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._constantInitializationVector = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceId -Value {
            $this._deviceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deviceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyType -Value {
            $this._keyType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Region -Value {
            $this._region
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._region = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceId -Value {
            $this._resourceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretArn -Value {
            $this._secretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Url -Value {
            $this._url
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._url = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowOutputEncryption'"

class MediaConnectFlowOutputEncryption : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowOutputEncryption'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-encryption.html'

    hidden [object] $_algorithm
    hidden [object] $_keyType
    hidden [object] $_roleArn
    hidden [object] $_secretArn

    [string] $Algorithm
    [string] $KeyType
    [string] $RoleArn
    [string] $SecretArn

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Algorithm -Value {
            $this._algorithm
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._algorithm = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyType -Value {
            $this._keyType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretArn -Value {
            $this._secretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowSourceEncryption'"

class MediaConnectFlowSourceEncryption : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowSourceEncryption'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-encryption.html'

    hidden [object] $_algorithm
    hidden [object] $_constantInitializationVector
    hidden [object] $_deviceId
    hidden [object] $_keyType
    hidden [object] $_region
    hidden [object] $_resourceId
    hidden [object] $_roleArn
    hidden [object] $_secretArn
    hidden [object] $_url

    [string] $Algorithm
    [string] $ConstantInitializationVector
    [string] $DeviceId
    [string] $KeyType
    [string] $Region
    [string] $ResourceId
    [string] $RoleArn
    [string] $SecretArn
    [string] $Url

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Algorithm -Value {
            $this._algorithm
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._algorithm = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConstantInitializationVector -Value {
            $this._constantInitializationVector
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._constantInitializationVector = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceId -Value {
            $this._deviceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deviceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyType -Value {
            $this._keyType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Region -Value {
            $this._region
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._region = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceId -Value {
            $this._resourceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretArn -Value {
            $this._secretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Url -Value {
            $this._url
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._url = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowEntitlementEncryption'"

class MediaConnectFlowEntitlementEncryption : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowEntitlementEncryption'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowentitlement-encryption.html'

    hidden [object] $_algorithm
    hidden [object] $_constantInitializationVector
    hidden [object] $_deviceId
    hidden [object] $_keyType
    hidden [object] $_region
    hidden [object] $_resourceId
    hidden [object] $_roleArn
    hidden [object] $_secretArn
    hidden [object] $_url

    [string] $Algorithm
    [string] $ConstantInitializationVector
    [string] $DeviceId
    [string] $KeyType
    [string] $Region
    [string] $ResourceId
    [string] $RoleArn
    [string] $SecretArn
    [string] $Url

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Algorithm -Value {
            $this._algorithm
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._algorithm = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConstantInitializationVector -Value {
            $this._constantInitializationVector
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._constantInitializationVector = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceId -Value {
            $this._deviceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deviceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyType -Value {
            $this._keyType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._keyType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Region -Value {
            $this._region
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._region = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceId -Value {
            $this._resourceId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretArn -Value {
            $this._secretArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Url -Value {
            $this._url
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._url = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowSourceProperty'"

class MediaConnectFlowSourceProperty : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html'

    hidden [object] $_sourceArn
    hidden [object] $_decryption
    hidden [object] $_description
    hidden [object] $_entitlementArn
    hidden [object] $_ingestIp
    hidden [object] $_ingestPort
    hidden [object] $_maxBitrate
    hidden [object] $_maxLatency
    hidden [object] $_name
    hidden [object] $_protocol
    hidden [object] $_streamId
    hidden [object] $_vpcInterfaceName
    hidden [object] $_whitelistCidr

    [string] $SourceArn
    [MediaConnectFlowEncryption] $Decryption
    [string] $Description
    [string] $EntitlementArn
    [string] $IngestIp
    [int] $IngestPort
    [int] $MaxBitrate
    [int] $MaxLatency
    [string] $Name
    [string] $Protocol
    [string] $StreamId
    [string] $VpcInterfaceName
    [string] $WhitelistCidr

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceArn -Value {
            $this._sourceArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sourceArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Decryption -Value {
            $this._decryption
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowEncryption], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._decryption = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this._description
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._description = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EntitlementArn -Value {
            $this._entitlementArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._entitlementArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IngestIp -Value {
            $this._ingestIp
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ingestIp = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IngestPort -Value {
            $this._ingestPort
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ingestPort = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxBitrate -Value {
            $this._maxBitrate
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxBitrate = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxLatency -Value {
            $this._maxLatency
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxLatency = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $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 Protocol -Value {
            $this._protocol
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._protocol = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StreamId -Value {
            $this._streamId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._streamId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcInterfaceName -Value {
            $this._vpcInterfaceName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcInterfaceName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WhitelistCidr -Value {
            $this._whitelistCidr
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._whitelistCidr = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowFailoverConfig'"

class MediaConnectFlowFailoverConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowFailoverConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-failoverconfig.html'

    hidden [object] $_state
    hidden [object] $_recoveryWindow

    [string] $State
    [int] $RecoveryWindow

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

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

Write-Verbose "Importing class 'MediaConnectFlowOutputVpcInterfaceAttachment'"

class MediaConnectFlowOutputVpcInterfaceAttachment : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaConnectFlowOutputVpcInterfaceAttachment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowoutput-vpcinterfaceattachment.html'

    hidden [object] $_vpcInterfaceName

    [string] $VpcInterfaceName

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

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

Write-Verbose "Importing class 'MediaConnectFlowEntitlement'"

class MediaConnectFlowEntitlement : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaConnectFlowEntitlement'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html'

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

    [string] $Type = 'AWS::MediaConnect::FlowEntitlement'
    [string] $FlowArn
    [int] $DataTransferSubscriberFeePercent
    [string] $Description
    [MediaConnectFlowEntitlementEncryption] $Encryption
    [string] $EntitlementStatus
    [string] $Name
    [string[]] $Subscribers
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'MediaConnectFlowSource'"

class MediaConnectFlowSource : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaConnectFlowSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html'

    hidden [string[]] $_attributes = @('SourceArn','IngestIp')
    hidden [object] $_condition

    [string] $Type = 'AWS::MediaConnect::FlowSource'
    [string] $FlowArn
    [MediaConnectFlowSourceEncryption] $Decryption
    [string] $Description
    [string] $EntitlementArn
    [int] $IngestPort
    [int] $MaxBitrate
    [int] $MaxLatency
    [string] $Name
    [string] $Protocol
    [string] $StreamId
    [string] $VpcInterfaceName
    [string] $WhitelistCidr
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name FlowArn -Value {
            $this.Properties['FlowArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FlowArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Decryption -Value {
            $this.Properties['Decryption']
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowSourceEncryption], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Decryption'] = $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 EntitlementArn -Value {
            $this.Properties['EntitlementArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EntitlementArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IngestPort -Value {
            $this.Properties['IngestPort']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['IngestPort'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxBitrate -Value {
            $this.Properties['MaxBitrate']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MaxBitrate'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxLatency -Value {
            $this.Properties['MaxLatency']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MaxLatency'] = if ($cast = $value -as [int]) {
                $cast
            }
            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 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 StreamId -Value {
            $this.Properties['StreamId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StreamId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcInterfaceName -Value {
            $this.Properties['VpcInterfaceName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['VpcInterfaceName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WhitelistCidr -Value {
            $this.Properties['WhitelistCidr']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['WhitelistCidr'] = 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
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlowVpcInterface'"

class MediaConnectFlowVpcInterface : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaConnectFlowVpcInterface'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html'

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

    [string] $Type = 'AWS::MediaConnect::FlowVpcInterface'
    [string] $FlowArn
    [string] $Name
    [string] $RoleArn
    [string[]] $SecurityGroupIds
    [string] $SubnetId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'MediaConnectFlowOutput'"

class MediaConnectFlowOutput : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaConnectFlowOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html'

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

    [string] $Type = 'AWS::MediaConnect::FlowOutput'
    [string] $FlowArn
    [string[]] $CidrAllowList
    [string] $Description
    [string] $Destination
    [MediaConnectFlowOutputEncryption] $Encryption
    [int] $MaxLatency
    [string] $Name
    [int] $Port
    [string] $Protocol
    [string] $RemoteId
    [int] $SmoothingLatency
    [string] $StreamId
    [MediaConnectFlowOutputVpcInterfaceAttachment] $VpcInterfaceAttachment
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name FlowArn -Value {
            $this.Properties['FlowArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FlowArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CidrAllowList -Value {
            $this.Properties['CidrAllowList']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['CidrAllowList'] = @($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 Destination -Value {
            $this.Properties['Destination']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Destination'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Encryption -Value {
            $this.Properties['Encryption']
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowOutputEncryption], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Encryption'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxLatency -Value {
            $this.Properties['MaxLatency']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MaxLatency'] = if ($cast = $value -as [int]) {
                $cast
            }
            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 Port -Value {
            $this.Properties['Port']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Port'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $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 RemoteId -Value {
            $this.Properties['RemoteId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RemoteId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SmoothingLatency -Value {
            $this.Properties['SmoothingLatency']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SmoothingLatency'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StreamId -Value {
            $this.Properties['StreamId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StreamId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcInterfaceAttachment -Value {
            $this.Properties['VpcInterfaceAttachment']
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowOutputVpcInterfaceAttachment], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['VpcInterfaceAttachment'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'MediaConnectFlow'"

class MediaConnectFlow : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaConnectFlow'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html'

    hidden [string[]] $_attributes = @('FlowArn','FlowAvailabilityZone','Source.SourceArn','Source.IngestIp')
    hidden [object] $_condition

    [string] $Type = 'AWS::MediaConnect::Flow'
    [string] $Name
    [string] $AvailabilityZone
    [MediaConnectFlowSource] $Source
    [MediaConnectFlowFailoverConfig] $SourceFailoverConfig
    [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 AvailabilityZone -Value {
            $this.Properties['AvailabilityZone']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AvailabilityZone'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Source -Value {
            $this.Properties['Source']
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowSource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Source'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceFailoverConfig -Value {
            $this.Properties['SourceFailoverConfig']
        } -SecondValue {
            param([ValidateType(([MediaConnectFlowFailoverConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceFailoverConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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