VaporShell.KafkaConnect.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 'KafkaConnectConnectorFirehoseLogDelivery'"

class KafkaConnectConnectorFirehoseLogDelivery : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorFirehoseLogDelivery'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-firehoselogdelivery.html'

    hidden [object] $_deliveryStream
    hidden [object] $_enabled

    [string] $DeliveryStream
    [bool] $Enabled

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorApacheKafkaCluster'"

class KafkaConnectConnectorApacheKafkaCluster : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorApacheKafkaCluster'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-apachekafkacluster.html'

    hidden [object] $_bootstrapServers
    hidden [object] $_vpc

    [string] $BootstrapServers
    [KafkaConnectConnectorVpc] $Vpc

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorVpc'"

class KafkaConnectConnectorVpc : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorVpc'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-vpc.html'

    hidden [object] $_securityGroups
    hidden [object] $_subnets

    [string[]] $SecurityGroups
    [string[]] $Subnets

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorS3LogDelivery'"

class KafkaConnectConnectorS3LogDelivery : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorS3LogDelivery'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-s3logdelivery.html'

    hidden [object] $_bucket
    hidden [object] $_enabled
    hidden [object] $_prefix

    [string] $Bucket
    [bool] $Enabled
    [string] $Prefix

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorAutoScaling'"

class KafkaConnectConnectorAutoScaling : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorAutoScaling'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-autoscaling.html'

    hidden [object] $_maxWorkerCount
    hidden [object] $_minWorkerCount
    hidden [object] $_scaleInPolicy
    hidden [object] $_scaleOutPolicy
    hidden [object] $_mcuCount

    [int] $MaxWorkerCount
    [int] $MinWorkerCount
    [KafkaConnectConnectorScaleInPolicy] $ScaleInPolicy
    [KafkaConnectConnectorScaleOutPolicy] $ScaleOutPolicy
    [int] $McuCount

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxWorkerCount -Value {
            $this._maxWorkerCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxWorkerCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MinWorkerCount -Value {
            $this._minWorkerCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._minWorkerCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScaleInPolicy -Value {
            $this._scaleInPolicy
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorScaleInPolicy], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scaleInPolicy = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScaleOutPolicy -Value {
            $this._scaleOutPolicy
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorScaleOutPolicy], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scaleOutPolicy = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name McuCount -Value {
            $this._mcuCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._mcuCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KafkaConnectConnectorWorkerConfiguration'"

class KafkaConnectConnectorWorkerConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorWorkerConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerconfiguration.html'

    hidden [object] $_revision
    hidden [object] $_workerConfigurationArn

    [int] $Revision
    [string] $WorkerConfigurationArn

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorScaleInPolicy'"

class KafkaConnectConnectorScaleInPolicy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorScaleInPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleinpolicy.html'

    hidden [object] $_cpuUtilizationPercentage

    [int] $CpuUtilizationPercentage

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorCapacity'"

class KafkaConnectConnectorCapacity : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorCapacity'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-capacity.html'

    hidden [object] $_autoScaling
    hidden [object] $_provisionedCapacity

    [KafkaConnectConnectorAutoScaling] $AutoScaling
    [KafkaConnectConnectorProvisionedCapacity] $ProvisionedCapacity

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutoScaling -Value {
            $this._autoScaling
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorAutoScaling], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._autoScaling = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProvisionedCapacity -Value {
            $this._provisionedCapacity
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorProvisionedCapacity], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._provisionedCapacity = $value
        }
    }

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

Write-Verbose "Importing class 'KafkaConnectConnectorLogDelivery'"

class KafkaConnectConnectorLogDelivery : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorLogDelivery'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-logdelivery.html'

    hidden [object] $_workerLogDelivery

    [KafkaConnectConnectorWorkerLogDelivery] $WorkerLogDelivery

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorKafkaClusterEncryptionInTransit'"

class KafkaConnectConnectorKafkaClusterEncryptionInTransit : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorKafkaClusterEncryptionInTransit'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterencryptionintransit.html'

    hidden [object] $_encryptionType

    [string] $EncryptionType

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorWorkerLogDelivery'"

class KafkaConnectConnectorWorkerLogDelivery : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorWorkerLogDelivery'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-workerlogdelivery.html'

    hidden [object] $_cloudWatchLogs
    hidden [object] $_firehose
    hidden [object] $_s3

    [KafkaConnectConnectorCloudWatchLogsLogDelivery] $CloudWatchLogs
    [KafkaConnectConnectorFirehoseLogDelivery] $Firehose
    [KafkaConnectConnectorS3LogDelivery] $S3

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLogs -Value {
            $this._cloudWatchLogs
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorCloudWatchLogsLogDelivery], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLogs = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Firehose -Value {
            $this._firehose
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorFirehoseLogDelivery], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._firehose = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3 -Value {
            $this._s3
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorS3LogDelivery], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3 = $value
        }
    }

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

