VaporShell.KinesisFirehose.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 'KinesisFirehoseDeliveryStreamEncryptionConfiguration'"

class KinesisFirehoseDeliveryStreamEncryptionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamEncryptionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html'

    hidden [object] $_kMSEncryptionConfig
    hidden [object] $_noEncryptionConfig

    [KinesisFirehoseDeliveryStreamKMSEncryptionConfig] $KMSEncryptionConfig
    [string] $NoEncryptionConfig

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamInputFormatConfiguration'"

class KinesisFirehoseDeliveryStreamInputFormatConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamInputFormatConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html'

    hidden [object] $_deserializer

    [KinesisFirehoseDeliveryStreamDeserializer] $Deserializer

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamHiveJsonSerDe'"

class KinesisFirehoseDeliveryStreamHiveJsonSerDe : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamHiveJsonSerDe'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-hivejsonserde.html'

    hidden [object] $_timestampFormats

    [string[]] $TimestampFormats

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamProcessor'"

class KinesisFirehoseDeliveryStreamProcessor : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamProcessor'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html'

    hidden [object] $_parameters
    hidden [object] $_type

    [KinesisFirehoseDeliveryStreamProcessorParameter[]] $Parameters
    [string] $Type

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamDataFormatConversionConfiguration'"

class KinesisFirehoseDeliveryStreamDataFormatConversionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamDataFormatConversionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html'

    hidden [object] $_enabled
    hidden [object] $_inputFormatConfiguration
    hidden [object] $_outputFormatConfiguration
    hidden [object] $_schemaConfiguration

    [bool] $Enabled
    [KinesisFirehoseDeliveryStreamInputFormatConfiguration] $InputFormatConfiguration
    [KinesisFirehoseDeliveryStreamOutputFormatConfiguration] $OutputFormatConfiguration
    [KinesisFirehoseDeliveryStreamSchemaConfiguration] $SchemaConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputFormatConfiguration -Value {
            $this._inputFormatConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamInputFormatConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputFormatConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OutputFormatConfiguration -Value {
            $this._outputFormatConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamOutputFormatConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._outputFormatConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SchemaConfiguration -Value {
            $this._schemaConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamSchemaConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._schemaConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamSchemaConfiguration'"

class KinesisFirehoseDeliveryStreamSchemaConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamSchemaConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html'

    hidden [object] $_catalogId
    hidden [object] $_databaseName
    hidden [object] $_region
    hidden [object] $_roleARN
    hidden [object] $_tableName
    hidden [object] $_versionId

    [string] $CatalogId
    [string] $DatabaseName
    [string] $Region
    [string] $RoleARN
    [string] $TableName
    [string] $VersionId

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamSplunkRetryOptions'"

class KinesisFirehoseDeliveryStreamSplunkRetryOptions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamSplunkRetryOptions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html'

    hidden [object] $_durationInSeconds

    [int] $DurationInSeconds

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration'"

class KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html'

    hidden [object] $_contentEncoding
    hidden [object] $_commonAttributes

    [string] $ContentEncoding
    [KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute[]] $CommonAttributes

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamHttpEndpointConfiguration'"

class KinesisFirehoseDeliveryStreamHttpEndpointConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamHttpEndpointConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html'

    hidden [object] $_url
    hidden [object] $_accessKey
    hidden [object] $_name

    [string] $Url
    [string] $AccessKey
    [string] $Name

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamSerializer'"

class KinesisFirehoseDeliveryStreamSerializer : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamSerializer'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html'

    hidden [object] $_orcSerDe
    hidden [object] $_parquetSerDe

    [KinesisFirehoseDeliveryStreamOrcSerDe] $OrcSerDe
    [KinesisFirehoseDeliveryStreamParquetSerDe] $ParquetSerDe

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name OrcSerDe -Value {
            $this._orcSerDe
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamOrcSerDe], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._orcSerDe = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ParquetSerDe -Value {
            $this._parquetSerDe
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamParquetSerDe], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._parquetSerDe = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamCopyCommand'"

class KinesisFirehoseDeliveryStreamCopyCommand : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamCopyCommand'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html'

    hidden [object] $_copyOptions
    hidden [object] $_dataTableColumns
    hidden [object] $_dataTableName

    [string] $CopyOptions
    [string] $DataTableColumns
    [string] $DataTableName

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamOpenXJsonSerDe'"

class KinesisFirehoseDeliveryStreamOpenXJsonSerDe : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamOpenXJsonSerDe'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html'

    hidden [object] $_caseInsensitive
    hidden [object] $_columnToJsonKeyMappings
    hidden [object] $_convertDotsInJsonKeysToUnderscores

    [bool] $CaseInsensitive
    [string] $ColumnToJsonKeyMappings
    [bool] $ConvertDotsInJsonKeysToUnderscores

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CaseInsensitive -Value {
            $this._caseInsensitive
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._caseInsensitive = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ColumnToJsonKeyMappings -Value {
            $this._columnToJsonKeyMappings
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._columnToJsonKeyMappings = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConvertDotsInJsonKeysToUnderscores -Value {
            $this._convertDotsInJsonKeysToUnderscores
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._convertDotsInJsonKeysToUnderscores = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamDynamicPartitioningConfiguration'"

class KinesisFirehoseDeliveryStreamDynamicPartitioningConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamDynamicPartitioningConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dynamicpartitioningconfiguration.html'

    hidden [object] $_enabled
    hidden [object] $_retryOptions

    [bool] $Enabled
    [KinesisFirehoseDeliveryStreamRetryOptions] $RetryOptions

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryOptions -Value {
            $this._retryOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamRetryOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryOptions = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamOrcSerDe'"

class KinesisFirehoseDeliveryStreamOrcSerDe : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamOrcSerDe'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html'

    hidden [object] $_blockSizeBytes
    hidden [object] $_bloomFilterColumns
    hidden [object] $_bloomFilterFalsePositiveProbability
    hidden [object] $_compression
    hidden [object] $_dictionaryKeyThreshold
    hidden [object] $_enablePadding
    hidden [object] $_formatVersion
    hidden [object] $_paddingTolerance
    hidden [object] $_rowIndexStride
    hidden [object] $_stripeSizeBytes

    [int] $BlockSizeBytes
    [string[]] $BloomFilterColumns
    [double] $BloomFilterFalsePositiveProbability
    [string] $Compression
    [double] $DictionaryKeyThreshold
    [bool] $EnablePadding
    [string] $FormatVersion
    [double] $PaddingTolerance
    [int] $RowIndexStride
    [int] $StripeSizeBytes

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name BlockSizeBytes -Value {
            $this._blockSizeBytes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._blockSizeBytes = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BloomFilterColumns -Value {
            $this._bloomFilterColumns
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._bloomFilterColumns = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BloomFilterFalsePositiveProbability -Value {
            $this._bloomFilterFalsePositiveProbability
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bloomFilterFalsePositiveProbability = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Compression -Value {
            $this._compression
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._compression = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DictionaryKeyThreshold -Value {
            $this._dictionaryKeyThreshold
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dictionaryKeyThreshold = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnablePadding -Value {
            $this._enablePadding
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enablePadding = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FormatVersion -Value {
            $this._formatVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._formatVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PaddingTolerance -Value {
            $this._paddingTolerance
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._paddingTolerance = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RowIndexStride -Value {
            $this._rowIndexStride
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rowIndexStride = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StripeSizeBytes -Value {
            $this._stripeSizeBytes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._stripeSizeBytes = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamElasticsearchBufferingHints'"

class KinesisFirehoseDeliveryStreamElasticsearchBufferingHints : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamElasticsearchBufferingHints'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html'

    hidden [object] $_intervalInSeconds
    hidden [object] $_sizeInMBs

    [int] $IntervalInSeconds
    [int] $SizeInMBs

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration'"

class KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamSplunkDestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html'

    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_hECAcknowledgmentTimeoutInSeconds
    hidden [object] $_hECEndpoint
    hidden [object] $_hECEndpointType
    hidden [object] $_hECToken
    hidden [object] $_processingConfiguration
    hidden [object] $_retryOptions
    hidden [object] $_s3BackupMode
    hidden [object] $_s3Configuration

    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [int] $HECAcknowledgmentTimeoutInSeconds
    [string] $HECEndpoint
    [string] $HECEndpointType
    [string] $HECToken
    [KinesisFirehoseDeliveryStreamProcessingConfiguration] $ProcessingConfiguration
    [KinesisFirehoseDeliveryStreamSplunkRetryOptions] $RetryOptions
    [string] $S3BackupMode
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3Configuration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HECAcknowledgmentTimeoutInSeconds -Value {
            $this._hECAcknowledgmentTimeoutInSeconds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hECAcknowledgmentTimeoutInSeconds = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HECEndpoint -Value {
            $this._hECEndpoint
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hECEndpoint = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HECEndpointType -Value {
            $this._hECEndpointType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hECEndpointType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HECToken -Value {
            $this._hECToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hECToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProcessingConfiguration -Value {
            $this._processingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._processingConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryOptions -Value {
            $this._retryOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamSplunkRetryOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3BackupMode -Value {
            $this._s3BackupMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Configuration -Value {
            $this._s3Configuration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Configuration = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions'"

class KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamCloudWatchLoggingOptions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html'

    hidden [object] $_enabled
    hidden [object] $_logGroupName
    hidden [object] $_logStreamName

    [bool] $Enabled
    [string] $LogGroupName
    [string] $LogStreamName

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamProcessingConfiguration'"

class KinesisFirehoseDeliveryStreamProcessingConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamProcessingConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html'

    hidden [object] $_enabled
    hidden [object] $_processors

    [bool] $Enabled
    [KinesisFirehoseDeliveryStreamProcessor[]] $Processors

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Enabled -Value {
            $this._enabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Processors -Value {
            $this._processors
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessor], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._processors = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamBufferingHints'"

class KinesisFirehoseDeliveryStreamBufferingHints : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamBufferingHints'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html'

    hidden [object] $_intervalInSeconds
    hidden [object] $_sizeInMBs

    [int] $IntervalInSeconds
    [int] $SizeInMBs

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamProcessorParameter'"

class KinesisFirehoseDeliveryStreamProcessorParameter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamProcessorParameter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html'

    hidden [object] $_parameterName
    hidden [object] $_parameterValue

    [string] $ParameterName
    [string] $ParameterValue

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamDeliveryStreamEncryptionConfigurationInput'"

class KinesisFirehoseDeliveryStreamDeliveryStreamEncryptionConfigurationInput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamDeliveryStreamEncryptionConfigurationInput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html'

    hidden [object] $_keyARN
    hidden [object] $_keyType

    [string] $KeyARN
    [string] $KeyType

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamElasticsearchRetryOptions'"

class KinesisFirehoseDeliveryStreamElasticsearchRetryOptions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamElasticsearchRetryOptions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html'

    hidden [object] $_durationInSeconds

    [int] $DurationInSeconds

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamKMSEncryptionConfig'"

class KinesisFirehoseDeliveryStreamKMSEncryptionConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamKMSEncryptionConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html'

    hidden [object] $_aWSKMSKeyARN

    [string] $AWSKMSKeyARN

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamOutputFormatConfiguration'"

class KinesisFirehoseDeliveryStreamOutputFormatConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamOutputFormatConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html'

    hidden [object] $_serializer

    [KinesisFirehoseDeliveryStreamSerializer] $Serializer

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration'"

class KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html'

    hidden [object] $_bufferingHints
    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_domainARN
    hidden [object] $_indexName
    hidden [object] $_indexRotationPeriod
    hidden [object] $_processingConfiguration
    hidden [object] $_retryOptions
    hidden [object] $_roleARN
    hidden [object] $_s3BackupMode
    hidden [object] $_s3Configuration
    hidden [object] $_clusterEndpoint
    hidden [object] $_typeName
    hidden [object] $_vpcConfiguration

    [KinesisFirehoseDeliveryStreamElasticsearchBufferingHints] $BufferingHints
    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [string] $DomainARN
    [string] $IndexName
    [string] $IndexRotationPeriod
    [KinesisFirehoseDeliveryStreamProcessingConfiguration] $ProcessingConfiguration
    [KinesisFirehoseDeliveryStreamElasticsearchRetryOptions] $RetryOptions
    [string] $RoleARN
    [string] $S3BackupMode
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3Configuration
    [string] $ClusterEndpoint
    [string] $TypeName
    [KinesisFirehoseDeliveryStreamVpcConfiguration] $VpcConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name BufferingHints -Value {
            $this._bufferingHints
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamElasticsearchBufferingHints], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bufferingHints = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DomainARN -Value {
            $this._domainARN
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._domainARN = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IndexName -Value {
            $this._indexName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._indexName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IndexRotationPeriod -Value {
            $this._indexRotationPeriod
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._indexRotationPeriod = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProcessingConfiguration -Value {
            $this._processingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._processingConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryOptions -Value {
            $this._retryOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamElasticsearchRetryOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryOptions = $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 S3BackupMode -Value {
            $this._s3BackupMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Configuration -Value {
            $this._s3Configuration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Configuration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusterEndpoint -Value {
            $this._clusterEndpoint
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clusterEndpoint = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TypeName -Value {
            $this._typeName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._typeName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcConfiguration -Value {
            $this._vpcConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamVpcConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamDeserializer'"

class KinesisFirehoseDeliveryStreamDeserializer : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamDeserializer'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html'

    hidden [object] $_hiveJsonSerDe
    hidden [object] $_openXJsonSerDe

    [KinesisFirehoseDeliveryStreamHiveJsonSerDe] $HiveJsonSerDe
    [KinesisFirehoseDeliveryStreamOpenXJsonSerDe] $OpenXJsonSerDe

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name HiveJsonSerDe -Value {
            $this._hiveJsonSerDe
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamHiveJsonSerDe], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hiveJsonSerDe = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OpenXJsonSerDe -Value {
            $this._openXJsonSerDe
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamOpenXJsonSerDe], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._openXJsonSerDe = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration'"

class KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html'

    hidden [object] $_kinesisStreamARN
    hidden [object] $_roleARN

    [string] $KinesisStreamARN
    [string] $RoleARN

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamRedshiftRetryOptions'"

class KinesisFirehoseDeliveryStreamRedshiftRetryOptions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamRedshiftRetryOptions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftretryoptions.html'

    hidden [object] $_durationInSeconds

    [int] $DurationInSeconds

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamRetryOptions'"

class KinesisFirehoseDeliveryStreamRetryOptions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamRetryOptions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html'

    hidden [object] $_durationInSeconds

    [int] $DurationInSeconds

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamParquetSerDe'"

class KinesisFirehoseDeliveryStreamParquetSerDe : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamParquetSerDe'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html'

    hidden [object] $_blockSizeBytes
    hidden [object] $_compression
    hidden [object] $_enableDictionaryCompression
    hidden [object] $_maxPaddingBytes
    hidden [object] $_pageSizeBytes
    hidden [object] $_writerVersion

    [int] $BlockSizeBytes
    [string] $Compression
    [bool] $EnableDictionaryCompression
    [int] $MaxPaddingBytes
    [int] $PageSizeBytes
    [string] $WriterVersion

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name BlockSizeBytes -Value {
            $this._blockSizeBytes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._blockSizeBytes = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Compression -Value {
            $this._compression
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._compression = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnableDictionaryCompression -Value {
            $this._enableDictionaryCompression
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._enableDictionaryCompression = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxPaddingBytes -Value {
            $this._maxPaddingBytes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxPaddingBytes = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PageSizeBytes -Value {
            $this._pageSizeBytes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._pageSizeBytes = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WriterVersion -Value {
            $this._writerVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._writerVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamS3DestinationConfiguration'"

class KinesisFirehoseDeliveryStreamS3DestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamS3DestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html'

    hidden [object] $_bucketARN
    hidden [object] $_bufferingHints
    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_compressionFormat
    hidden [object] $_encryptionConfiguration
    hidden [object] $_errorOutputPrefix
    hidden [object] $_prefix
    hidden [object] $_roleARN

    [string] $BucketARN
    [KinesisFirehoseDeliveryStreamBufferingHints] $BufferingHints
    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [string] $CompressionFormat
    [KinesisFirehoseDeliveryStreamEncryptionConfiguration] $EncryptionConfiguration
    [string] $ErrorOutputPrefix
    [string] $Prefix
    [string] $RoleARN

    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 BufferingHints -Value {
            $this._bufferingHints
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamBufferingHints], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bufferingHints = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CompressionFormat -Value {
            $this._compressionFormat
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._compressionFormat = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionConfiguration -Value {
            $this._encryptionConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamEncryptionConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encryptionConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ErrorOutputPrefix -Value {
            $this._errorOutputPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._errorOutputPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Prefix -Value {
            $this._prefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._prefix = 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
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamVpcConfiguration'"

class KinesisFirehoseDeliveryStreamVpcConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamVpcConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html'

    hidden [object] $_roleARN
    hidden [object] $_subnetIds
    hidden [object] $_securityGroupIds

    [string] $RoleARN
    [string[]] $SubnetIds
    [string[]] $SecurityGroupIds

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration'"

class KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html'

    hidden [object] $_bucketARN
    hidden [object] $_bufferingHints
    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_compressionFormat
    hidden [object] $_dataFormatConversionConfiguration
    hidden [object] $_dynamicPartitioningConfiguration
    hidden [object] $_encryptionConfiguration
    hidden [object] $_errorOutputPrefix
    hidden [object] $_prefix
    hidden [object] $_processingConfiguration
    hidden [object] $_roleARN
    hidden [object] $_s3BackupConfiguration
    hidden [object] $_s3BackupMode

    [string] $BucketARN
    [KinesisFirehoseDeliveryStreamBufferingHints] $BufferingHints
    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [string] $CompressionFormat
    [KinesisFirehoseDeliveryStreamDataFormatConversionConfiguration] $DataFormatConversionConfiguration
    [KinesisFirehoseDeliveryStreamDynamicPartitioningConfiguration] $DynamicPartitioningConfiguration
    [KinesisFirehoseDeliveryStreamEncryptionConfiguration] $EncryptionConfiguration
    [string] $ErrorOutputPrefix
    [string] $Prefix
    [KinesisFirehoseDeliveryStreamProcessingConfiguration] $ProcessingConfiguration
    [string] $RoleARN
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3BackupConfiguration
    [string] $S3BackupMode

    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 BufferingHints -Value {
            $this._bufferingHints
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamBufferingHints], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bufferingHints = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CompressionFormat -Value {
            $this._compressionFormat
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._compressionFormat = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataFormatConversionConfiguration -Value {
            $this._dataFormatConversionConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamDataFormatConversionConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataFormatConversionConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DynamicPartitioningConfiguration -Value {
            $this._dynamicPartitioningConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamDynamicPartitioningConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dynamicPartitioningConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionConfiguration -Value {
            $this._encryptionConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamEncryptionConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encryptionConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ErrorOutputPrefix -Value {
            $this._errorOutputPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._errorOutputPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Prefix -Value {
            $this._prefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._prefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProcessingConfiguration -Value {
            $this._processingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._processingConfiguration = $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 S3BackupConfiguration -Value {
            $this._s3BackupConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3BackupMode -Value {
            $this._s3BackupMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration'"

class KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html'

    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_clusterJDBCURL
    hidden [object] $_copyCommand
    hidden [object] $_password
    hidden [object] $_processingConfiguration
    hidden [object] $_retryOptions
    hidden [object] $_roleARN
    hidden [object] $_s3BackupConfiguration
    hidden [object] $_s3BackupMode
    hidden [object] $_s3Configuration
    hidden [object] $_username

    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [string] $ClusterJDBCURL
    [KinesisFirehoseDeliveryStreamCopyCommand] $CopyCommand
    [string] $Password
    [KinesisFirehoseDeliveryStreamProcessingConfiguration] $ProcessingConfiguration
    [KinesisFirehoseDeliveryStreamRedshiftRetryOptions] $RetryOptions
    [string] $RoleARN
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3BackupConfiguration
    [string] $S3BackupMode
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3Configuration
    [string] $Username

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusterJDBCURL -Value {
            $this._clusterJDBCURL
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clusterJDBCURL = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CopyCommand -Value {
            $this._copyCommand
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCopyCommand], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._copyCommand = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Password -Value {
            $this._password
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._password = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProcessingConfiguration -Value {
            $this._processingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._processingConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryOptions -Value {
            $this._retryOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamRedshiftRetryOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryOptions = $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 S3BackupConfiguration -Value {
            $this._s3BackupConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3BackupMode -Value {
            $this._s3BackupMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Configuration -Value {
            $this._s3Configuration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Configuration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Username -Value {
            $this._username
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._username = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute'"

class KinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamHttpEndpointCommonAttribute'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html'

    hidden [object] $_attributeName
    hidden [object] $_attributeValue

    [string] $AttributeName
    [string] $AttributeValue

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

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration'"

class KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html'

    hidden [object] $_roleARN
    hidden [object] $_endpointConfiguration
    hidden [object] $_requestConfiguration
    hidden [object] $_bufferingHints
    hidden [object] $_cloudWatchLoggingOptions
    hidden [object] $_processingConfiguration
    hidden [object] $_retryOptions
    hidden [object] $_s3BackupMode
    hidden [object] $_s3Configuration

    [string] $RoleARN
    [KinesisFirehoseDeliveryStreamHttpEndpointConfiguration] $EndpointConfiguration
    [KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration] $RequestConfiguration
    [KinesisFirehoseDeliveryStreamBufferingHints] $BufferingHints
    [KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions] $CloudWatchLoggingOptions
    [KinesisFirehoseDeliveryStreamProcessingConfiguration] $ProcessingConfiguration
    [KinesisFirehoseDeliveryStreamRetryOptions] $RetryOptions
    [string] $S3BackupMode
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3Configuration

    hidden [void] _addAccessors() {
        $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 EndpointConfiguration -Value {
            $this._endpointConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamHttpEndpointConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._endpointConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RequestConfiguration -Value {
            $this._requestConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamHttpEndpointRequestConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._requestConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BufferingHints -Value {
            $this._bufferingHints
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamBufferingHints], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bufferingHints = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLoggingOptions -Value {
            $this._cloudWatchLoggingOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamCloudWatchLoggingOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLoggingOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProcessingConfiguration -Value {
            $this._processingConfiguration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamProcessingConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._processingConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryOptions -Value {
            $this._retryOptions
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamRetryOptions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryOptions = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3BackupMode -Value {
            $this._s3BackupMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3BackupMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Configuration -Value {
            $this._s3Configuration
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Configuration = $value
        }
    }

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

Write-Verbose "Importing class 'KinesisFirehoseDeliveryStream'"

class KinesisFirehoseDeliveryStream : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSKinesisFirehoseDeliveryStream'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html'

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

    [string] $Type = 'AWS::KinesisFirehose::DeliveryStream'
    [KinesisFirehoseDeliveryStreamDeliveryStreamEncryptionConfigurationInput] $DeliveryStreamEncryptionConfigurationInput
    [string] $DeliveryStreamName
    [string] $DeliveryStreamType
    [KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration] $ElasticsearchDestinationConfiguration
    [KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration] $ExtendedS3DestinationConfiguration
    [KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration] $KinesisStreamSourceConfiguration
    [KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration] $RedshiftDestinationConfiguration
    [KinesisFirehoseDeliveryStreamS3DestinationConfiguration] $S3DestinationConfiguration
    [KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration] $SplunkDestinationConfiguration
    [KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration] $HttpEndpointDestinationConfiguration
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeliveryStreamEncryptionConfigurationInput -Value {
            $this.Properties['DeliveryStreamEncryptionConfigurationInput']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamDeliveryStreamEncryptionConfigurationInput], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeliveryStreamEncryptionConfigurationInput'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeliveryStreamName -Value {
            $this.Properties['DeliveryStreamName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeliveryStreamName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeliveryStreamType -Value {
            $this.Properties['DeliveryStreamType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeliveryStreamType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ElasticsearchDestinationConfiguration -Value {
            $this.Properties['ElasticsearchDestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ElasticsearchDestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExtendedS3DestinationConfiguration -Value {
            $this.Properties['ExtendedS3DestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamExtendedS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ExtendedS3DestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisStreamSourceConfiguration -Value {
            $this.Properties['KinesisStreamSourceConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamKinesisStreamSourceConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KinesisStreamSourceConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RedshiftDestinationConfiguration -Value {
            $this.Properties['RedshiftDestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamRedshiftDestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RedshiftDestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3DestinationConfiguration -Value {
            $this.Properties['S3DestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamS3DestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['S3DestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SplunkDestinationConfiguration -Value {
            $this.Properties['SplunkDestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamSplunkDestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SplunkDestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HttpEndpointDestinationConfiguration -Value {
            $this.Properties['HttpEndpointDestinationConfiguration']
        } -SecondValue {
            param([ValidateType(([KinesisFirehoseDeliveryStreamHttpEndpointDestinationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HttpEndpointDestinationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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