VaporShell.KinesisAnalytics.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 'KinesisAnalyticsApplicationOutputKinesisFirehoseOutput'"

class KinesisAnalyticsApplicationOutputKinesisFirehoseOutput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationOutputKinesisFirehoseOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationCSVMappingParameters'"

class KinesisAnalyticsApplicationCSVMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationCSVMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html'

    hidden [object] $_recordRowDelimiter
    hidden [object] $_recordColumnDelimiter

    [string] $RecordRowDelimiter
    [string] $RecordColumnDelimiter

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationInput'"

class KinesisAnalyticsApplicationInput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationInput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html'

    hidden [object] $_namePrefix
    hidden [object] $_inputSchema
    hidden [object] $_kinesisStreamsInput
    hidden [object] $_kinesisFirehoseInput
    hidden [object] $_inputProcessingConfiguration
    hidden [object] $_inputParallelism

    [string] $NamePrefix
    [KinesisAnalyticsApplicationInputSchema] $InputSchema
    [KinesisAnalyticsApplicationKinesisStreamsInput] $KinesisStreamsInput
    [KinesisAnalyticsApplicationKinesisFirehoseInput] $KinesisFirehoseInput
    [KinesisAnalyticsApplicationInputProcessingConfiguration] $InputProcessingConfiguration
    [KinesisAnalyticsApplicationInputParallelism] $InputParallelism

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name NamePrefix -Value {
            $this._namePrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._namePrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputSchema -Value {
            $this._inputSchema
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationInputSchema], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputSchema = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisStreamsInput -Value {
            $this._kinesisStreamsInput
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationKinesisStreamsInput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisStreamsInput = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisFirehoseInput -Value {
            $this._kinesisFirehoseInput
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationKinesisFirehoseInput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisFirehoseInput = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputProcessingConfiguration -Value {
            $this._inputProcessingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationInputProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputProcessingConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputParallelism -Value {
            $this._inputParallelism
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationInputParallelism], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputParallelism = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceRecordFormat'"

class KinesisAnalyticsApplicationReferenceDataSourceRecordFormat : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceRecordFormat'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html'

    hidden [object] $_mappingParameters
    hidden [object] $_recordFormatType

    [KinesisAnalyticsApplicationReferenceDataSourceMappingParameters] $MappingParameters
    [string] $RecordFormatType

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceCSVMappingParameters'"

class KinesisAnalyticsApplicationReferenceDataSourceCSVMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceCSVMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html'

    hidden [object] $_recordRowDelimiter
    hidden [object] $_recordColumnDelimiter

    [string] $RecordRowDelimiter
    [string] $RecordColumnDelimiter

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationJSONMappingParameters'"

class KinesisAnalyticsApplicationJSONMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationJSONMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-jsonmappingparameters.html'

    hidden [object] $_recordRowPath

    [string] $RecordRowPath

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceS3ReferenceDataSource'"

class KinesisAnalyticsApplicationReferenceDataSourceS3ReferenceDataSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceS3ReferenceDataSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html'

    hidden [object] $_bucketARN
    hidden [object] $_fileKey
    hidden [object] $_referenceRoleARN

    [string] $BucketARN
    [string] $FileKey
    [string] $ReferenceRoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationOutputKinesisStreamsOutput'"

class KinesisAnalyticsApplicationOutputKinesisStreamsOutput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationOutputKinesisStreamsOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationKinesisStreamsInput'"

class KinesisAnalyticsApplicationKinesisStreamsInput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationKinesisStreamsInput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationRecordColumn'"

class KinesisAnalyticsApplicationRecordColumn : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationRecordColumn'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html'

    hidden [object] $_mapping
    hidden [object] $_sqlType
    hidden [object] $_name

    [string] $Mapping
    [string] $SqlType
    [string] $Name

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceRecordColumn'"

class KinesisAnalyticsApplicationReferenceDataSourceRecordColumn : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceRecordColumn'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html'

    hidden [object] $_mapping
    hidden [object] $_sqlType
    hidden [object] $_name

    [string] $Mapping
    [string] $SqlType
    [string] $Name

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationKinesisFirehoseInput'"

class KinesisAnalyticsApplicationKinesisFirehoseInput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationKinesisFirehoseInput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationInputParallelism'"

class KinesisAnalyticsApplicationInputParallelism : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationInputParallelism'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html'

    hidden [object] $_count

    [int] $Count

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceReferenceSchema'"

class KinesisAnalyticsApplicationReferenceDataSourceReferenceSchema : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceReferenceSchema'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html'

    hidden [object] $_recordEncoding
    hidden [object] $_recordColumns
    hidden [object] $_recordFormat

    [string] $RecordEncoding
    [KinesisAnalyticsApplicationReferenceDataSourceRecordColumn[]] $RecordColumns
    [KinesisAnalyticsApplicationReferenceDataSourceRecordFormat] $RecordFormat

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordEncoding -Value {
            $this._recordEncoding
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._recordEncoding = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordColumns -Value {
            $this._recordColumns
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceRecordColumn], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._recordColumns = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordFormat -Value {
            $this._recordFormat
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceRecordFormat], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._recordFormat = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationOutputLambdaOutput'"

class KinesisAnalyticsApplicationOutputLambdaOutput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationOutputLambdaOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationOutputOutput'"

class KinesisAnalyticsApplicationOutputOutput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationOutputOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html'

    hidden [object] $_destinationSchema
    hidden [object] $_lambdaOutput
    hidden [object] $_kinesisFirehoseOutput
    hidden [object] $_kinesisStreamsOutput
    hidden [object] $_name

    [KinesisAnalyticsApplicationOutputDestinationSchema] $DestinationSchema
    [KinesisAnalyticsApplicationOutputLambdaOutput] $LambdaOutput
    [KinesisAnalyticsApplicationOutputKinesisFirehoseOutput] $KinesisFirehoseOutput
    [KinesisAnalyticsApplicationOutputKinesisStreamsOutput] $KinesisStreamsOutput
    [string] $Name

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DestinationSchema -Value {
            $this._destinationSchema
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationOutputDestinationSchema], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._destinationSchema = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LambdaOutput -Value {
            $this._lambdaOutput
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationOutputLambdaOutput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._lambdaOutput = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisFirehoseOutput -Value {
            $this._kinesisFirehoseOutput
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationOutputKinesisFirehoseOutput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisFirehoseOutput = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisStreamsOutput -Value {
            $this._kinesisStreamsOutput
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationOutputKinesisStreamsOutput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisStreamsOutput = $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
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationInputSchema'"

class KinesisAnalyticsApplicationInputSchema : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationInputSchema'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html'

    hidden [object] $_recordEncoding
    hidden [object] $_recordColumns
    hidden [object] $_recordFormat

    [string] $RecordEncoding
    [KinesisAnalyticsApplicationRecordColumn[]] $RecordColumns
    [KinesisAnalyticsApplicationRecordFormat] $RecordFormat

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordEncoding -Value {
            $this._recordEncoding
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._recordEncoding = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordColumns -Value {
            $this._recordColumns
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationRecordColumn], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._recordColumns = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RecordFormat -Value {
            $this._recordFormat
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationRecordFormat], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._recordFormat = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationOutputDestinationSchema'"

class KinesisAnalyticsApplicationOutputDestinationSchema : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationOutputDestinationSchema'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html'

    hidden [object] $_recordFormatType

    [string] $RecordFormatType

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationMappingParameters'"

class KinesisAnalyticsApplicationMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html'

    hidden [object] $_jSONMappingParameters
    hidden [object] $_cSVMappingParameters

    [KinesisAnalyticsApplicationJSONMappingParameters] $JSONMappingParameters
    [KinesisAnalyticsApplicationCSVMappingParameters] $CSVMappingParameters

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name JSONMappingParameters -Value {
            $this._jSONMappingParameters
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationJSONMappingParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jSONMappingParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CSVMappingParameters -Value {
            $this._cSVMappingParameters
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationCSVMappingParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cSVMappingParameters = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceMappingParameters'"

class KinesisAnalyticsApplicationReferenceDataSourceMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html'

    hidden [object] $_jSONMappingParameters
    hidden [object] $_cSVMappingParameters

    [KinesisAnalyticsApplicationReferenceDataSourceJSONMappingParameters] $JSONMappingParameters
    [KinesisAnalyticsApplicationReferenceDataSourceCSVMappingParameters] $CSVMappingParameters

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name JSONMappingParameters -Value {
            $this._jSONMappingParameters
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceJSONMappingParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jSONMappingParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CSVMappingParameters -Value {
            $this._cSVMappingParameters
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceCSVMappingParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cSVMappingParameters = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceJSONMappingParameters'"

class KinesisAnalyticsApplicationReferenceDataSourceJSONMappingParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceJSONMappingParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters.html'

    hidden [object] $_recordRowPath

    [string] $RecordRowPath

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationRecordFormat'"

class KinesisAnalyticsApplicationRecordFormat : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationRecordFormat'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html'

    hidden [object] $_mappingParameters
    hidden [object] $_recordFormatType

    [KinesisAnalyticsApplicationMappingParameters] $MappingParameters
    [string] $RecordFormatType

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationInputProcessingConfiguration'"

class KinesisAnalyticsApplicationInputProcessingConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationInputProcessingConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html'

    hidden [object] $_inputLambdaProcessor

    [KinesisAnalyticsApplicationInputLambdaProcessor] $InputLambdaProcessor

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource'"

class KinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html'

    hidden [object] $_referenceSchema
    hidden [object] $_tableName
    hidden [object] $_s3ReferenceDataSource

    [KinesisAnalyticsApplicationReferenceDataSourceReferenceSchema] $ReferenceSchema
    [string] $TableName
    [KinesisAnalyticsApplicationReferenceDataSourceS3ReferenceDataSource] $S3ReferenceDataSource

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReferenceSchema -Value {
            $this._referenceSchema
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceReferenceSchema], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._referenceSchema = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableName -Value {
            $this._tableName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3ReferenceDataSource -Value {
            $this._s3ReferenceDataSource
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceS3ReferenceDataSource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3ReferenceDataSource = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationInputLambdaProcessor'"

class KinesisAnalyticsApplicationInputLambdaProcessor : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisAnalyticsApplicationInputLambdaProcessor'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html'

    hidden [object] $_resourceARN
    hidden [object] $_roleARN

    [string] $ResourceARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationOutput'"

class KinesisAnalyticsApplicationOutput : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSKinesisAnalyticsApplicationOutput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::KinesisAnalytics::ApplicationOutput'
    [string] $ApplicationName
    [KinesisAnalyticsApplicationOutputOutput] $Output
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationName -Value {
            $this.Properties['ApplicationName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Output -Value {
            $this.Properties['Output']
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationOutputOutput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Output'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisAnalyticsApplication'"

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

    hidden [object] $_condition

    [string] $Type = 'AWS::KinesisAnalytics::Application'
    [string] $ApplicationName
    [KinesisAnalyticsApplicationInput[]] $Inputs
    [string] $ApplicationDescription
    [string] $ApplicationCode
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'KinesisAnalyticsApplicationReferenceDataSource'"

class KinesisAnalyticsApplicationReferenceDataSource : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSKinesisAnalyticsApplicationReferenceDataSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::KinesisAnalytics::ApplicationReferenceDataSource'
    [string] $ApplicationName
    [KinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource] $ReferenceDataSource
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationName -Value {
            $this.Properties['ApplicationName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ApplicationName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReferenceDataSource -Value {
            $this.Properties['ReferenceDataSource']
        } -SecondValue {
            param([ValidateType(([KinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReferenceDataSource'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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