VaporShell.SES.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 'SESReceiptRuleBounceAction'"

class SESReceiptRuleBounceAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleBounceAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html'

    hidden [object] $_sender
    hidden [object] $_smtpReplyCode
    hidden [object] $_message
    hidden [object] $_topicArn
    hidden [object] $_statusCode

    [string] $Sender
    [string] $SmtpReplyCode
    [string] $Message
    [string] $TopicArn
    [string] $StatusCode

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Sender -Value {
            $this._sender
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sender = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SmtpReplyCode -Value {
            $this._smtpReplyCode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._smtpReplyCode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Message -Value {
            $this._message
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._message = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TopicArn -Value {
            $this._topicArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._topicArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StatusCode -Value {
            $this._statusCode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._statusCode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SESReceiptRuleAction'"

class SESReceiptRuleAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html'

    hidden [object] $_bounceAction
    hidden [object] $_s3Action
    hidden [object] $_stopAction
    hidden [object] $_sNSAction
    hidden [object] $_workmailAction
    hidden [object] $_addHeaderAction
    hidden [object] $_lambdaAction

    [SESReceiptRuleBounceAction] $BounceAction
    [SESReceiptRuleS3Action] $S3Action
    [SESReceiptRuleStopAction] $StopAction
    [SESReceiptRuleSNSAction] $SNSAction
    [SESReceiptRuleWorkmailAction] $WorkmailAction
    [SESReceiptRuleAddHeaderAction] $AddHeaderAction
    [SESReceiptRuleLambdaAction] $LambdaAction

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name BounceAction -Value {
            $this._bounceAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleBounceAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bounceAction = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Action -Value {
            $this._s3Action
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleS3Action], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Action = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StopAction -Value {
            $this._stopAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleStopAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._stopAction = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SNSAction -Value {
            $this._sNSAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleSNSAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sNSAction = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WorkmailAction -Value {
            $this._workmailAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleWorkmailAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._workmailAction = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AddHeaderAction -Value {
            $this._addHeaderAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleAddHeaderAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._addHeaderAction = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LambdaAction -Value {
            $this._lambdaAction
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleLambdaAction], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._lambdaAction = $value
        }
    }

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

Write-Verbose "Importing class 'SESReceiptFilterFilter'"

class SESReceiptFilterFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptFilterFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html'

    hidden [object] $_ipFilter
    hidden [object] $_name

    [SESReceiptFilterIpFilter] $IpFilter
    [string] $Name

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

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

Write-Verbose "Importing class 'SESConfigurationSetEventDestinationEventDestination'"

class SESConfigurationSetEventDestinationEventDestination : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESConfigurationSetEventDestinationEventDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html'

    hidden [object] $_cloudWatchDestination
    hidden [object] $_enabled
    hidden [object] $_matchingEventTypes
    hidden [object] $_name
    hidden [object] $_kinesisFirehoseDestination

    [SESConfigurationSetEventDestinationCloudWatchDestination] $CloudWatchDestination
    [bool] $Enabled
    [string[]] $MatchingEventTypes
    [string] $Name
    [SESConfigurationSetEventDestinationKinesisFirehoseDestination] $KinesisFirehoseDestination

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchDestination -Value {
            $this._cloudWatchDestination
        } -SecondValue {
            param([ValidateType(([SESConfigurationSetEventDestinationCloudWatchDestination], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchDestination = $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 MatchingEventTypes -Value {
            $this._matchingEventTypes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._matchingEventTypes = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KinesisFirehoseDestination -Value {
            $this._kinesisFirehoseDestination
        } -SecondValue {
            param([ValidateType(([SESConfigurationSetEventDestinationKinesisFirehoseDestination], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kinesisFirehoseDestination = $value
        }
    }

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

Write-Verbose "Importing class 'SESConfigurationSetEventDestinationDimensionConfiguration'"

class SESConfigurationSetEventDestinationDimensionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESConfigurationSetEventDestinationDimensionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html'

    hidden [object] $_dimensionValueSource
    hidden [object] $_defaultDimensionValue
    hidden [object] $_dimensionName

    [string] $DimensionValueSource
    [string] $DefaultDimensionValue
    [string] $DimensionName

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

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

Write-Verbose "Importing class 'SESReceiptRuleStopAction'"

class SESReceiptRuleStopAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleStopAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html'

    hidden [object] $_scope
    hidden [object] $_topicArn

    [string] $Scope
    [string] $TopicArn

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

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

Write-Verbose "Importing class 'SESReceiptRuleSNSAction'"

class SESReceiptRuleSNSAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleSNSAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html'

    hidden [object] $_topicArn
    hidden [object] $_encoding

    [string] $TopicArn
    [string] $Encoding

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

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

Write-Verbose "Importing class 'SESConfigurationSetEventDestinationKinesisFirehoseDestination'"

class SESConfigurationSetEventDestinationKinesisFirehoseDestination : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESConfigurationSetEventDestinationKinesisFirehoseDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html'

    hidden [object] $_iAMRoleARN
    hidden [object] $_deliveryStreamARN

    [string] $IAMRoleARN
    [string] $DeliveryStreamARN

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

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

Write-Verbose "Importing class 'SESReceiptFilterIpFilter'"

class SESReceiptFilterIpFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptFilterIpFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html'

    hidden [object] $_policy
    hidden [object] $_cidr

    [string] $Policy
    [string] $Cidr

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

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

Write-Verbose "Importing class 'SESTemplateTemplate'"

class SESTemplateTemplate : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESTemplateTemplate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html'

    hidden [object] $_htmlPart
    hidden [object] $_textPart
    hidden [object] $_templateName
    hidden [object] $_subjectPart

    [string] $HtmlPart
    [string] $TextPart
    [string] $TemplateName
    [string] $SubjectPart

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name HtmlPart -Value {
            $this._htmlPart
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._htmlPart = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TextPart -Value {
            $this._textPart
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._textPart = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TemplateName -Value {
            $this._templateName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._templateName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubjectPart -Value {
            $this._subjectPart
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._subjectPart = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SESContactListTopic'"

class SESContactListTopic : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESContactListTopic'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html'

    hidden [object] $_topicName
    hidden [object] $_displayName
    hidden [object] $_description
    hidden [object] $_defaultSubscriptionStatus

    [string] $TopicName
    [string] $DisplayName
    [string] $Description
    [string] $DefaultSubscriptionStatus

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name TopicName -Value {
            $this._topicName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._topicName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DisplayName -Value {
            $this._displayName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._displayName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this._description
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._description = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DefaultSubscriptionStatus -Value {
            $this._defaultSubscriptionStatus
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._defaultSubscriptionStatus = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SESReceiptRuleS3Action'"

class SESReceiptRuleS3Action : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleS3Action'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html'

    hidden [object] $_bucketName
    hidden [object] $_kmsKeyArn
    hidden [object] $_topicArn
    hidden [object] $_objectKeyPrefix

    [string] $BucketName
    [string] $KmsKeyArn
    [string] $TopicArn
    [string] $ObjectKeyPrefix

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name BucketName -Value {
            $this._bucketName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KmsKeyArn -Value {
            $this._kmsKeyArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._kmsKeyArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TopicArn -Value {
            $this._topicArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._topicArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ObjectKeyPrefix -Value {
            $this._objectKeyPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._objectKeyPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SESReceiptRuleWorkmailAction'"

class SESReceiptRuleWorkmailAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleWorkmailAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html'

    hidden [object] $_topicArn
    hidden [object] $_organizationArn

    [string] $TopicArn
    [string] $OrganizationArn

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

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

Write-Verbose "Importing class 'SESConfigurationSetEventDestinationCloudWatchDestination'"

class SESConfigurationSetEventDestinationCloudWatchDestination : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESConfigurationSetEventDestinationCloudWatchDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html'

    hidden [object] $_dimensionConfigurations

    [SESConfigurationSetEventDestinationDimensionConfiguration[]] $DimensionConfigurations

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

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

Write-Verbose "Importing class 'SESReceiptRuleRule'"

class SESReceiptRuleRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html'

    hidden [object] $_scanEnabled
    hidden [object] $_recipients
    hidden [object] $_actions
    hidden [object] $_enabled
    hidden [object] $_name
    hidden [object] $_tlsPolicy

    [bool] $ScanEnabled
    [string[]] $Recipients
    [SESReceiptRuleAction[]] $Actions
    [bool] $Enabled
    [string] $Name
    [string] $TlsPolicy

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScanEnabled -Value {
            $this._scanEnabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scanEnabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Recipients -Value {
            $this._recipients
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._recipients = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Actions -Value {
            $this._actions
        } -SecondValue {
            param([ValidateType(([SESReceiptRuleAction], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._actions = $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 Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TlsPolicy -Value {
            $this._tlsPolicy
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tlsPolicy = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SESReceiptRuleLambdaAction'"

class SESReceiptRuleLambdaAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleLambdaAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html'

    hidden [object] $_functionArn
    hidden [object] $_topicArn
    hidden [object] $_invocationType

    [string] $FunctionArn
    [string] $TopicArn
    [string] $InvocationType

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

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

Write-Verbose "Importing class 'SESReceiptRuleAddHeaderAction'"

class SESReceiptRuleAddHeaderAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSESReceiptRuleAddHeaderAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html'

    hidden [object] $_headerValue
    hidden [object] $_headerName

    [string] $HeaderValue
    [string] $HeaderName

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

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

Write-Verbose "Importing class 'SESContactList'"

class SESContactList : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESContactList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ContactList'
    [string] $ContactListName
    [string] $Description
    [SESContactListTopic[]] $Topics
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SESConfigurationSetEventDestination'"

class SESConfigurationSetEventDestination : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESConfigurationSetEventDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ConfigurationSetEventDestination'
    [string] $ConfigurationSetName
    [SESConfigurationSetEventDestinationEventDestination] $EventDestination
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SESTemplate'"

class SESTemplate : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESTemplate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::Template'
    [SESTemplateTemplate] $Template
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SESConfigurationSet'"

class SESConfigurationSet : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESConfigurationSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ConfigurationSet'
    [string] $Name
    [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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'SESReceiptRuleSet'"

class SESReceiptRuleSet : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESReceiptRuleSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ReceiptRuleSet'
    [string] $RuleSetName
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SESReceiptFilter'"

class SESReceiptFilter : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESReceiptFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ReceiptFilter'
    [SESReceiptFilterFilter] $Filter
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SESReceiptRule'"

class SESReceiptRule : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSESReceiptRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SES::ReceiptRule'
    [string] $After
    [SESReceiptRuleRule] $Rule
    [string] $RuleSetName
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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