VaporShell.AppFlow.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 'AppFlowFlowIncrementalPullConfig'"

class AppFlowFlowIncrementalPullConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowIncrementalPullConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-incrementalpullconfig.html'

    hidden [object] $_datetimeTypeFieldName

    [string] $DatetimeTypeFieldName

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileInforNexusConnectorProfileProperties'"

class AppFlowConnectorProfileInforNexusConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileInforNexusConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileDynatraceConnectorProfileCredentials'"

class AppFlowConnectorProfileDynatraceConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileDynatraceConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofilecredentials.html'

    hidden [object] $_apiToken

    [string] $ApiToken

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

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

Write-Verbose "Importing class 'AppFlowFlowPrefixConfig'"

class AppFlowFlowPrefixConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowPrefixConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-prefixconfig.html'

    hidden [object] $_prefixType
    hidden [object] $_prefixFormat

    [string] $PrefixType
    [string] $PrefixFormat

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileMarketoConnectorProfileCredentials'"

class AppFlowConnectorProfileMarketoConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileMarketoConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofilecredentials.html'

    hidden [object] $_clientId
    hidden [object] $_clientSecret
    hidden [object] $_accessToken
    hidden [object] $_connectorOAuthRequest

    [string] $ClientId
    [string] $ClientSecret
    [string] $AccessToken
    [AppFlowConnectorProfileConnectorOAuthRequest] $ConnectorOAuthRequest

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientId -Value {
            $this._clientId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientSecret -Value {
            $this._clientSecret
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientSecret = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessToken -Value {
            $this._accessToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOAuthRequest -Value {
            $this._connectorOAuthRequest
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorOAuthRequest], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOAuthRequest = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileRedshiftConnectorProfileCredentials'"

class AppFlowConnectorProfileRedshiftConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileRedshiftConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofilecredentials.html'

    hidden [object] $_username
    hidden [object] $_password

    [string] $Username
    [string] $Password

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileZendeskConnectorProfileProperties'"

class AppFlowConnectorProfileZendeskConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileZendeskConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowFlowS3OutputFormatConfig'"

class AppFlowFlowS3OutputFormatConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowS3OutputFormatConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3outputformatconfig.html'

    hidden [object] $_fileType
    hidden [object] $_prefixConfig
    hidden [object] $_aggregationConfig

    [string] $FileType
    [AppFlowFlowPrefixConfig] $PrefixConfig
    [AppFlowFlowAggregationConfig] $AggregationConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileType -Value {
            $this._fileType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._fileType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrefixConfig -Value {
            $this._prefixConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowPrefixConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._prefixConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AggregationConfig -Value {
            $this._aggregationConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowAggregationConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._aggregationConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowDestinationFlowConfig'"

class AppFlowFlowDestinationFlowConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowDestinationFlowConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationflowconfig.html'

    hidden [object] $_connectorType
    hidden [object] $_connectorProfileName
    hidden [object] $_destinationConnectorProperties

    [string] $ConnectorType
    [string] $ConnectorProfileName
    [AppFlowFlowDestinationConnectorProperties] $DestinationConnectorProperties

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

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

Write-Verbose "Importing class 'AppFlowFlowDatadogSourceProperties'"

class AppFlowFlowDatadogSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowDatadogSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-datadogsourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowFlowAggregationConfig'"

class AppFlowFlowAggregationConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowAggregationConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-aggregationconfig.html'

    hidden [object] $_aggregationType

    [string] $AggregationType

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

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

Write-Verbose "Importing class 'AppFlowFlowScheduledTriggerProperties'"

class AppFlowFlowScheduledTriggerProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowScheduledTriggerProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-scheduledtriggerproperties.html'

    hidden [object] $_scheduleExpression
    hidden [object] $_dataPullMode
    hidden [object] $_scheduleStartTime
    hidden [object] $_scheduleEndTime
    hidden [object] $_timeZone

    [string] $ScheduleExpression
    [string] $DataPullMode
    [double] $ScheduleStartTime
    [double] $ScheduleEndTime
    [string] $TimeZone

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScheduleExpression -Value {
            $this._scheduleExpression
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scheduleExpression = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataPullMode -Value {
            $this._dataPullMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataPullMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScheduleStartTime -Value {
            $this._scheduleStartTime
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scheduleStartTime = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ScheduleEndTime -Value {
            $this._scheduleEndTime
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._scheduleEndTime = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TimeZone -Value {
            $this._timeZone
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._timeZone = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowDestinationConnectorProperties'"

class AppFlowFlowDestinationConnectorProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowDestinationConnectorProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-destinationconnectorproperties.html'

    hidden [object] $_redshift
    hidden [object] $_s3
    hidden [object] $_salesforce
    hidden [object] $_snowflake
    hidden [object] $_eventBridge
    hidden [object] $_upsolver

    [AppFlowFlowRedshiftDestinationProperties] $Redshift
    [AppFlowFlowS3DestinationProperties] $S3
    [AppFlowFlowSalesforceDestinationProperties] $Salesforce
    [AppFlowFlowSnowflakeDestinationProperties] $Snowflake
    [AppFlowFlowEventBridgeDestinationProperties] $EventBridge
    [AppFlowFlowUpsolverDestinationProperties] $Upsolver

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Redshift -Value {
            $this._redshift
        } -SecondValue {
            param([ValidateType(([AppFlowFlowRedshiftDestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._redshift = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3 -Value {
            $this._s3
        } -SecondValue {
            param([ValidateType(([AppFlowFlowS3DestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3 = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Salesforce -Value {
            $this._salesforce
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSalesforceDestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._salesforce = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Snowflake -Value {
            $this._snowflake
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSnowflakeDestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._snowflake = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventBridge -Value {
            $this._eventBridge
        } -SecondValue {
            param([ValidateType(([AppFlowFlowEventBridgeDestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._eventBridge = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Upsolver -Value {
            $this._upsolver
        } -SecondValue {
            param([ValidateType(([AppFlowFlowUpsolverDestinationProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._upsolver = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowConnectorOperator'"

class AppFlowFlowConnectorOperator : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowConnectorOperator'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-connectoroperator.html'

    hidden [object] $_amplitude
    hidden [object] $_datadog
    hidden [object] $_dynatrace
    hidden [object] $_googleAnalytics
    hidden [object] $_inforNexus
    hidden [object] $_marketo
    hidden [object] $_s3
    hidden [object] $_salesforce
    hidden [object] $_serviceNow
    hidden [object] $_singular
    hidden [object] $_slack
    hidden [object] $_trendmicro
    hidden [object] $_veeva
    hidden [object] $_zendesk

    [string] $Amplitude
    [string] $Datadog
    [string] $Dynatrace
    [string] $GoogleAnalytics
    [string] $InforNexus
    [string] $Marketo
    [string] $S3
    [string] $Salesforce
    [string] $ServiceNow
    [string] $Singular
    [string] $Slack
    [string] $Trendmicro
    [string] $Veeva
    [string] $Zendesk

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Amplitude -Value {
            $this._amplitude
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._amplitude = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Datadog -Value {
            $this._datadog
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._datadog = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Dynatrace -Value {
            $this._dynatrace
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dynatrace = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GoogleAnalytics -Value {
            $this._googleAnalytics
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._googleAnalytics = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InforNexus -Value {
            $this._inforNexus
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inforNexus = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Marketo -Value {
            $this._marketo
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._marketo = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3 -Value {
            $this._s3
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3 = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Salesforce -Value {
            $this._salesforce
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._salesforce = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceNow -Value {
            $this._serviceNow
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serviceNow = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Singular -Value {
            $this._singular
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._singular = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Slack -Value {
            $this._slack
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._slack = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Trendmicro -Value {
            $this._trendmicro
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._trendmicro = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Veeva -Value {
            $this._veeva
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._veeva = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Zendesk -Value {
            $this._zendesk
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._zendesk = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowZendeskSourceProperties'"

class AppFlowFlowZendeskSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowZendeskSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-zendesksourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileGoogleAnalyticsConnectorProfileCredentials'"

class AppFlowConnectorProfileGoogleAnalyticsConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileGoogleAnalyticsConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-googleanalyticsconnectorprofilecredentials.html'

    hidden [object] $_clientId
    hidden [object] $_clientSecret
    hidden [object] $_accessToken
    hidden [object] $_refreshToken
    hidden [object] $_connectorOAuthRequest

    [string] $ClientId
    [string] $ClientSecret
    [string] $AccessToken
    [string] $RefreshToken
    [AppFlowConnectorProfileConnectorOAuthRequest] $ConnectorOAuthRequest

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientId -Value {
            $this._clientId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientSecret -Value {
            $this._clientSecret
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientSecret = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessToken -Value {
            $this._accessToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RefreshToken -Value {
            $this._refreshToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._refreshToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOAuthRequest -Value {
            $this._connectorOAuthRequest
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorOAuthRequest], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOAuthRequest = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowSalesforceDestinationProperties'"

class AppFlowFlowSalesforceDestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSalesforceDestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcedestinationproperties.html'

    hidden [object] $_object
    hidden [object] $_errorHandlingConfig
    hidden [object] $_idFieldNames
    hidden [object] $_writeOperationType

    [string] $Object
    [AppFlowFlowErrorHandlingConfig] $ErrorHandlingConfig
    [AppFlowFlowIdFieldNamesList] $IdFieldNames
    [string] $WriteOperationType

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Object -Value {
            $this._object
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._object = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ErrorHandlingConfig -Value {
            $this._errorHandlingConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowErrorHandlingConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._errorHandlingConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IdFieldNames -Value {
            $this._idFieldNames
        } -SecondValue {
            param([ValidateType(([AppFlowFlowIdFieldNamesList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._idFieldNames = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WriteOperationType -Value {
            $this._writeOperationType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._writeOperationType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowErrorHandlingConfig'"

class AppFlowFlowErrorHandlingConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowErrorHandlingConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-errorhandlingconfig.html'

    hidden [object] $_failOnFirstError
    hidden [object] $_bucketPrefix
    hidden [object] $_bucketName

    [bool] $FailOnFirstError
    [string] $BucketPrefix
    [string] $BucketName

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

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

Write-Verbose "Importing class 'AppFlowFlowS3SourceProperties'"

class AppFlowFlowS3SourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowS3SourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3sourceproperties.html'

    hidden [object] $_bucketName
    hidden [object] $_bucketPrefix

    [string] $BucketName
    [string] $BucketPrefix

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileDynatraceConnectorProfileProperties'"

class AppFlowConnectorProfileDynatraceConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileDynatraceConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-dynatraceconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSalesforceConnectorProfileCredentials'"

class AppFlowConnectorProfileSalesforceConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSalesforceConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofilecredentials.html'

    hidden [object] $_accessToken
    hidden [object] $_refreshToken
    hidden [object] $_connectorOAuthRequest
    hidden [object] $_clientCredentialsArn

    [string] $AccessToken
    [string] $RefreshToken
    [AppFlowConnectorProfileConnectorOAuthRequest] $ConnectorOAuthRequest
    [string] $ClientCredentialsArn

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessToken -Value {
            $this._accessToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RefreshToken -Value {
            $this._refreshToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._refreshToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOAuthRequest -Value {
            $this._connectorOAuthRequest
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorOAuthRequest], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOAuthRequest = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientCredentialsArn -Value {
            $this._clientCredentialsArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientCredentialsArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileRedshiftConnectorProfileProperties'"

class AppFlowConnectorProfileRedshiftConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileRedshiftConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-redshiftconnectorprofileproperties.html'

    hidden [object] $_databaseUrl
    hidden [object] $_bucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_roleArn

    [string] $DatabaseUrl
    [string] $BucketName
    [string] $BucketPrefix
    [string] $RoleArn

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

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

Write-Verbose "Importing class 'AppFlowFlowSalesforceSourceProperties'"

class AppFlowFlowSalesforceSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSalesforceSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-salesforcesourceproperties.html'

    hidden [object] $_object
    hidden [object] $_enableDynamicFieldUpdate
    hidden [object] $_includeDeletedRecords

    [string] $Object
    [bool] $EnableDynamicFieldUpdate
    [bool] $IncludeDeletedRecords

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

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

Write-Verbose "Importing class 'AppFlowFlowSingularSourceProperties'"

class AppFlowFlowSingularSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSingularSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-singularsourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowFlowEventBridgeDestinationProperties'"

class AppFlowFlowEventBridgeDestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowEventBridgeDestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-eventbridgedestinationproperties.html'

    hidden [object] $_object
    hidden [object] $_errorHandlingConfig

    [string] $Object
    [AppFlowFlowErrorHandlingConfig] $ErrorHandlingConfig

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

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

Write-Verbose "Importing class 'AppFlowFlowMarketoSourceProperties'"

class AppFlowFlowMarketoSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowMarketoSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-marketosourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileConnectorProfileCredentials'"

class AppFlowConnectorProfileConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofilecredentials.html'

    hidden [object] $_amplitude
    hidden [object] $_datadog
    hidden [object] $_dynatrace
    hidden [object] $_googleAnalytics
    hidden [object] $_inforNexus
    hidden [object] $_marketo
    hidden [object] $_redshift
    hidden [object] $_salesforce
    hidden [object] $_serviceNow
    hidden [object] $_singular
    hidden [object] $_slack
    hidden [object] $_snowflake
    hidden [object] $_trendmicro
    hidden [object] $_veeva
    hidden [object] $_zendesk

    [AppFlowConnectorProfileAmplitudeConnectorProfileCredentials] $Amplitude
    [AppFlowConnectorProfileDatadogConnectorProfileCredentials] $Datadog
    [AppFlowConnectorProfileDynatraceConnectorProfileCredentials] $Dynatrace
    [AppFlowConnectorProfileGoogleAnalyticsConnectorProfileCredentials] $GoogleAnalytics
    [AppFlowConnectorProfileInforNexusConnectorProfileCredentials] $InforNexus
    [AppFlowConnectorProfileMarketoConnectorProfileCredentials] $Marketo
    [AppFlowConnectorProfileRedshiftConnectorProfileCredentials] $Redshift
    [AppFlowConnectorProfileSalesforceConnectorProfileCredentials] $Salesforce
    [AppFlowConnectorProfileServiceNowConnectorProfileCredentials] $ServiceNow
    [AppFlowConnectorProfileSingularConnectorProfileCredentials] $Singular
    [AppFlowConnectorProfileSlackConnectorProfileCredentials] $Slack
    [AppFlowConnectorProfileSnowflakeConnectorProfileCredentials] $Snowflake
    [AppFlowConnectorProfileTrendmicroConnectorProfileCredentials] $Trendmicro
    [AppFlowConnectorProfileVeevaConnectorProfileCredentials] $Veeva
    [AppFlowConnectorProfileZendeskConnectorProfileCredentials] $Zendesk

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Amplitude -Value {
            $this._amplitude
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileAmplitudeConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._amplitude = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Datadog -Value {
            $this._datadog
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileDatadogConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._datadog = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Dynatrace -Value {
            $this._dynatrace
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileDynatraceConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dynatrace = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GoogleAnalytics -Value {
            $this._googleAnalytics
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileGoogleAnalyticsConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._googleAnalytics = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InforNexus -Value {
            $this._inforNexus
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileInforNexusConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inforNexus = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Marketo -Value {
            $this._marketo
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileMarketoConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._marketo = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Redshift -Value {
            $this._redshift
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileRedshiftConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._redshift = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Salesforce -Value {
            $this._salesforce
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSalesforceConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._salesforce = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceNow -Value {
            $this._serviceNow
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileServiceNowConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serviceNow = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Singular -Value {
            $this._singular
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSingularConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._singular = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Slack -Value {
            $this._slack
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSlackConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._slack = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Snowflake -Value {
            $this._snowflake
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSnowflakeConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._snowflake = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Trendmicro -Value {
            $this._trendmicro
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileTrendmicroConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._trendmicro = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Veeva -Value {
            $this._veeva
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileVeevaConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._veeva = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Zendesk -Value {
            $this._zendesk
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileZendeskConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._zendesk = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowSlackSourceProperties'"

class AppFlowFlowSlackSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSlackSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-slacksourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSingularConnectorProfileCredentials'"

class AppFlowConnectorProfileSingularConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSingularConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-singularconnectorprofilecredentials.html'

    hidden [object] $_apiKey

    [string] $ApiKey

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileServiceNowConnectorProfileCredentials'"

class AppFlowConnectorProfileServiceNowConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileServiceNowConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofilecredentials.html'

    hidden [object] $_username
    hidden [object] $_password

    [string] $Username
    [string] $Password

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

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

Write-Verbose "Importing class 'AppFlowFlowRedshiftDestinationProperties'"

class AppFlowFlowRedshiftDestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowRedshiftDestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-redshiftdestinationproperties.html'

    hidden [object] $_object
    hidden [object] $_intermediateBucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_errorHandlingConfig

    [string] $Object
    [string] $IntermediateBucketName
    [string] $BucketPrefix
    [AppFlowFlowErrorHandlingConfig] $ErrorHandlingConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Object -Value {
            $this._object
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._object = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IntermediateBucketName -Value {
            $this._intermediateBucketName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._intermediateBucketName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BucketPrefix -Value {
            $this._bucketPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ErrorHandlingConfig -Value {
            $this._errorHandlingConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowErrorHandlingConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._errorHandlingConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSnowflakeConnectorProfileCredentials'"

class AppFlowConnectorProfileSnowflakeConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSnowflakeConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofilecredentials.html'

    hidden [object] $_username
    hidden [object] $_password

    [string] $Username
    [string] $Password

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

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

Write-Verbose "Importing class 'AppFlowFlowSourceFlowConfig'"

class AppFlowFlowSourceFlowConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSourceFlowConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html'

    hidden [object] $_connectorType
    hidden [object] $_connectorProfileName
    hidden [object] $_sourceConnectorProperties
    hidden [object] $_incrementalPullConfig

    [string] $ConnectorType
    [string] $ConnectorProfileName
    [AppFlowFlowSourceConnectorProperties] $SourceConnectorProperties
    [AppFlowFlowIncrementalPullConfig] $IncrementalPullConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorType -Value {
            $this._connectorType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorProfileName -Value {
            $this._connectorProfileName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorProfileName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceConnectorProperties -Value {
            $this._sourceConnectorProperties
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSourceConnectorProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sourceConnectorProperties = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IncrementalPullConfig -Value {
            $this._incrementalPullConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowIncrementalPullConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._incrementalPullConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowUpsolverS3OutputFormatConfig'"

class AppFlowFlowUpsolverS3OutputFormatConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowUpsolverS3OutputFormatConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolvers3outputformatconfig.html'

    hidden [object] $_fileType
    hidden [object] $_prefixConfig
    hidden [object] $_aggregationConfig

    [string] $FileType
    [AppFlowFlowPrefixConfig] $PrefixConfig
    [AppFlowFlowAggregationConfig] $AggregationConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileType -Value {
            $this._fileType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._fileType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrefixConfig -Value {
            $this._prefixConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowPrefixConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._prefixConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AggregationConfig -Value {
            $this._aggregationConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowAggregationConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._aggregationConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowIdFieldNamesList'"

class AppFlowFlowIdFieldNamesList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowIdFieldNamesList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-idfieldnameslist.html'

    hidden [object] $_idFieldNamesList

    [string[]] $IdFieldNamesList

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

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

Write-Verbose "Importing class 'AppFlowFlowUpsolverDestinationProperties'"

class AppFlowFlowUpsolverDestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowUpsolverDestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-upsolverdestinationproperties.html'

    hidden [object] $_bucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_s3OutputFormatConfig

    [string] $BucketName
    [string] $BucketPrefix
    [AppFlowFlowUpsolverS3OutputFormatConfig] $S3OutputFormatConfig

    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 BucketPrefix -Value {
            $this._bucketPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3OutputFormatConfig -Value {
            $this._s3OutputFormatConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowUpsolverS3OutputFormatConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3OutputFormatConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowServiceNowSourceProperties'"

class AppFlowFlowServiceNowSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowServiceNowSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-servicenowsourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileZendeskConnectorProfileCredentials'"

class AppFlowConnectorProfileZendeskConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileZendeskConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-zendeskconnectorprofilecredentials.html'

    hidden [object] $_clientId
    hidden [object] $_clientSecret
    hidden [object] $_accessToken
    hidden [object] $_connectorOAuthRequest

    [string] $ClientId
    [string] $ClientSecret
    [string] $AccessToken
    [AppFlowConnectorProfileConnectorOAuthRequest] $ConnectorOAuthRequest

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientId -Value {
            $this._clientId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientSecret -Value {
            $this._clientSecret
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientSecret = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessToken -Value {
            $this._accessToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOAuthRequest -Value {
            $this._connectorOAuthRequest
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorOAuthRequest], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOAuthRequest = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowInforNexusSourceProperties'"

class AppFlowFlowInforNexusSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowInforNexusSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-infornexussourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowFlowS3DestinationProperties'"

class AppFlowFlowS3DestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowS3DestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-s3destinationproperties.html'

    hidden [object] $_bucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_s3OutputFormatConfig

    [string] $BucketName
    [string] $BucketPrefix
    [AppFlowFlowS3OutputFormatConfig] $S3OutputFormatConfig

    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 BucketPrefix -Value {
            $this._bucketPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3OutputFormatConfig -Value {
            $this._s3OutputFormatConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowS3OutputFormatConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3OutputFormatConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSnowflakeConnectorProfileProperties'"

class AppFlowConnectorProfileSnowflakeConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSnowflakeConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-snowflakeconnectorprofileproperties.html'

    hidden [object] $_warehouse
    hidden [object] $_stage
    hidden [object] $_bucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_privateLinkServiceName
    hidden [object] $_accountName
    hidden [object] $_region

    [string] $Warehouse
    [string] $Stage
    [string] $BucketName
    [string] $BucketPrefix
    [string] $PrivateLinkServiceName
    [string] $AccountName
    [string] $Region

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Warehouse -Value {
            $this._warehouse
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._warehouse = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Stage -Value {
            $this._stage
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._stage = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $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 BucketPrefix -Value {
            $this._bucketPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrivateLinkServiceName -Value {
            $this._privateLinkServiceName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._privateLinkServiceName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccountName -Value {
            $this._accountName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accountName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Region -Value {
            $this._region
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._region = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowSourceConnectorProperties'"

class AppFlowFlowSourceConnectorProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSourceConnectorProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceconnectorproperties.html'

    hidden [object] $_amplitude
    hidden [object] $_datadog
    hidden [object] $_dynatrace
    hidden [object] $_googleAnalytics
    hidden [object] $_inforNexus
    hidden [object] $_marketo
    hidden [object] $_s3
    hidden [object] $_salesforce
    hidden [object] $_serviceNow
    hidden [object] $_singular
    hidden [object] $_slack
    hidden [object] $_trendmicro
    hidden [object] $_veeva
    hidden [object] $_zendesk

    [AppFlowFlowAmplitudeSourceProperties] $Amplitude
    [AppFlowFlowDatadogSourceProperties] $Datadog
    [AppFlowFlowDynatraceSourceProperties] $Dynatrace
    [AppFlowFlowGoogleAnalyticsSourceProperties] $GoogleAnalytics
    [AppFlowFlowInforNexusSourceProperties] $InforNexus
    [AppFlowFlowMarketoSourceProperties] $Marketo
    [AppFlowFlowS3SourceProperties] $S3
    [AppFlowFlowSalesforceSourceProperties] $Salesforce
    [AppFlowFlowServiceNowSourceProperties] $ServiceNow
    [AppFlowFlowSingularSourceProperties] $Singular
    [AppFlowFlowSlackSourceProperties] $Slack
    [AppFlowFlowTrendmicroSourceProperties] $Trendmicro
    [AppFlowFlowVeevaSourceProperties] $Veeva
    [AppFlowFlowZendeskSourceProperties] $Zendesk

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Amplitude -Value {
            $this._amplitude
        } -SecondValue {
            param([ValidateType(([AppFlowFlowAmplitudeSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._amplitude = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Datadog -Value {
            $this._datadog
        } -SecondValue {
            param([ValidateType(([AppFlowFlowDatadogSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._datadog = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Dynatrace -Value {
            $this._dynatrace
        } -SecondValue {
            param([ValidateType(([AppFlowFlowDynatraceSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dynatrace = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GoogleAnalytics -Value {
            $this._googleAnalytics
        } -SecondValue {
            param([ValidateType(([AppFlowFlowGoogleAnalyticsSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._googleAnalytics = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InforNexus -Value {
            $this._inforNexus
        } -SecondValue {
            param([ValidateType(([AppFlowFlowInforNexusSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inforNexus = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Marketo -Value {
            $this._marketo
        } -SecondValue {
            param([ValidateType(([AppFlowFlowMarketoSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._marketo = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3 -Value {
            $this._s3
        } -SecondValue {
            param([ValidateType(([AppFlowFlowS3SourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3 = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Salesforce -Value {
            $this._salesforce
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSalesforceSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._salesforce = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceNow -Value {
            $this._serviceNow
        } -SecondValue {
            param([ValidateType(([AppFlowFlowServiceNowSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serviceNow = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Singular -Value {
            $this._singular
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSingularSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._singular = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Slack -Value {
            $this._slack
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSlackSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._slack = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Trendmicro -Value {
            $this._trendmicro
        } -SecondValue {
            param([ValidateType(([AppFlowFlowTrendmicroSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._trendmicro = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Veeva -Value {
            $this._veeva
        } -SecondValue {
            param([ValidateType(([AppFlowFlowVeevaSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._veeva = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Zendesk -Value {
            $this._zendesk
        } -SecondValue {
            param([ValidateType(([AppFlowFlowZendeskSourceProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._zendesk = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSalesforceConnectorProfileProperties'"

class AppFlowConnectorProfileSalesforceConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSalesforceConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-salesforceconnectorprofileproperties.html'

    hidden [object] $_instanceUrl
    hidden [object] $_isSandboxEnvironment

    [string] $InstanceUrl
    [bool] $isSandboxEnvironment

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileConnectorProfileConfig'"

class AppFlowConnectorProfileConnectorProfileConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileConnectorProfileConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileconfig.html'

    hidden [object] $_connectorProfileProperties
    hidden [object] $_connectorProfileCredentials

    [AppFlowConnectorProfileConnectorProfileProperties] $ConnectorProfileProperties
    [AppFlowConnectorProfileConnectorProfileCredentials] $ConnectorProfileCredentials

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorProfileProperties -Value {
            $this._connectorProfileProperties
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorProfileProperties = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorProfileCredentials -Value {
            $this._connectorProfileCredentials
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorProfileCredentials], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorProfileCredentials = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowTrendmicroSourceProperties'"

class AppFlowFlowTrendmicroSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowTrendmicroSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-trendmicrosourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileAmplitudeConnectorProfileCredentials'"

class AppFlowConnectorProfileAmplitudeConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileAmplitudeConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-amplitudeconnectorprofilecredentials.html'

    hidden [object] $_apiKey
    hidden [object] $_secretKey

    [string] $ApiKey
    [string] $SecretKey

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileConnectorOAuthRequest'"

class AppFlowConnectorProfileConnectorOAuthRequest : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileConnectorOAuthRequest'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectoroauthrequest.html'

    hidden [object] $_authCode
    hidden [object] $_redirectUri

    [string] $AuthCode
    [string] $RedirectUri

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileDatadogConnectorProfileCredentials'"

class AppFlowConnectorProfileDatadogConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileDatadogConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofilecredentials.html'

    hidden [object] $_apiKey
    hidden [object] $_applicationKey

    [string] $ApiKey
    [string] $ApplicationKey

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

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

Write-Verbose "Importing class 'AppFlowFlowSnowflakeDestinationProperties'"

class AppFlowFlowSnowflakeDestinationProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowSnowflakeDestinationProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-snowflakedestinationproperties.html'

    hidden [object] $_object
    hidden [object] $_intermediateBucketName
    hidden [object] $_bucketPrefix
    hidden [object] $_errorHandlingConfig

    [string] $Object
    [string] $IntermediateBucketName
    [string] $BucketPrefix
    [AppFlowFlowErrorHandlingConfig] $ErrorHandlingConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Object -Value {
            $this._object
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._object = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IntermediateBucketName -Value {
            $this._intermediateBucketName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._intermediateBucketName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BucketPrefix -Value {
            $this._bucketPrefix
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucketPrefix = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ErrorHandlingConfig -Value {
            $this._errorHandlingConfig
        } -SecondValue {
            param([ValidateType(([AppFlowFlowErrorHandlingConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._errorHandlingConfig = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowGoogleAnalyticsSourceProperties'"

class AppFlowFlowGoogleAnalyticsSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowGoogleAnalyticsSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-googleanalyticssourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSlackConnectorProfileCredentials'"

class AppFlowConnectorProfileSlackConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSlackConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofilecredentials.html'

    hidden [object] $_clientId
    hidden [object] $_clientSecret
    hidden [object] $_accessToken
    hidden [object] $_connectorOAuthRequest

    [string] $ClientId
    [string] $ClientSecret
    [string] $AccessToken
    [AppFlowConnectorProfileConnectorOAuthRequest] $ConnectorOAuthRequest

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientId -Value {
            $this._clientId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientSecret -Value {
            $this._clientSecret
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clientSecret = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessToken -Value {
            $this._accessToken
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessToken = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOAuthRequest -Value {
            $this._connectorOAuthRequest
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileConnectorOAuthRequest], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOAuthRequest = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowVeevaSourceProperties'"

class AppFlowFlowVeevaSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowVeevaSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-veevasourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileTrendmicroConnectorProfileCredentials'"

class AppFlowConnectorProfileTrendmicroConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileTrendmicroConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-trendmicroconnectorprofilecredentials.html'

    hidden [object] $_apiSecretKey

    [string] $ApiSecretKey

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

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

Write-Verbose "Importing class 'AppFlowFlowDynatraceSourceProperties'"

class AppFlowFlowDynatraceSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowDynatraceSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-dynatracesourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowFlowTask'"

class AppFlowFlowTask : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowTask'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-task.html'

    hidden [object] $_sourceFields
    hidden [object] $_connectorOperator
    hidden [object] $_destinationField
    hidden [object] $_taskType
    hidden [object] $_taskProperties

    [string[]] $SourceFields
    [AppFlowFlowConnectorOperator] $ConnectorOperator
    [string] $DestinationField
    [string] $TaskType
    [AppFlowFlowTaskPropertiesObject[]] $TaskProperties

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceFields -Value {
            $this._sourceFields
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._sourceFields = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConnectorOperator -Value {
            $this._connectorOperator
        } -SecondValue {
            param([ValidateType(([AppFlowFlowConnectorOperator], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._connectorOperator = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DestinationField -Value {
            $this._destinationField
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._destinationField = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TaskType -Value {
            $this._taskType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._taskType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TaskProperties -Value {
            $this._taskProperties
        } -SecondValue {
            param([ValidateType(([AppFlowFlowTaskPropertiesObject], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._taskProperties = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfileVeevaConnectorProfileCredentials'"

class AppFlowConnectorProfileVeevaConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileVeevaConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofilecredentials.html'

    hidden [object] $_username
    hidden [object] $_password

    [string] $Username
    [string] $Password

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileVeevaConnectorProfileProperties'"

class AppFlowConnectorProfileVeevaConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileVeevaConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-veevaconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowFlowTaskPropertiesObject'"

class AppFlowFlowTaskPropertiesObject : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowTaskPropertiesObject'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-taskpropertiesobject.html'

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

    [string] $Key
    [string] $Value

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileSlackConnectorProfileProperties'"

class AppFlowConnectorProfileSlackConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileSlackConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-slackconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileMarketoConnectorProfileProperties'"

class AppFlowConnectorProfileMarketoConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileMarketoConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-marketoconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileInforNexusConnectorProfileCredentials'"

class AppFlowConnectorProfileInforNexusConnectorProfileCredentials : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileInforNexusConnectorProfileCredentials'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-infornexusconnectorprofilecredentials.html'

    hidden [object] $_accessKeyId
    hidden [object] $_userId
    hidden [object] $_secretAccessKey
    hidden [object] $_datakey

    [string] $AccessKeyId
    [string] $UserId
    [string] $SecretAccessKey
    [string] $Datakey

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccessKeyId -Value {
            $this._accessKeyId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._accessKeyId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UserId -Value {
            $this._userId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._userId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretAccessKey -Value {
            $this._secretAccessKey
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretAccessKey = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Datakey -Value {
            $this._datakey
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._datakey = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlowTriggerConfig'"

class AppFlowFlowTriggerConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowTriggerConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-triggerconfig.html'

    hidden [object] $_triggerType
    hidden [object] $_triggerProperties

    [string] $TriggerType
    [AppFlowFlowScheduledTriggerProperties] $TriggerProperties

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

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

Write-Verbose "Importing class 'AppFlowFlowAmplitudeSourceProperties'"

class AppFlowFlowAmplitudeSourceProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowFlowAmplitudeSourceProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-amplitudesourceproperties.html'

    hidden [object] $_object

    [string] $Object

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileDatadogConnectorProfileProperties'"

class AppFlowConnectorProfileDatadogConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileDatadogConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-datadogconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileServiceNowConnectorProfileProperties'"

class AppFlowConnectorProfileServiceNowConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileServiceNowConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-servicenowconnectorprofileproperties.html'

    hidden [object] $_instanceUrl

    [string] $InstanceUrl

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

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

Write-Verbose "Importing class 'AppFlowConnectorProfileConnectorProfileProperties'"

class AppFlowConnectorProfileConnectorProfileProperties : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSAppFlowConnectorProfileConnectorProfileProperties'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connectorprofile-connectorprofileproperties.html'

    hidden [object] $_datadog
    hidden [object] $_dynatrace
    hidden [object] $_inforNexus
    hidden [object] $_marketo
    hidden [object] $_redshift
    hidden [object] $_salesforce
    hidden [object] $_serviceNow
    hidden [object] $_slack
    hidden [object] $_snowflake
    hidden [object] $_veeva
    hidden [object] $_zendesk

    [AppFlowConnectorProfileDatadogConnectorProfileProperties] $Datadog
    [AppFlowConnectorProfileDynatraceConnectorProfileProperties] $Dynatrace
    [AppFlowConnectorProfileInforNexusConnectorProfileProperties] $InforNexus
    [AppFlowConnectorProfileMarketoConnectorProfileProperties] $Marketo
    [AppFlowConnectorProfileRedshiftConnectorProfileProperties] $Redshift
    [AppFlowConnectorProfileSalesforceConnectorProfileProperties] $Salesforce
    [AppFlowConnectorProfileServiceNowConnectorProfileProperties] $ServiceNow
    [AppFlowConnectorProfileSlackConnectorProfileProperties] $Slack
    [AppFlowConnectorProfileSnowflakeConnectorProfileProperties] $Snowflake
    [AppFlowConnectorProfileVeevaConnectorProfileProperties] $Veeva
    [AppFlowConnectorProfileZendeskConnectorProfileProperties] $Zendesk

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Datadog -Value {
            $this._datadog
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileDatadogConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._datadog = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Dynatrace -Value {
            $this._dynatrace
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileDynatraceConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dynatrace = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InforNexus -Value {
            $this._inforNexus
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileInforNexusConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inforNexus = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Marketo -Value {
            $this._marketo
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileMarketoConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._marketo = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Redshift -Value {
            $this._redshift
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileRedshiftConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._redshift = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Salesforce -Value {
            $this._salesforce
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSalesforceConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._salesforce = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceNow -Value {
            $this._serviceNow
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileServiceNowConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serviceNow = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Slack -Value {
            $this._slack
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSlackConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._slack = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Snowflake -Value {
            $this._snowflake
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileSnowflakeConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._snowflake = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Veeva -Value {
            $this._veeva
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileVeevaConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._veeva = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Zendesk -Value {
            $this._zendesk
        } -SecondValue {
            param([ValidateType(([AppFlowConnectorProfileZendeskConnectorProfileProperties], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._zendesk = $value
        }
    }

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

Write-Verbose "Importing class 'AppFlowFlow'"

class AppFlowFlow : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppFlowFlow'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html'

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

    [string] $Type = 'AWS::AppFlow::Flow'
    [string] $FlowName
    [string] $Description
    [string] $KMSArn
    [AppFlowFlowTriggerConfig] $TriggerConfig
    [AppFlowFlowSourceFlowConfig] $SourceFlowConfig
    [AppFlowFlowDestinationFlowConfig[]] $DestinationFlowConfigList
    [AppFlowFlowTask[]] $Tasks
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name FlowName -Value {
            $this.Properties['FlowName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FlowName'] = 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 KMSArn -Value {
            $this.Properties['KMSArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KMSArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TriggerConfig -Value {
            $this.Properties['TriggerConfig']
        } -SecondValue {
            param([ValidateType(([AppFlowFlowTriggerConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TriggerConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceFlowConfig -Value {
            $this.Properties['SourceFlowConfig']
        } -SecondValue {
            param([ValidateType(([AppFlowFlowSourceFlowConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceFlowConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DestinationFlowConfigList -Value {
            $this.Properties['DestinationFlowConfigList']
        } -SecondValue {
            param([ValidateType(([AppFlowFlowDestinationFlowConfig], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['DestinationFlowConfigList'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tasks -Value {
            $this.Properties['Tasks']
        } -SecondValue {
            param([ValidateType(([AppFlowFlowTask], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Tasks'] = $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
        }
    }

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

Write-Verbose "Importing class 'AppFlowConnectorProfile'"

class AppFlowConnectorProfile : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSAppFlowConnectorProfile'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html'

    hidden [string[]] $_attributes = @('ConnectorProfileArn','CredentialsArn')
    hidden [object] $_condition

    [string] $Type = 'AWS::AppFlow::ConnectorProfile'
    [string] $ConnectorProfileName
    [string] $KMSArn
    [string] $ConnectorType
    [string] $ConnectionMode
    [AppFlowConnectorProfileConnectorProfileConfig] $ConnectorProfileConfig
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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