VaporShell.LakeFormation.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 'LakeFormationPermissionsDataLocationResource'"

class LakeFormationPermissionsDataLocationResource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsDataLocationResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html'

    hidden [object] $_s3Resource
    hidden [object] $_catalogId

    [string] $S3Resource
    [string] $CatalogId

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

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

Write-Verbose "Importing class 'LakeFormationDataLakeSettingsDataLakePrincipal'"

class LakeFormationDataLakeSettingsDataLakePrincipal : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationDataLakeSettingsDataLakePrincipal'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html'

    hidden [object] $_dataLakePrincipalIdentifier

    [string] $DataLakePrincipalIdentifier

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

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

Write-Verbose "Importing class 'LakeFormationPermissionsColumnWildcard'"

class LakeFormationPermissionsColumnWildcard : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsColumnWildcard'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-columnwildcard.html'

    hidden [object] $_excludedColumnNames

    [string[]] $ExcludedColumnNames

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

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

Write-Verbose "Importing class 'LakeFormationPermissionsDatabaseResource'"

class LakeFormationPermissionsDatabaseResource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsDatabaseResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html'

    hidden [object] $_catalogId
    hidden [object] $_name

    [string] $CatalogId
    [string] $Name

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

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

Write-Verbose "Importing class 'LakeFormationPermissionsTableWildcard'"

class LakeFormationPermissionsTableWildcard : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsTableWildcard'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewildcard.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'LakeFormationPermissionsResource'"

class LakeFormationPermissionsResource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html'

    hidden [object] $_tableResource
    hidden [object] $_databaseResource
    hidden [object] $_dataLocationResource
    hidden [object] $_tableWithColumnsResource

    [LakeFormationPermissionsTableResource] $TableResource
    [LakeFormationPermissionsDatabaseResource] $DatabaseResource
    [LakeFormationPermissionsDataLocationResource] $DataLocationResource
    [LakeFormationPermissionsTableWithColumnsResource] $TableWithColumnsResource

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableResource -Value {
            $this._tableResource
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsTableResource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableResource = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseResource -Value {
            $this._databaseResource
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsDatabaseResource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseResource = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataLocationResource -Value {
            $this._dataLocationResource
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsDataLocationResource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataLocationResource = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableWithColumnsResource -Value {
            $this._tableWithColumnsResource
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsTableWithColumnsResource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableWithColumnsResource = $value
        }
    }

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

Write-Verbose "Importing class 'LakeFormationPermissionsDataLakePrincipal'"

class LakeFormationPermissionsDataLakePrincipal : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsDataLakePrincipal'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html'

    hidden [object] $_dataLakePrincipalIdentifier

    [string] $DataLakePrincipalIdentifier

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

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

Write-Verbose "Importing class 'LakeFormationPermissionsTableResource'"

class LakeFormationPermissionsTableResource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsTableResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html'

    hidden [object] $_databaseName
    hidden [object] $_catalogId
    hidden [object] $_tableWildcard
    hidden [object] $_name

    [string] $DatabaseName
    [string] $CatalogId
    [LakeFormationPermissionsTableWildcard] $TableWildcard
    [string] $Name

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseName -Value {
            $this._databaseName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CatalogId -Value {
            $this._catalogId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._catalogId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TableWildcard -Value {
            $this._tableWildcard
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsTableWildcard], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tableWildcard = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'LakeFormationPermissionsTableWithColumnsResource'"

class LakeFormationPermissionsTableWithColumnsResource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationPermissionsTableWithColumnsResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html'

    hidden [object] $_columnNames
    hidden [object] $_databaseName
    hidden [object] $_catalogId
    hidden [object] $_name
    hidden [object] $_columnWildcard

    [string[]] $ColumnNames
    [string] $DatabaseName
    [string] $CatalogId
    [string] $Name
    [LakeFormationPermissionsColumnWildcard] $ColumnWildcard

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ColumnNames -Value {
            $this._columnNames
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._columnNames = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DatabaseName -Value {
            $this._databaseName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._databaseName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CatalogId -Value {
            $this._catalogId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._catalogId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ColumnWildcard -Value {
            $this._columnWildcard
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsColumnWildcard], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._columnWildcard = $value
        }
    }

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

Write-Verbose "Importing class 'LakeFormationDataLakeSettingsAdmins'"

class LakeFormationDataLakeSettingsAdmins : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLakeFormationDataLakeSettingsAdmins'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-admins.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'LakeFormationResource'"

class LakeFormationResource : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLakeFormationResource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::LakeFormation::Resource'
    [string] $ResourceArn
    [bool] $UseServiceLinkedRole
    [string] $RoleArn
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'LakeFormationPermissions'"

class LakeFormationPermissions : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLakeFormationPermissions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::LakeFormation::Permissions'
    [LakeFormationPermissionsDataLakePrincipal] $DataLakePrincipal
    [LakeFormationPermissionsResource] $Resource
    [string[]] $Permissions
    [string[]] $PermissionsWithGrantOption
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataLakePrincipal -Value {
            $this.Properties['DataLakePrincipal']
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsDataLakePrincipal], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DataLakePrincipal'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Resource -Value {
            $this.Properties['Resource']
        } -SecondValue {
            param([ValidateType(([LakeFormationPermissionsResource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Resource'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Permissions -Value {
            $this.Properties['Permissions']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Permissions'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PermissionsWithGrantOption -Value {
            $this.Properties['PermissionsWithGrantOption']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['PermissionsWithGrantOption'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'LakeFormationDataLakeSettings'"

class LakeFormationDataLakeSettings : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLakeFormationDataLakeSettings'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::LakeFormation::DataLakeSettings'
    [LakeFormationDataLakeSettingsAdmins] $Admins
    [string[]] $TrustedResourceOwners
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Admins -Value {
            $this.Properties['Admins']
        } -SecondValue {
            param([ValidateType(([LakeFormationDataLakeSettingsAdmins], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Admins'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TrustedResourceOwners -Value {
            $this.Properties['TrustedResourceOwners']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['TrustedResourceOwners'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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