VaporShell.S3Outposts.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 'S3OutpostsBucketAbortIncompleteMultipartUpload'"

class S3OutpostsBucketAbortIncompleteMultipartUpload : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSS3OutpostsBucketAbortIncompleteMultipartUpload'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-abortincompletemultipartupload.html'

    hidden [object] $_daysAfterInitiation

    [int] $DaysAfterInitiation

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

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

Write-Verbose "Importing class 'S3OutpostsBucketRule'"

class S3OutpostsBucketRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSS3OutpostsBucketRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-rule.html'

    hidden [object] $_status
    hidden [object] $_id
    hidden [object] $_abortIncompleteMultipartUpload
    hidden [object] $_expirationDate
    hidden [object] $_expirationInDays
    hidden [VSJson] $_filter

    [string] $Status
    [string] $Id
    [S3OutpostsBucketAbortIncompleteMultipartUpload] $AbortIncompleteMultipartUpload
    [string] $ExpirationDate
    [int] $ExpirationInDays
    [VSJson] $Filter

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Status -Value {
            $this._status
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._status = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Id -Value {
            $this._id
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._id = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AbortIncompleteMultipartUpload -Value {
            $this._abortIncompleteMultipartUpload
        } -SecondValue {
            param([ValidateType(([S3OutpostsBucketAbortIncompleteMultipartUpload], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._abortIncompleteMultipartUpload = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExpirationDate -Value {
            $this._expirationDate
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._expirationDate = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExpirationInDays -Value {
            $this._expirationInDays
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._expirationInDays = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Filter -Value {
            $this._filter
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this._filter = [VSJson]::Transform($value)
            Write-Debug $this._filter
        }
    }

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

Write-Verbose "Importing class 'S3OutpostsBucketLifecycleConfiguration'"

class S3OutpostsBucketLifecycleConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSS3OutpostsBucketLifecycleConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-bucket-lifecycleconfiguration.html'

    hidden [object] $_rules

    [S3OutpostsBucketRule[]] $Rules

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

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

Write-Verbose "Importing class 'S3OutpostsAccessPointVpcConfiguration'"

class S3OutpostsAccessPointVpcConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSS3OutpostsAccessPointVpcConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-accesspoint-vpcconfiguration.html'

    hidden [object] $_vpcId

    [string] $VpcId

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

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

Write-Verbose "Importing class 'S3OutpostsEndpointNetworkInterface'"

class S3OutpostsEndpointNetworkInterface : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSS3OutpostsEndpointNetworkInterface'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3outposts-endpoint-networkinterface.html'

    hidden [object] $_networkInterfaceId

    [string] $NetworkInterfaceId

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

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

Write-Verbose "Importing class 'S3OutpostsEndpoint'"

class S3OutpostsEndpoint : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSS3OutpostsEndpoint'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html'

    hidden [string[]] $_attributes = @('Arn','CidrBlock','CreationTime','Id','NetworkInterfaces','Status')
    hidden [object] $_condition

    [string] $Type = 'AWS::S3Outposts::Endpoint'
    [string] $OutpostId
    [string] $SecurityGroupId
    [string] $SubnetId
    [string] $AccessType
    [string] $CustomerOwnedIpv4Pool
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'S3OutpostsAccessPoint'"

class S3OutpostsAccessPoint : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSS3OutpostsAccessPoint'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html'

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

    [string] $Type = 'AWS::S3Outposts::AccessPoint'
    [string] $Bucket
    [string] $Name
    [S3OutpostsAccessPointVpcConfiguration] $VpcConfiguration
    [VSJson] $Policy
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'S3OutpostsBucket'"

class S3OutpostsBucket : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSS3OutpostsBucket'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html'

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

    [string] $Type = 'AWS::S3Outposts::Bucket'
    [string] $BucketName
    [string] $OutpostId
    [VSTag[]] $Tags
    [S3OutpostsBucketLifecycleConfiguration] $LifecycleConfiguration
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'S3OutpostsBucketPolicy'"

class S3OutpostsBucketPolicy : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSS3OutpostsBucketPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::S3Outposts::BucketPolicy'
    [string] $Bucket
    [VSJson] $PolicyDocument
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Bucket -Value {
            $this.Properties['Bucket']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Bucket'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PolicyDocument -Value {
            $this.Properties['PolicyDocument']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['PolicyDocument'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['PolicyDocument']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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