VaporShell.Events.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 'EventsRuleBatchRetryStrategy'"

class EventsRuleBatchRetryStrategy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleBatchRetryStrategy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html'

    hidden [object] $_attempts

    [int] $Attempts

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

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

Write-Verbose "Importing class 'EventsRuleHttpParameters'"

class EventsRuleHttpParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleHttpParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html'

    hidden [object] $_headerParameters
    hidden [object] $_pathParameterValues
    hidden [object] $_queryStringParameters

    [string] $HeaderParameters
    [string[]] $PathParameterValues
    [string] $QueryStringParameters

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

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

Write-Verbose "Importing class 'EventsEventBusPolicyCondition'"

class EventsEventBusPolicyCondition : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsEventBusPolicyCondition'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html'

    hidden [object] $_type
    hidden [object] $_value
    hidden [object] $_key

    [string] $Type
    [string] $Value
    [string] $Key

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

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

Write-Verbose "Importing class 'EventsRuleBatchArrayProperties'"

class EventsRuleBatchArrayProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleBatchArrayProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html'

    hidden [object] $_size

    [int] $Size

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

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

Write-Verbose "Importing class 'EventsRuleBatchParameters'"

class EventsRuleBatchParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleBatchParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html'

    hidden [object] $_arrayProperties
    hidden [object] $_jobDefinition
    hidden [object] $_jobName
    hidden [object] $_retryStrategy

    [EventsRuleBatchArrayProperties] $ArrayProperties
    [string] $JobDefinition
    [string] $JobName
    [EventsRuleBatchRetryStrategy] $RetryStrategy

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ArrayProperties -Value {
            $this._arrayProperties
        } -SecondValue {
            param([ValidateType(([EventsRuleBatchArrayProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._arrayProperties = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name JobDefinition -Value {
            $this._jobDefinition
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jobDefinition = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name JobName -Value {
            $this._jobName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jobName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryStrategy -Value {
            $this._retryStrategy
        } -SecondValue {
            param([ValidateType(([EventsRuleBatchRetryStrategy], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryStrategy = $value
        }
    }

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

Write-Verbose "Importing class 'EventsRuleRunCommandParameters'"

class EventsRuleRunCommandParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleRunCommandParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html'

    hidden [object] $_runCommandTargets

    [EventsRuleRunCommandTarget[]] $RunCommandTargets

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

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

Write-Verbose "Importing class 'EventsRuleDeadLetterConfig'"

class EventsRuleDeadLetterConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleDeadLetterConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html'

    hidden [object] $_arn

    [string] $Arn

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

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

Write-Verbose "Importing class 'EventsRuleNetworkConfiguration'"

class EventsRuleNetworkConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleNetworkConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html'

    hidden [object] $_awsVpcConfiguration

    [EventsRuleAwsVpcConfiguration] $AwsVpcConfiguration

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

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

Write-Verbose "Importing class 'EventsRuleRunCommandTarget'"

class EventsRuleRunCommandTarget : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleRunCommandTarget'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html'

    hidden [object] $_key
    hidden [object] $_values

    [string] $Key
    [string[]] $Values

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

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

Write-Verbose "Importing class 'EventsRuleInputTransformer'"

class EventsRuleInputTransformer : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleInputTransformer'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html'

    hidden [object] $_inputPathsMap
    hidden [object] $_inputTemplate

    [string] $InputPathsMap
    [string] $InputTemplate

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

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

Write-Verbose "Importing class 'EventsRuleSqsParameters'"

class EventsRuleSqsParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleSqsParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html'

    hidden [object] $_messageGroupId

    [string] $MessageGroupId

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

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

Write-Verbose "Importing class 'EventsRuleRetryPolicy'"

class EventsRuleRetryPolicy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleRetryPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html'

    hidden [object] $_maximumEventAgeInSeconds
    hidden [object] $_maximumRetryAttempts

    [int] $MaximumEventAgeInSeconds
    [int] $MaximumRetryAttempts

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

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

Write-Verbose "Importing class 'EventsRuleTarget'"

class EventsRuleTarget : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleTarget'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html'

    hidden [object] $_arn
    hidden [object] $_batchParameters
    hidden [object] $_deadLetterConfig
    hidden [object] $_ecsParameters
    hidden [object] $_httpParameters
    hidden [object] $_id
    hidden [object] $_input
    hidden [object] $_inputPath
    hidden [object] $_inputTransformer
    hidden [object] $_kinesisParameters
    hidden [object] $_redshiftDataParameters
    hidden [object] $_retryPolicy
    hidden [object] $_roleArn
    hidden [object] $_runCommandParameters
    hidden [object] $_sqsParameters

    [string] $Arn
    [EventsRuleBatchParameters] $BatchParameters
    [EventsRuleDeadLetterConfig] $DeadLetterConfig
    [EventsRuleEcsParameters] $EcsParameters
    [EventsRuleHttpParameters] $HttpParameters
    [string] $Id
    [string] $Input
    [string] $InputPath
    [EventsRuleInputTransformer] $InputTransformer
    [EventsRuleKinesisParameters] $KinesisParameters
    [EventsRuleRedshiftDataParameters] $RedshiftDataParameters
    [EventsRuleRetryPolicy] $RetryPolicy
    [string] $RoleArn
    [EventsRuleRunCommandParameters] $RunCommandParameters
    [EventsRuleSqsParameters] $SqsParameters

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Arn -Value {
            $this._arn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._arn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BatchParameters -Value {
            $this._batchParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleBatchParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._batchParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeadLetterConfig -Value {
            $this._deadLetterConfig
        } -SecondValue {
            param([ValidateType(([EventsRuleDeadLetterConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deadLetterConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EcsParameters -Value {
            $this._ecsParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleEcsParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._ecsParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HttpParameters -Value {
            $this._httpParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleHttpParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._httpParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Id -Value {
            $this._id
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._id = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Input -Value {
            $this._input
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._input = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputPath -Value {
            $this._inputPath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputPath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputTransformer -Value {
            $this._inputTransformer
        } -SecondValue {
            param([ValidateType(([EventsRuleInputTransformer], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputTransformer = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisParameters -Value {
            $this._kinesisParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleKinesisParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RedshiftDataParameters -Value {
            $this._redshiftDataParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleRedshiftDataParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._redshiftDataParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetryPolicy -Value {
            $this._retryPolicy
        } -SecondValue {
            param([ValidateType(([EventsRuleRetryPolicy], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._retryPolicy = $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 RunCommandParameters -Value {
            $this._runCommandParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleRunCommandParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._runCommandParameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SqsParameters -Value {
            $this._sqsParameters
        } -SecondValue {
            param([ValidateType(([EventsRuleSqsParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sqsParameters = $value
        }
    }

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

Write-Verbose "Importing class 'EventsRuleKinesisParameters'"

class EventsRuleKinesisParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleKinesisParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html'

    hidden [object] $_partitionKeyPath

    [string] $PartitionKeyPath

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

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

Write-Verbose "Importing class 'EventsRuleRedshiftDataParameters'"

class EventsRuleRedshiftDataParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleRedshiftDataParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html'

    hidden [object] $_database
    hidden [object] $_dbUser
    hidden [object] $_secretManagerArn
    hidden [object] $_sql
    hidden [object] $_statementName
    hidden [object] $_withEvent

    [string] $Database
    [string] $DbUser
    [string] $SecretManagerArn
    [string] $Sql
    [string] $StatementName
    [bool] $WithEvent

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Database -Value {
            $this._database
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._database = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DbUser -Value {
            $this._dbUser
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dbUser = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretManagerArn -Value {
            $this._secretManagerArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretManagerArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Sql -Value {
            $this._sql
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sql = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StatementName -Value {
            $this._statementName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._statementName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WithEvent -Value {
            $this._withEvent
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._withEvent = $value
        }
    }

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

Write-Verbose "Importing class 'EventsRuleEcsParameters'"

class EventsRuleEcsParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleEcsParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html'

    hidden [object] $_group
    hidden [object] $_launchType
    hidden [object] $_networkConfiguration
    hidden [object] $_platformVersion
    hidden [object] $_taskCount
    hidden [object] $_taskDefinitionArn

    [string] $Group
    [string] $LaunchType
    [EventsRuleNetworkConfiguration] $NetworkConfiguration
    [string] $PlatformVersion
    [int] $TaskCount
    [string] $TaskDefinitionArn

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Group -Value {
            $this._group
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._group = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LaunchType -Value {
            $this._launchType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._launchType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NetworkConfiguration -Value {
            $this._networkConfiguration
        } -SecondValue {
            param([ValidateType(([EventsRuleNetworkConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._networkConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PlatformVersion -Value {
            $this._platformVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._platformVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TaskCount -Value {
            $this._taskCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._taskCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TaskDefinitionArn -Value {
            $this._taskDefinitionArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._taskDefinitionArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'EventsRuleAwsVpcConfiguration'"

class EventsRuleAwsVpcConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSEventsRuleAwsVpcConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html'

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

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

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

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

Write-Verbose "Importing class 'EventsApiDestination'"

class EventsApiDestination : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsApiDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html'

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

    [string] $Type = 'AWS::Events::ApiDestination'
    [string] $Name
    [string] $Description
    [string] $ConnectionArn
    [int] $InvocationRateLimitPerSecond
    [string] $InvocationEndpoint
    [string] $HttpMethod
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'EventsRule'"

class EventsRule : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html'

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

    [string] $Type = 'AWS::Events::Rule'
    [string] $Description
    [string] $EventBusName
    [VSJson] $EventPattern
    [string] $Name
    [string] $RoleArn
    [string] $ScheduleExpression
    [string] $State
    [EventsRuleTarget[]] $Targets
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventBusName -Value {
            $this.Properties['EventBusName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EventBusName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventPattern -Value {
            $this.Properties['EventPattern']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['EventPattern'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['EventPattern']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this.Properties['RoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScheduleExpression -Value {
            $this.Properties['ScheduleExpression']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ScheduleExpression'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name State -Value {
            $this.Properties['State']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['State'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Targets -Value {
            $this.Properties['Targets']
        } -SecondValue {
            param([ValidateType(([EventsRuleTarget], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Targets'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'EventsArchive'"

class EventsArchive : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsArchive'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html'

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

    [string] $Type = 'AWS::Events::Archive'
    [string] $ArchiveName
    [string] $SourceArn
    [string] $Description
    [VSJson] $EventPattern
    [int] $RetentionDays
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ArchiveName -Value {
            $this.Properties['ArchiveName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ArchiveName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceArn -Value {
            $this.Properties['SourceArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventPattern -Value {
            $this.Properties['EventPattern']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['EventPattern'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['EventPattern']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RetentionDays -Value {
            $this.Properties['RetentionDays']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RetentionDays'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'EventsConnection'"

class EventsConnection : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsConnection'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html'

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

    [string] $Type = 'AWS::Events::Connection'
    [string] $Name
    [string] $Description
    [string] $AuthorizationType
    [VSJson] $AuthParameters
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AuthorizationType -Value {
            $this.Properties['AuthorizationType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AuthorizationType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AuthParameters -Value {
            $this.Properties['AuthParameters']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['AuthParameters'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['AuthParameters']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'EventsEventBusPolicy'"

class EventsEventBusPolicy : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsEventBusPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html'


    [string] $Type = 'AWS::Events::EventBusPolicy'
    [string] $EventBusName
    [EventsEventBusPolicyCondition] $Condition
    [string] $Action
    [string] $StatementId
    [VSJson] $Statement
    [string] $Principal
    [VSJson] $Metadata

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventBusName -Value {
            $this.Properties['EventBusName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EventBusName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this.Properties['Condition']
        } -SecondValue {
            param([ValidateType(([EventsEventBusPolicyCondition], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Condition'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Action -Value {
            $this.Properties['Action']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Action'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StatementId -Value {
            $this.Properties['StatementId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StatementId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Statement -Value {
            $this.Properties['Statement']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['Statement'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['Statement']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Principal -Value {
            $this.Properties['Principal']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Principal'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'EventsEventBus'"

class EventsEventBus : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSEventsEventBus'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html'

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

    [string] $Type = 'AWS::Events::EventBus'
    [string] $EventSourceName
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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