VaporShell.Cassandra.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 'CassandraTableBillingMode'"

class CassandraTableBillingMode : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCassandraTableBillingMode'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html'

    hidden [object] $_mode
    hidden [object] $_provisionedThroughput

    [string] $Mode
    [CassandraTableProvisionedThroughput] $ProvisionedThroughput

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

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

Write-Verbose "Importing class 'CassandraTableColumn'"

class CassandraTableColumn : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCassandraTableColumn'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html'

    hidden [object] $_columnName
    hidden [object] $_columnType

    [string] $ColumnName
    [string] $ColumnType

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

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

Write-Verbose "Importing class 'CassandraTableClusteringKeyColumn'"

class CassandraTableClusteringKeyColumn : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCassandraTableClusteringKeyColumn'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html'

    hidden [object] $_column
    hidden [object] $_orderBy

    [CassandraTableColumn] $Column
    [string] $OrderBy

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

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

Write-Verbose "Importing class 'CassandraTableProvisionedThroughput'"

class CassandraTableProvisionedThroughput : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCassandraTableProvisionedThroughput'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html'

    hidden [object] $_readCapacityUnits
    hidden [object] $_writeCapacityUnits

    [int] $ReadCapacityUnits
    [int] $WriteCapacityUnits

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

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

Write-Verbose "Importing class 'CassandraTable'"

class CassandraTable : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCassandraTable'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::Cassandra::Table'
    [string] $KeyspaceName
    [string] $TableName
    [CassandraTableColumn[]] $RegularColumns
    [CassandraTableColumn[]] $PartitionKeyColumns
    [CassandraTableClusteringKeyColumn[]] $ClusteringKeyColumns
    [CassandraTableBillingMode] $BillingMode
    [bool] $PointInTimeRecoveryEnabled
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name KeyspaceName -Value {
            $this.Properties['KeyspaceName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KeyspaceName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableName -Value {
            $this.Properties['TableName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TableName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RegularColumns -Value {
            $this.Properties['RegularColumns']
        } -SecondValue {
            param([ValidateType(([CassandraTableColumn], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['RegularColumns'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PartitionKeyColumns -Value {
            $this.Properties['PartitionKeyColumns']
        } -SecondValue {
            param([ValidateType(([CassandraTableColumn], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['PartitionKeyColumns'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusteringKeyColumns -Value {
            $this.Properties['ClusteringKeyColumns']
        } -SecondValue {
            param([ValidateType(([CassandraTableClusteringKeyColumn], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['ClusteringKeyColumns'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BillingMode -Value {
            $this.Properties['BillingMode']
        } -SecondValue {
            param([ValidateType(([CassandraTableBillingMode], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BillingMode'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PointInTimeRecoveryEnabled -Value {
            $this.Properties['PointInTimeRecoveryEnabled']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PointInTimeRecoveryEnabled'] = $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
        }
    }

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

Write-Verbose "Importing class 'CassandraKeyspace'"

class CassandraKeyspace : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCassandraKeyspace'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::Cassandra::Keyspace'
    [string] $KeyspaceName
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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