Write-Verbose "Importing class 'KafkaConnectConnectorScaleOutPolicy'"

class KafkaConnectConnectorScaleOutPolicy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorScaleOutPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleoutpolicy.html'

    hidden [object] $_cpuUtilizationPercentage

    [int] $CpuUtilizationPercentage

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorKafkaCluster'"

class KafkaConnectConnectorKafkaCluster : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorKafkaCluster'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkacluster.html'

    hidden [object] $_apacheKafkaCluster

    [KafkaConnectConnectorApacheKafkaCluster] $ApacheKafkaCluster

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorProvisionedCapacity'"

class KafkaConnectConnectorProvisionedCapacity : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorProvisionedCapacity'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-provisionedcapacity.html'

    hidden [object] $_mcuCount
    hidden [object] $_workerCount

    [int] $McuCount
    [int] $WorkerCount

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorCloudWatchLogsLogDelivery'"

class KafkaConnectConnectorCloudWatchLogsLogDelivery : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorCloudWatchLogsLogDelivery'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-cloudwatchlogslogdelivery.html'

    hidden [object] $_enabled
    hidden [object] $_logGroup

    [bool] $Enabled
    [string] $LogGroup

    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 LogGroup -Value {
            $this._logGroup
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._logGroup = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'KafkaConnectConnectorCustomPlugin'"

class KafkaConnectConnectorCustomPlugin : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorCustomPlugin'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-customplugin.html'

    hidden [object] $_customPluginArn
    hidden [object] $_revision

    [string] $CustomPluginArn
    [int] $Revision

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorPlugin'"

class KafkaConnectConnectorPlugin : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorPlugin'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-plugin.html'

    hidden [object] $_customPlugin

    [KafkaConnectConnectorCustomPlugin] $CustomPlugin

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

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

Write-Verbose "Importing class 'KafkaConnectConnectorKafkaClusterClientAuthentication'"

class KafkaConnectConnectorKafkaClusterClientAuthentication : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSKafkaConnectConnectorKafkaClusterClientAuthentication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-kafkaclusterclientauthentication.html'

    hidden [object] $_authenticationType

    [string] $AuthenticationType

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

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

Write-Verbose "Importing class 'KafkaConnectConnector'"

class KafkaConnectConnector : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSKafkaConnectConnector'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html'

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

    [string] $Type = 'AWS::KafkaConnect::Connector'
    [KafkaConnectConnectorCapacity] $Capacity
    [string] $ConnectorConfiguration
    [string] $ConnectorDescription
    [string] $ConnectorName
    [KafkaConnectConnectorKafkaCluster] $KafkaCluster
    [KafkaConnectConnectorKafkaClusterClientAuthentication] $KafkaClusterClientAuthentication
    [KafkaConnectConnectorKafkaClusterEncryptionInTransit] $KafkaClusterEncryptionInTransit
    [string] $KafkaConnectVersion
    [KafkaConnectConnectorLogDelivery] $LogDelivery
    [KafkaConnectConnectorPlugin[]] $Plugins
    [string] $ServiceExecutionRoleArn
    [KafkaConnectConnectorWorkerConfiguration] $WorkerConfiguration
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Capacity -Value {
            $this.Properties['Capacity']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorCapacity], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Capacity'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorConfiguration -Value {
            $this.Properties['ConnectorConfiguration']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConnectorConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorDescription -Value {
            $this.Properties['ConnectorDescription']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConnectorDescription'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorName -Value {
            $this.Properties['ConnectorName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConnectorName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KafkaCluster -Value {
            $this.Properties['KafkaCluster']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorKafkaCluster], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KafkaCluster'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KafkaClusterClientAuthentication -Value {
            $this.Properties['KafkaClusterClientAuthentication']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorKafkaClusterClientAuthentication], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KafkaClusterClientAuthentication'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KafkaClusterEncryptionInTransit -Value {
            $this.Properties['KafkaClusterEncryptionInTransit']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorKafkaClusterEncryptionInTransit], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KafkaClusterEncryptionInTransit'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KafkaConnectVersion -Value {
            $this.Properties['KafkaConnectVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KafkaConnectVersion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogDelivery -Value {
            $this.Properties['LogDelivery']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorLogDelivery], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LogDelivery'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Plugins -Value {
            $this.Properties['Plugins']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorPlugin], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Plugins'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceExecutionRoleArn -Value {
            $this.Properties['ServiceExecutionRoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ServiceExecutionRoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WorkerConfiguration -Value {
            $this.Properties['WorkerConfiguration']
        } -SecondValue {
            param([ValidateType(([KafkaConnectConnectorWorkerConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['WorkerConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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