VaporShell.Synthetics.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 'SyntheticsCanaryVPCConfig'"

class SyntheticsCanaryVPCConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSyntheticsCanaryVPCConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html'

    hidden [object] $_vpcId
    hidden [object] $_subnetIds
    hidden [object] $_securityGroupIds

    [string] $VpcId
    [string[]] $SubnetIds
    [string[]] $SecurityGroupIds

    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
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubnetIds -Value {
            $this._subnetIds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._subnetIds = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecurityGroupIds -Value {
            $this._securityGroupIds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._securityGroupIds = @($value)
        }
    }

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

Write-Verbose "Importing class 'SyntheticsCanarySchedule'"

class SyntheticsCanarySchedule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSyntheticsCanarySchedule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html'

    hidden [object] $_expression
    hidden [object] $_durationInSeconds

    [string] $Expression
    [string] $DurationInSeconds

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

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

Write-Verbose "Importing class 'SyntheticsCanaryCode'"

class SyntheticsCanaryCode : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSyntheticsCanaryCode'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html'

    hidden [object] $_s3Bucket
    hidden [object] $_s3Key
    hidden [object] $_s3ObjectVersion
    hidden [object] $_script
    hidden [object] $_handler

    [string] $S3Bucket
    [string] $S3Key
    [string] $S3ObjectVersion
    [string] $Script
    [string] $Handler

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Bucket -Value {
            $this._s3Bucket
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Bucket = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Key -Value {
            $this._s3Key
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Key = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3ObjectVersion -Value {
            $this._s3ObjectVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3ObjectVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Script -Value {
            $this._script
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._script = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Handler -Value {
            $this._handler
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._handler = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'SyntheticsCanaryRunConfig'"

class SyntheticsCanaryRunConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSSyntheticsCanaryRunConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html'

    hidden [object] $_timeoutInSeconds
    hidden [object] $_memoryInMB
    hidden [object] $_activeTracing
    hidden [object] $_environmentVariables

    [int] $TimeoutInSeconds
    [int] $MemoryInMB
    [bool] $ActiveTracing
    [string] $EnvironmentVariables

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name TimeoutInSeconds -Value {
            $this._timeoutInSeconds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._timeoutInSeconds = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MemoryInMB -Value {
            $this._memoryInMB
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._memoryInMB = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ActiveTracing -Value {
            $this._activeTracing
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._activeTracing = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnvironmentVariables -Value {
            $this._environmentVariables
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._environmentVariables = $value
        }
    }

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

Write-Verbose "Importing class 'SyntheticsCanary'"

class SyntheticsCanary : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSSyntheticsCanary'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html'

    hidden [string[]] $_attributes = @('Id','State')
    hidden [object] $_condition

    [string] $Type = 'AWS::Synthetics::Canary'
    [string] $Name
    [SyntheticsCanaryCode] $Code
    [string] $ArtifactS3Location
    [SyntheticsCanarySchedule] $Schedule
    [string] $ExecutionRoleArn
    [string] $RuntimeVersion
    [int] $SuccessRetentionPeriod
    [int] $FailureRetentionPeriod
    [VSTag[]] $Tags
    [SyntheticsCanaryVPCConfig] $VPCConfig
    [SyntheticsCanaryRunConfig] $RunConfig
    [bool] $StartCanaryAfterCreation
    [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 Code -Value {
            $this.Properties['Code']
        } -SecondValue {
            param([ValidateType(([SyntheticsCanaryCode], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Code'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ArtifactS3Location -Value {
            $this.Properties['ArtifactS3Location']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ArtifactS3Location'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Schedule -Value {
            $this.Properties['Schedule']
        } -SecondValue {
            param([ValidateType(([SyntheticsCanarySchedule], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Schedule'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExecutionRoleArn -Value {
            $this.Properties['ExecutionRoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ExecutionRoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RuntimeVersion -Value {
            $this.Properties['RuntimeVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RuntimeVersion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SuccessRetentionPeriod -Value {
            $this.Properties['SuccessRetentionPeriod']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SuccessRetentionPeriod'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FailureRetentionPeriod -Value {
            $this.Properties['FailureRetentionPeriod']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FailureRetentionPeriod'] = if ($cast = $value -as [int]) {
                $cast
            }
            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 VPCConfig -Value {
            $this.Properties['VPCConfig']
        } -SecondValue {
            param([ValidateType(([SyntheticsCanaryVPCConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['VPCConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RunConfig -Value {
            $this.Properties['RunConfig']
        } -SecondValue {
            param([ValidateType(([SyntheticsCanaryRunConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RunConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StartCanaryAfterCreation -Value {
            $this.Properties['StartCanaryAfterCreation']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StartCanaryAfterCreation'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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