VaporShell.DAX.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 'DAXClusterSSESpecification'"

class DAXClusterSSESpecification : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSDAXClusterSSESpecification'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html'

    hidden [object] $_sSEEnabled

    [bool] $SSEEnabled

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

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

Write-Verbose "Importing class 'DAXParameterGroup'"

class DAXParameterGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSDAXParameterGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::DAX::ParameterGroup'
    [VSJson] $ParameterNameValues
    [string] $Description
    [string] $ParameterGroupName
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ParameterNameValues -Value {
            $this.Properties['ParameterNameValues']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['ParameterNameValues'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['ParameterNameValues']
        }
        $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 ParameterGroupName -Value {
            $this.Properties['ParameterGroupName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ParameterGroupName'] = 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
        }
    }

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

Write-Verbose "Importing class 'DAXCluster'"

class DAXCluster : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSDAXCluster'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html'

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

    [string] $Type = 'AWS::DAX::Cluster'
    [DAXClusterSSESpecification] $SSESpecification
    [string] $Description
    [int] $ReplicationFactor
    [string] $ParameterGroupName
    [string[]] $AvailabilityZones
    [string] $IAMRoleARN
    [string] $SubnetGroupName
    [string] $PreferredMaintenanceWindow
    [string] $ClusterEndpointEncryptionType
    [string] $NotificationTopicARN
    [string[]] $SecurityGroupIds
    [string] $NodeType
    [string] $ClusterName
    [VSJson] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name SSESpecification -Value {
            $this.Properties['SSESpecification']
        } -SecondValue {
            param([ValidateType(([DAXClusterSSESpecification], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SSESpecification'] = $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 ReplicationFactor -Value {
            $this.Properties['ReplicationFactor']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReplicationFactor'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ParameterGroupName -Value {
            $this.Properties['ParameterGroupName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ParameterGroupName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AvailabilityZones -Value {
            $this.Properties['AvailabilityZones']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['AvailabilityZones'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IAMRoleARN -Value {
            $this.Properties['IAMRoleARN']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['IAMRoleARN'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubnetGroupName -Value {
            $this.Properties['SubnetGroupName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SubnetGroupName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PreferredMaintenanceWindow -Value {
            $this.Properties['PreferredMaintenanceWindow']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PreferredMaintenanceWindow'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusterEndpointEncryptionType -Value {
            $this.Properties['ClusterEndpointEncryptionType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ClusterEndpointEncryptionType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NotificationTopicARN -Value {
            $this.Properties['NotificationTopicARN']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['NotificationTopicARN'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecurityGroupIds -Value {
            $this.Properties['SecurityGroupIds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SecurityGroupIds'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NodeType -Value {
            $this.Properties['NodeType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['NodeType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClusterName -Value {
            $this.Properties['ClusterName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ClusterName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['Tags'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['Tags']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'DAXSubnetGroup'"

class DAXSubnetGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSDAXSubnetGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::DAX::SubnetGroup'
    [string] $Description
    [string] $SubnetGroupName
    [string[]] $SubnetIds
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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