VaporShell.SSO.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 'SSOInstanceAccessControlAttributeConfigurationAccessControlAttribute'"

class SSOInstanceAccessControlAttributeConfigurationAccessControlAttribute : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSOInstanceAccessControlAttributeConfigurationAccessControlAttribute'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattribute.html'

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

    [string] $Key
    [SSOInstanceAccessControlAttributeConfigurationAccessControlAttributeValue] $Value

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

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

Write-Verbose "Importing class 'SSOInstanceAccessControlAttributeConfigurationAccessControlAttributeValue'"

class SSOInstanceAccessControlAttributeConfigurationAccessControlAttributeValue : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSSOInstanceAccessControlAttributeConfigurationAccessControlAttributeValue'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sso-instanceaccesscontrolattributeconfiguration-accesscontrolattributevalue.html'

    hidden [object] $_source

    [string[]] $Source

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

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

Write-Verbose "Importing class 'SSOAssignment'"

class SSOAssignment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSSOAssignment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SSO::Assignment'
    [string] $InstanceArn
    [string] $TargetId
    [string] $TargetType
    [string] $PermissionSetArn
    [string] $PrincipalType
    [string] $PrincipalId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SSOInstanceAccessControlAttributeConfiguration'"

class SSOInstanceAccessControlAttributeConfiguration : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSSOInstanceAccessControlAttributeConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::SSO::InstanceAccessControlAttributeConfiguration'
    [string] $InstanceArn
    [SSOInstanceAccessControlAttributeConfigurationAccessControlAttribute[]] $AccessControlAttributes
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'SSOPermissionSet'"

class SSOPermissionSet : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSSOPermissionSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html'

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

    [string] $Type = 'AWS::SSO::PermissionSet'
    [string] $Name
    [string] $Description
    [string] $InstanceArn
    [string] $SessionDuration
    [string] $RelayStateType
    [string[]] $ManagedPolicies
    [VSJson] $InlinePolicy
    [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 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 InstanceArn -Value {
            $this.Properties['InstanceArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['InstanceArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SessionDuration -Value {
            $this.Properties['SessionDuration']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SessionDuration'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RelayStateType -Value {
            $this.Properties['RelayStateType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RelayStateType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ManagedPolicies -Value {
            $this.Properties['ManagedPolicies']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['ManagedPolicies'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InlinePolicy -Value {
            $this.Properties['InlinePolicy']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['InlinePolicy'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['InlinePolicy']
        }
        $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
        }
    }

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