VaporShell.FIS.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 'FISExperimentTemplateResourceArnList'"

class FISExperimentTemplateResourceArnList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateResourceArnList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-resourcearnlist.html'

    hidden [object] $_resourceArnList

    [string[]] $ResourceArnList

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

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateStopCondition'"

class FISExperimentTemplateExperimentTemplateStopCondition : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateStopCondition'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatestopcondition.html'

    hidden [object] $_source
    hidden [object] $_value

    [string] $source
    [string] $value

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

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

Write-Verbose "Importing class 'FISExperimentTemplateTagMap'"

class FISExperimentTemplateTagMap : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateTagMap'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-tagmap.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateActionItemStartAfterList'"

class FISExperimentTemplateExperimentTemplateActionItemStartAfterList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateActionItemStartAfterList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateactionitemstartafterlist.html'

    hidden [object] $_experimentTemplateActionItemStartAfterList

    [string[]] $ExperimentTemplateActionItemStartAfterList

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

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateTargetFilterValues'"

class FISExperimentTemplateExperimentTemplateTargetFilterValues : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateTargetFilterValues'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfiltervalues.html'

    hidden [object] $_experimentTemplateTargetFilterValues

    [string[]] $ExperimentTemplateTargetFilterValues

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

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateTarget'"

class FISExperimentTemplateExperimentTemplateTarget : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateTarget'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html'

    hidden [object] $_resourceType
    hidden [object] $_resourceArns
    hidden [object] $_resourceTags
    hidden [object] $_filters
    hidden [object] $_selectionMode

    [string] $resourceType
    [FISExperimentTemplateResourceArnList] $resourceArns
    [FISExperimentTemplateTagMap] $resourceTags
    [FISExperimentTemplateExperimentTemplateTargetFilterList] $filters
    [string] $selectionMode

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name resourceType -Value {
            $this._resourceType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name resourceArns -Value {
            $this._resourceArns
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateResourceArnList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceArns = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name resourceTags -Value {
            $this._resourceTags
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateTagMap], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._resourceTags = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name filters -Value {
            $this._filters
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateTargetFilterList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._filters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name selectionMode -Value {
            $this._selectionMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._selectionMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateTargetFilterList'"

class FISExperimentTemplateExperimentTemplateTargetFilterList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateTargetFilterList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfilterlist.html'

    hidden [object] $_experimentTemplateTargetFilterList

    [FISExperimentTemplateExperimentTemplateTargetFilter[]] $ExperimentTemplateTargetFilterList

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

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateActionItemTargetMap'"

class FISExperimentTemplateExperimentTemplateActionItemTargetMap : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateActionItemTargetMap'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateactionitemtargetmap.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateAction'"

class FISExperimentTemplateExperimentTemplateAction : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateAction'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html'

    hidden [object] $_actionId
    hidden [object] $_description
    hidden [object] $_parameters
    hidden [object] $_targets
    hidden [object] $_startAfter

    [string] $actionId
    [string] $description
    [FISExperimentTemplateExperimentTemplateActionItemParameterMap] $parameters
    [FISExperimentTemplateExperimentTemplateActionItemTargetMap] $targets
    [FISExperimentTemplateExperimentTemplateActionItemStartAfterList] $startAfter

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name actionId -Value {
            $this._actionId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._actionId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name description -Value {
            $this._description
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._description = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name parameters -Value {
            $this._parameters
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateActionItemParameterMap], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._parameters = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name targets -Value {
            $this._targets
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateActionItemTargetMap], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._targets = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name startAfter -Value {
            $this._startAfter
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateActionItemStartAfterList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._startAfter = $value
        }
    }

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateTargetFilter'"

class FISExperimentTemplateExperimentTemplateTargetFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateTargetFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfilter.html'

    hidden [object] $_path
    hidden [object] $_values

    [string] $path
    [FISExperimentTemplateExperimentTemplateTargetFilterValues] $values

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

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

Write-Verbose "Importing class 'FISExperimentTemplateExperimentTemplateActionItemParameterMap'"

class FISExperimentTemplateExperimentTemplateActionItemParameterMap : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFISExperimentTemplateExperimentTemplateActionItemParameterMap'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateactionitemparametermap.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'FISExperimentTemplate'"

class FISExperimentTemplate : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSFISExperimentTemplate'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html'

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

    [string] $Type = 'AWS::FIS::ExperimentTemplate'
    [string] $description
    [FISExperimentTemplateExperimentTemplateTarget] $targets
    [FISExperimentTemplateExperimentTemplateAction] $actions
    [FISExperimentTemplateExperimentTemplateStopCondition[]] $stopConditions
    [string] $roleArn
    [string] $tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $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 targets -Value {
            $this.Properties['targets']
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateTarget], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['targets'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name actions -Value {
            $this.Properties['actions']
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateAction], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['actions'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name stopConditions -Value {
            $this.Properties['stopConditions']
        } -SecondValue {
            param([ValidateType(([FISExperimentTemplateExperimentTemplateStopCondition], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['stopConditions'] = $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 tags -Value {
            $this.Properties['tags']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['tags'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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