VaporShell.GreengrassV2.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 'GreengrassV2ComponentVersionComponentPlatform'"

class GreengrassV2ComponentVersionComponentPlatform : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionComponentPlatform'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentplatform.html'

    hidden [object] $_name
    hidden [object] $_attributes

    [string] $Name
    [string] $Attributes

    hidden [void] _addAccessors() {
        $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 Attributes -Value {
            $this._attributes
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._attributes = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaContainerParams'"

class GreengrassV2ComponentVersionLambdaContainerParams : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaContainerParams'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdacontainerparams.html'

    hidden [object] $_memorySizeInKB
    hidden [object] $_mountROSysfs
    hidden [object] $_volumes
    hidden [object] $_devices

    [int] $MemorySizeInKB
    [bool] $MountROSysfs
    [GreengrassV2ComponentVersionLambdaVolumeMount[]] $Volumes
    [GreengrassV2ComponentVersionLambdaDeviceMount[]] $Devices

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name MemorySizeInKB -Value {
            $this._memorySizeInKB
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._memorySizeInKB = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MountROSysfs -Value {
            $this._mountROSysfs
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._mountROSysfs = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Volumes -Value {
            $this._volumes
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionLambdaVolumeMount], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._volumes = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Devices -Value {
            $this._devices
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionLambdaDeviceMount], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._devices = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaVolumeMount'"

class GreengrassV2ComponentVersionLambdaVolumeMount : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaVolumeMount'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdavolumemount.html'

    hidden [object] $_sourcePath
    hidden [object] $_destinationPath
    hidden [object] $_permission
    hidden [object] $_addGroupOwner

    [string] $SourcePath
    [string] $DestinationPath
    [string] $Permission
    [bool] $AddGroupOwner

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourcePath -Value {
            $this._sourcePath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sourcePath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DestinationPath -Value {
            $this._destinationPath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._destinationPath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Permission -Value {
            $this._permission
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._permission = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AddGroupOwner -Value {
            $this._addGroupOwner
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._addGroupOwner = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaFunctionRecipeSource'"

class GreengrassV2ComponentVersionLambdaFunctionRecipeSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaFunctionRecipeSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdafunctionrecipesource.html'

    hidden [object] $_lambdaArn
    hidden [object] $_componentName
    hidden [object] $_componentVersion
    hidden [object] $_componentPlatforms
    hidden [object] $_componentDependencies
    hidden [object] $_componentLambdaParameters

    [string] $LambdaArn
    [string] $ComponentName
    [string] $ComponentVersion
    [GreengrassV2ComponentVersionComponentPlatform[]] $ComponentPlatforms
    [GreengrassV2ComponentVersionComponentDependencyRequirement] $ComponentDependencies
    [GreengrassV2ComponentVersionLambdaExecutionParameters] $ComponentLambdaParameters

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name LambdaArn -Value {
            $this._lambdaArn
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._lambdaArn = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentName -Value {
            $this._componentName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentVersion -Value {
            $this._componentVersion
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentVersion = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentPlatforms -Value {
            $this._componentPlatforms
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionComponentPlatform], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._componentPlatforms = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentDependencies -Value {
            $this._componentDependencies
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionComponentDependencyRequirement], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentDependencies = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentLambdaParameters -Value {
            $this._componentLambdaParameters
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionLambdaExecutionParameters], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentLambdaParameters = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionComponentDependencyRequirement'"

class GreengrassV2ComponentVersionComponentDependencyRequirement : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionComponentDependencyRequirement'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-componentdependencyrequirement.html'

    hidden [object] $_versionRequirement
    hidden [object] $_dependencyType

    [string] $VersionRequirement
    [string] $DependencyType

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

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaDeviceMount'"

class GreengrassV2ComponentVersionLambdaDeviceMount : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaDeviceMount'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdadevicemount.html'

    hidden [object] $_path
    hidden [object] $_permission
    hidden [object] $_addGroupOwner

    [string] $Path
    [string] $Permission
    [bool] $AddGroupOwner

    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 Permission -Value {
            $this._permission
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._permission = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AddGroupOwner -Value {
            $this._addGroupOwner
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._addGroupOwner = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaLinuxProcessParams'"

class GreengrassV2ComponentVersionLambdaLinuxProcessParams : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaLinuxProcessParams'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdalinuxprocessparams.html'

    hidden [object] $_isolationMode
    hidden [object] $_containerParams

    [string] $IsolationMode
    [GreengrassV2ComponentVersionLambdaContainerParams] $ContainerParams

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

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaEventSource'"

class GreengrassV2ComponentVersionLambdaEventSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaEventSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaeventsource.html'

    hidden [object] $_topic
    hidden [object] $_type

    [string] $Topic
    [string] $Type

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

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersionLambdaExecutionParameters'"

class GreengrassV2ComponentVersionLambdaExecutionParameters : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGreengrassV2ComponentVersionLambdaExecutionParameters'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-componentversion-lambdaexecutionparameters.html'

    hidden [object] $_eventSources
    hidden [object] $_maxQueueSize
    hidden [object] $_maxInstancesCount
    hidden [object] $_maxIdleTimeInSeconds
    hidden [object] $_timeoutInSeconds
    hidden [object] $_statusTimeoutInSeconds
    hidden [object] $_pinned
    hidden [object] $_inputPayloadEncodingType
    hidden [object] $_execArgs
    hidden [object] $_environmentVariables
    hidden [object] $_linuxProcessParams

    [GreengrassV2ComponentVersionLambdaEventSource[]] $EventSources
    [int] $MaxQueueSize
    [int] $MaxInstancesCount
    [int] $MaxIdleTimeInSeconds
    [int] $TimeoutInSeconds
    [int] $StatusTimeoutInSeconds
    [bool] $Pinned
    [string] $InputPayloadEncodingType
    [string[]] $ExecArgs
    [string] $EnvironmentVariables
    [GreengrassV2ComponentVersionLambdaLinuxProcessParams] $LinuxProcessParams

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventSources -Value {
            $this._eventSources
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionLambdaEventSource], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._eventSources = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxQueueSize -Value {
            $this._maxQueueSize
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxQueueSize = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxInstancesCount -Value {
            $this._maxInstancesCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxInstancesCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxIdleTimeInSeconds -Value {
            $this._maxIdleTimeInSeconds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxIdleTimeInSeconds = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $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 StatusTimeoutInSeconds -Value {
            $this._statusTimeoutInSeconds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._statusTimeoutInSeconds = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Pinned -Value {
            $this._pinned
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._pinned = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InputPayloadEncodingType -Value {
            $this._inputPayloadEncodingType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._inputPayloadEncodingType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExecArgs -Value {
            $this._execArgs
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._execArgs = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnvironmentVariables -Value {
            $this._environmentVariables
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._environmentVariables = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LinuxProcessParams -Value {
            $this._linuxProcessParams
        } -SecondValue {
            param([ValidateType(([GreengrassV2ComponentVersionLambdaLinuxProcessParams], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._linuxProcessParams = $value
        }
    }

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

Write-Verbose "Importing class 'GreengrassV2ComponentVersion'"

class GreengrassV2ComponentVersion : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGreengrassV2ComponentVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html'

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

    [string] $Type = 'AWS::GreengrassV2::ComponentVersion'
    [string] $InlineRecipe
    [GreengrassV2ComponentVersionLambdaFunctionRecipeSource] $LambdaFunction
    [string] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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