VaporShell.LookoutMetrics.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 'LookoutMetricsAnomalyDetectorFileFormatDescriptor'"

class LookoutMetricsAnomalyDetectorFileFormatDescriptor : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorFileFormatDescriptor'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-fileformatdescriptor.html'

    hidden [object] $_csvFormatDescriptor
    hidden [object] $_jsonFormatDescriptor

    [LookoutMetricsAnomalyDetectorCsvFormatDescriptor] $CsvFormatDescriptor
    [LookoutMetricsAnomalyDetectorJsonFormatDescriptor] $JsonFormatDescriptor

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CsvFormatDescriptor -Value {
            $this._csvFormatDescriptor
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorCsvFormatDescriptor], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._csvFormatDescriptor = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name JsonFormatDescriptor -Value {
            $this._jsonFormatDescriptor
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorJsonFormatDescriptor], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jsonFormatDescriptor = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorCsvFormatDescriptor'"

class LookoutMetricsAnomalyDetectorCsvFormatDescriptor : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorCsvFormatDescriptor'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-csvformatdescriptor.html'

    hidden [object] $_fileCompression
    hidden [object] $_charset
    hidden [object] $_delimiter
    hidden [object] $_headerList
    hidden [object] $_quoteSymbol
    hidden [object] $_containsHeader

    [string] $FileCompression
    [string] $Charset
    [string] $Delimiter
    [string[]] $HeaderList
    [string] $QuoteSymbol
    [bool] $ContainsHeader

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileCompression -Value {
            $this._fileCompression
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._fileCompression = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Charset -Value {
            $this._charset
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._charset = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Delimiter -Value {
            $this._delimiter
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._delimiter = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HeaderList -Value {
            $this._headerList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._headerList = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name QuoteSymbol -Value {
            $this._quoteSymbol
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._quoteSymbol = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ContainsHeader -Value {
            $this._containsHeader
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._containsHeader = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorVpcConfiguration'"

class LookoutMetricsAnomalyDetectorVpcConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorVpcConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-vpcconfiguration.html'

    hidden [object] $_subnetIdList
    hidden [object] $_securityGroupIdList

    [string[]] $SubnetIdList
    [string[]] $SecurityGroupIdList

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

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

Write-Verbose "Importing class 'LookoutMetricsAlertSNSConfiguration'"

class LookoutMetricsAlertSNSConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAlertSNSConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-snsconfiguration.html'

    hidden [object] $_roleArn
    hidden [object] $_snsTopicArn

    [string] $RoleArn
    [string] $SnsTopicArn

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorRDSSourceConfig'"

class LookoutMetricsAnomalyDetectorRDSSourceConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorRDSSourceConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-rdssourceconfig.html'

    hidden [object] $_dBInstanceIdentifier
    hidden [object] $_databaseHost
    hidden [object] $_databasePort
    hidden [object] $_secretManagerArn
    hidden [object] $_databaseName
    hidden [object] $_tableName
    hidden [object] $_roleArn
    hidden [object] $_vpcConfiguration

    [string] $DBInstanceIdentifier
    [string] $DatabaseHost
    [int] $DatabasePort
    [string] $SecretManagerArn
    [string] $DatabaseName
    [string] $TableName
    [string] $RoleArn
    [LookoutMetricsAnomalyDetectorVpcConfiguration] $VpcConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DBInstanceIdentifier -Value {
            $this._dBInstanceIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dBInstanceIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseHost -Value {
            $this._databaseHost
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseHost = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabasePort -Value {
            $this._databasePort
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databasePort = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretManagerArn -Value {
            $this._secretManagerArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretManagerArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseName -Value {
            $this._databaseName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableName -Value {
            $this._tableName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcConfiguration -Value {
            $this._vpcConfiguration
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorVpcConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorTimestampColumn'"

class LookoutMetricsAnomalyDetectorTimestampColumn : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorTimestampColumn'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-timestampcolumn.html'

    hidden [object] $_columnName
    hidden [object] $_columnFormat

    [string] $ColumnName
    [string] $ColumnFormat

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorJsonFormatDescriptor'"

class LookoutMetricsAnomalyDetectorJsonFormatDescriptor : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorJsonFormatDescriptor'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-jsonformatdescriptor.html'

    hidden [object] $_fileCompression
    hidden [object] $_charset

    [string] $FileCompression
    [string] $Charset

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorAnomalyDetectorConfig'"

class LookoutMetricsAnomalyDetectorAnomalyDetectorConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorAnomalyDetectorConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-anomalydetectorconfig.html'

    hidden [object] $_anomalyDetectorFrequency

    [string] $AnomalyDetectorFrequency

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorAppFlowConfig'"

class LookoutMetricsAnomalyDetectorAppFlowConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorAppFlowConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-appflowconfig.html'

    hidden [object] $_roleArn
    hidden [object] $_flowName

    [string] $RoleArn
    [string] $FlowName

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorMetricSource'"

class LookoutMetricsAnomalyDetectorMetricSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorMetricSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-metricsource.html'

    hidden [object] $_s3SourceConfig
    hidden [object] $_rDSSourceConfig
    hidden [object] $_redshiftSourceConfig
    hidden [object] $_cloudwatchConfig
    hidden [object] $_appFlowConfig

    [LookoutMetricsAnomalyDetectorS3SourceConfig] $S3SourceConfig
    [LookoutMetricsAnomalyDetectorRDSSourceConfig] $RDSSourceConfig
    [LookoutMetricsAnomalyDetectorRedshiftSourceConfig] $RedshiftSourceConfig
    [LookoutMetricsAnomalyDetectorCloudwatchConfig] $CloudwatchConfig
    [LookoutMetricsAnomalyDetectorAppFlowConfig] $AppFlowConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3SourceConfig -Value {
            $this._s3SourceConfig
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorS3SourceConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3SourceConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RDSSourceConfig -Value {
            $this._rDSSourceConfig
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorRDSSourceConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rDSSourceConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RedshiftSourceConfig -Value {
            $this._redshiftSourceConfig
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorRedshiftSourceConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._redshiftSourceConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudwatchConfig -Value {
            $this._cloudwatchConfig
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorCloudwatchConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudwatchConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AppFlowConfig -Value {
            $this._appFlowConfig
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorAppFlowConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._appFlowConfig = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAlertLambdaConfiguration'"

class LookoutMetricsAlertLambdaConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAlertLambdaConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-lambdaconfiguration.html'

    hidden [object] $_roleArn
    hidden [object] $_lambdaArn

    [string] $RoleArn
    [string] $LambdaArn

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorRedshiftSourceConfig'"

class LookoutMetricsAnomalyDetectorRedshiftSourceConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorRedshiftSourceConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-redshiftsourceconfig.html'

    hidden [object] $_clusterIdentifier
    hidden [object] $_databaseHost
    hidden [object] $_databasePort
    hidden [object] $_secretManagerArn
    hidden [object] $_databaseName
    hidden [object] $_tableName
    hidden [object] $_roleArn
    hidden [object] $_vpcConfiguration

    [string] $ClusterIdentifier
    [string] $DatabaseHost
    [int] $DatabasePort
    [string] $SecretManagerArn
    [string] $DatabaseName
    [string] $TableName
    [string] $RoleArn
    [LookoutMetricsAnomalyDetectorVpcConfiguration] $VpcConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusterIdentifier -Value {
            $this._clusterIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._clusterIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseHost -Value {
            $this._databaseHost
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseHost = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabasePort -Value {
            $this._databasePort
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databasePort = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecretManagerArn -Value {
            $this._secretManagerArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._secretManagerArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseName -Value {
            $this._databaseName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableName -Value {
            $this._tableName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name VpcConfiguration -Value {
            $this._vpcConfiguration
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorVpcConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._vpcConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAlertAction'"

class LookoutMetricsAlertAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAlertAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-action.html'

    hidden [object] $_sNSConfiguration
    hidden [object] $_lambdaConfiguration

    [LookoutMetricsAlertSNSConfiguration] $SNSConfiguration
    [LookoutMetricsAlertLambdaConfiguration] $LambdaConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SNSConfiguration -Value {
            $this._sNSConfiguration
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAlertSNSConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sNSConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LambdaConfiguration -Value {
            $this._lambdaConfiguration
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAlertLambdaConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._lambdaConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorMetric'"

class LookoutMetricsAnomalyDetectorMetric : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorMetric'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-metric.html'

    hidden [object] $_metricName
    hidden [object] $_aggregationFunction
    hidden [object] $_namespace

    [string] $MetricName
    [string] $AggregationFunction
    [string] $Namespace

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorMetricSet'"

class LookoutMetricsAnomalyDetectorMetricSet : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorMetricSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-metricset.html'

    hidden [object] $_metricSetName
    hidden [object] $_metricSetDescription
    hidden [object] $_metricSource
    hidden [object] $_metricList
    hidden [object] $_offset
    hidden [object] $_timestampColumn
    hidden [object] $_dimensionList
    hidden [object] $_metricSetFrequency
    hidden [object] $_timezone

    [string] $MetricSetName
    [string] $MetricSetDescription
    [LookoutMetricsAnomalyDetectorMetricSource] $MetricSource
    [LookoutMetricsAnomalyDetectorMetric[]] $MetricList
    [int] $Offset
    [LookoutMetricsAnomalyDetectorTimestampColumn] $TimestampColumn
    [string[]] $DimensionList
    [string] $MetricSetFrequency
    [string] $Timezone

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name MetricSetName -Value {
            $this._metricSetName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._metricSetName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MetricSetDescription -Value {
            $this._metricSetDescription
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._metricSetDescription = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MetricSource -Value {
            $this._metricSource
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorMetricSource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._metricSource = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MetricList -Value {
            $this._metricList
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorMetric], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._metricList = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Offset -Value {
            $this._offset
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._offset = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TimestampColumn -Value {
            $this._timestampColumn
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorTimestampColumn], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._timestampColumn = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DimensionList -Value {
            $this._dimensionList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._dimensionList = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MetricSetFrequency -Value {
            $this._metricSetFrequency
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._metricSetFrequency = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $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
            }
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorCloudwatchConfig'"

class LookoutMetricsAnomalyDetectorCloudwatchConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorCloudwatchConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-cloudwatchconfig.html'

    hidden [object] $_roleArn

    [string] $RoleArn

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetectorS3SourceConfig'"

class LookoutMetricsAnomalyDetectorS3SourceConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLookoutMetricsAnomalyDetectorS3SourceConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-s3sourceconfig.html'

    hidden [object] $_roleArn
    hidden [object] $_templatedPathList
    hidden [object] $_historicalDataPathList
    hidden [object] $_fileFormatDescriptor

    [string] $RoleArn
    [string[]] $TemplatedPathList
    [string[]] $HistoricalDataPathList
    [LookoutMetricsAnomalyDetectorFileFormatDescriptor] $FileFormatDescriptor

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RoleArn -Value {
            $this._roleArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._roleArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TemplatedPathList -Value {
            $this._templatedPathList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._templatedPathList = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HistoricalDataPathList -Value {
            $this._historicalDataPathList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._historicalDataPathList = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileFormatDescriptor -Value {
            $this._fileFormatDescriptor
        } -SecondValue {
            param([ValidateType(([LookoutMetricsAnomalyDetectorFileFormatDescriptor], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._fileFormatDescriptor = $value
        }
    }

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

Write-Verbose "Importing class 'LookoutMetricsAlert'"

class LookoutMetricsAlert : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLookoutMetricsAlert'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html'

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

    [string] $Type = 'AWS::LookoutMetrics::Alert'
    [string] $AlertName
    [string] $AlertDescription
    [string] $AnomalyDetectorArn
    [int] $AlertSensitivityThreshold
    [LookoutMetricsAlertAction] $Action
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'LookoutMetricsAnomalyDetector'"

class LookoutMetricsAnomalyDetector : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLookoutMetricsAnomalyDetector'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html'

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

    [string] $Type = 'AWS::LookoutMetrics::AnomalyDetector'
    [string] $AnomalyDetectorName
    [string] $AnomalyDetectorDescription
    [LookoutMetricsAnomalyDetectorAnomalyDetectorConfig] $AnomalyDetectorConfig
    [LookoutMetricsAnomalyDetectorMetricSet[]] $MetricSetList
    [string] $KmsKeyArn
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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