VaporShell.FinSpace.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 'FinSpaceEnvironmentFederationParameters'"

class FinSpaceEnvironmentFederationParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFinSpaceEnvironmentFederationParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-finspace-environment-federationparameters.html'

    hidden [object] $_samlMetadataURL
    hidden [object] $_federationProviderName
    hidden [object] $_samlMetadataDocument
    hidden [object] $_applicationCallBackURL
    hidden [object] $_federationURN
    hidden [VSJson] $_attributeMap

    [string] $SamlMetadataURL
    [string] $FederationProviderName
    [string] $SamlMetadataDocument
    [string] $ApplicationCallBackURL
    [string] $FederationURN
    [VSJson] $AttributeMap

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SamlMetadataURL -Value {
            $this._samlMetadataURL
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._samlMetadataURL = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FederationProviderName -Value {
            $this._federationProviderName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._federationProviderName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SamlMetadataDocument -Value {
            $this._samlMetadataDocument
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._samlMetadataDocument = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ApplicationCallBackURL -Value {
            $this._applicationCallBackURL
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._applicationCallBackURL = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FederationURN -Value {
            $this._federationURN
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._federationURN = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AttributeMap -Value {
            $this._attributeMap
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this._attributeMap = [VSJson]::Transform($value)
            Write-Debug $this._attributeMap
        }
    }

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

Write-Verbose "Importing class 'FinSpaceEnvironment'"

class FinSpaceEnvironment : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSFinSpaceEnvironment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html'

    hidden [string[]] $_attributes = @('EnvironmentId','AwsAccountId','Status','EnvironmentUrl','EnvironmentArn','SageMakerStudioDomainUrl','DedicatedServiceAccountId')
    hidden [object] $_condition

    [string] $Type = 'AWS::FinSpace::Environment'
    [string] $Name
    [string] $Description
    [string] $KmsKeyId
    [string] $FederationMode
    [FinSpaceEnvironmentFederationParameters] $FederationParameters
    [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 KmsKeyId -Value {
            $this.Properties['KmsKeyId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KmsKeyId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FederationMode -Value {
            $this.Properties['FederationMode']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FederationMode'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FederationParameters -Value {
            $this.Properties['FederationParameters']
        } -SecondValue {
            param([ValidateType(([FinSpaceEnvironmentFederationParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FederationParameters'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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