VaporShell.Route53RecoveryControl.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 'Route53RecoveryControlSafetyRuleAssertionRule'"

class Route53RecoveryControlSafetyRuleAssertionRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoute53RecoveryControlSafetyRuleAssertionRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-assertionrule.html'

    hidden [object] $_waitPeriodMs
    hidden [object] $_assertedControls

    [int] $WaitPeriodMs
    [string[]] $AssertedControls

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

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

Write-Verbose "Importing class 'Route53RecoveryControlClusterClusterEndpoint'"

class Route53RecoveryControlClusterClusterEndpoint : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoute53RecoveryControlClusterClusterEndpoint'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-cluster-clusterendpoint.html'

    hidden [object] $_endpoint
    hidden [object] $_region

    [string] $Endpoint
    [string] $Region

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

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

Write-Verbose "Importing class 'Route53RecoveryControlSafetyRuleRuleConfig'"

class Route53RecoveryControlSafetyRuleRuleConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoute53RecoveryControlSafetyRuleRuleConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-ruleconfig.html'

    hidden [object] $_type
    hidden [object] $_threshold
    hidden [object] $_inverted

    [string] $Type
    [int] $Threshold
    [bool] $Inverted

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Threshold -Value {
            $this._threshold
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._threshold = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Inverted -Value {
            $this._inverted
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inverted = $value
        }
    }

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

Write-Verbose "Importing class 'Route53RecoveryControlSafetyRuleGatingRule'"

class Route53RecoveryControlSafetyRuleGatingRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoute53RecoveryControlSafetyRuleGatingRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-gatingrule.html'

    hidden [object] $_gatingControls
    hidden [object] $_targetControls
    hidden [object] $_waitPeriodMs

    [string[]] $GatingControls
    [string[]] $TargetControls
    [int] $WaitPeriodMs

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name GatingControls -Value {
            $this._gatingControls
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._gatingControls = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetControls -Value {
            $this._targetControls
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._targetControls = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WaitPeriodMs -Value {
            $this._waitPeriodMs
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._waitPeriodMs = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'Route53RecoveryControlSafetyRule'"

class Route53RecoveryControlSafetyRule : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoute53RecoveryControlSafetyRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html'

    hidden [string[]] $_attributes = @('SafetyRuleArn','Status')
    hidden [object] $_condition

    [string] $Type = 'AWS::Route53RecoveryControl::SafetyRule'
    [Route53RecoveryControlSafetyRuleAssertionRule] $AssertionRule
    [Route53RecoveryControlSafetyRuleGatingRule] $GatingRule
    [string] $Name
    [string] $ControlPanelArn
    [Route53RecoveryControlSafetyRuleRuleConfig] $RuleConfig
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'Route53RecoveryControlCluster'"

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

    hidden [string[]] $_attributes = @('ClusterArn','Status','ClusterEndpoints')
    hidden [object] $_condition

    [string] $Type = 'AWS::Route53RecoveryControl::Cluster'
    [string] $Name
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'Route53RecoveryControlRoutingControl'"

class Route53RecoveryControlRoutingControl : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoute53RecoveryControlRoutingControl'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html'

    hidden [string[]] $_attributes = @('RoutingControlArn','Status')
    hidden [object] $_condition

    [string] $Type = 'AWS::Route53RecoveryControl::RoutingControl'
    [string] $ControlPanelArn
    [string] $Name
    [string] $ClusterArn
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'Route53RecoveryControlControlPanel'"

class Route53RecoveryControlControlPanel : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoute53RecoveryControlControlPanel'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html'

    hidden [string[]] $_attributes = @('ControlPanelArn','Status','DefaultControlPanel','RoutingControlCount')
    hidden [object] $_condition

    [string] $Type = 'AWS::Route53RecoveryControl::ControlPanel'
    [string] $ClusterArn
    [string] $Name
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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