VaporShell.MediaStore.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 'MediaStoreContainerMetricPolicy'"

class MediaStoreContainerMetricPolicy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaStoreContainerMetricPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicy.html'

    hidden [object] $_containerLevelMetrics
    hidden [object] $_metricPolicyRules

    [string] $ContainerLevelMetrics
    [MediaStoreContainerMetricPolicyRule[]] $MetricPolicyRules

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

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

Write-Verbose "Importing class 'MediaStoreContainerMetricPolicyRule'"

class MediaStoreContainerMetricPolicyRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaStoreContainerMetricPolicyRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-metricpolicyrule.html'

    hidden [object] $_objectGroup
    hidden [object] $_objectGroupName

    [string] $ObjectGroup
    [string] $ObjectGroupName

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

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

Write-Verbose "Importing class 'MediaStoreContainerCorsRule'"

class MediaStoreContainerCorsRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSMediaStoreContainerCorsRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html'

    hidden [object] $_allowedMethods
    hidden [object] $_allowedOrigins
    hidden [object] $_exposeHeaders
    hidden [object] $_maxAgeSeconds
    hidden [object] $_allowedHeaders

    [string[]] $AllowedMethods
    [string[]] $AllowedOrigins
    [string[]] $ExposeHeaders
    [int] $MaxAgeSeconds
    [string[]] $AllowedHeaders

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AllowedMethods -Value {
            $this._allowedMethods
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._allowedMethods = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AllowedOrigins -Value {
            $this._allowedOrigins
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._allowedOrigins = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExposeHeaders -Value {
            $this._exposeHeaders
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._exposeHeaders = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxAgeSeconds -Value {
            $this._maxAgeSeconds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxAgeSeconds = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AllowedHeaders -Value {
            $this._allowedHeaders
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._allowedHeaders = @($value)
        }
    }

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

Write-Verbose "Importing class 'MediaStoreContainer'"

class MediaStoreContainer : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSMediaStoreContainer'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html'

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

    [string] $Type = 'AWS::MediaStore::Container'
    [string] $Policy
    [MediaStoreContainerMetricPolicy] $MetricPolicy
    [string] $ContainerName
    [MediaStoreContainerCorsRule[]] $CorsPolicy
    [string] $LifecyclePolicy
    [bool] $AccessLoggingEnabled
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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