VaporShell.RoboMaker.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 'RoboMakerSimulationApplicationSimulationSoftwareSuite'"

class RoboMakerSimulationApplicationSimulationSoftwareSuite : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerSimulationApplicationSimulationSoftwareSuite'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html'

    hidden [object] $_version
    hidden [object] $_name

    [string] $Version
    [string] $Name

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

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

Write-Verbose "Importing class 'RoboMakerSimulationApplicationRobotSoftwareSuite'"

class RoboMakerSimulationApplicationRobotSoftwareSuite : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerSimulationApplicationRobotSoftwareSuite'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html'

    hidden [object] $_version
    hidden [object] $_name

    [string] $Version
    [string] $Name

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

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

Write-Verbose "Importing class 'RoboMakerSimulationApplicationSourceConfig'"

class RoboMakerSimulationApplicationSourceConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerSimulationApplicationSourceConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html'

    hidden [object] $_s3Bucket
    hidden [object] $_architecture
    hidden [object] $_s3Key

    [string] $S3Bucket
    [string] $Architecture
    [string] $S3Key

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

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

Write-Verbose "Importing class 'RoboMakerRobotApplicationRobotSoftwareSuite'"

class RoboMakerRobotApplicationRobotSoftwareSuite : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerRobotApplicationRobotSoftwareSuite'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html'

    hidden [object] $_version
    hidden [object] $_name

    [string] $Version
    [string] $Name

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

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

Write-Verbose "Importing class 'RoboMakerSimulationApplicationRenderingEngine'"

class RoboMakerSimulationApplicationRenderingEngine : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerSimulationApplicationRenderingEngine'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html'

    hidden [object] $_version
    hidden [object] $_name

    [string] $Version
    [string] $Name

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

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

Write-Verbose "Importing class 'RoboMakerRobotApplicationSourceConfig'"

class RoboMakerRobotApplicationSourceConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSRoboMakerRobotApplicationSourceConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html'

    hidden [object] $_s3Bucket
    hidden [object] $_architecture
    hidden [object] $_s3Key

    [string] $S3Bucket
    [string] $Architecture
    [string] $S3Key

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

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

Write-Verbose "Importing class 'RoboMakerSimulationApplication'"

class RoboMakerSimulationApplication : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerSimulationApplication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html'

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

    [string] $Type = 'AWS::RoboMaker::SimulationApplication'
    [RoboMakerSimulationApplicationRenderingEngine] $RenderingEngine
    [RoboMakerSimulationApplicationSimulationSoftwareSuite] $SimulationSoftwareSuite
    [string] $CurrentRevisionId
    [RoboMakerSimulationApplicationRobotSoftwareSuite] $RobotSoftwareSuite
    [RoboMakerSimulationApplicationSourceConfig[]] $Sources
    [VSJson] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name RenderingEngine -Value {
            $this.Properties['RenderingEngine']
        } -SecondValue {
            param([ValidateType(([RoboMakerSimulationApplicationRenderingEngine], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RenderingEngine'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SimulationSoftwareSuite -Value {
            $this.Properties['SimulationSoftwareSuite']
        } -SecondValue {
            param([ValidateType(([RoboMakerSimulationApplicationSimulationSoftwareSuite], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SimulationSoftwareSuite'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CurrentRevisionId -Value {
            $this.Properties['CurrentRevisionId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CurrentRevisionId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RobotSoftwareSuite -Value {
            $this.Properties['RobotSoftwareSuite']
        } -SecondValue {
            param([ValidateType(([RoboMakerSimulationApplicationRobotSoftwareSuite], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RobotSoftwareSuite'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Sources -Value {
            $this.Properties['Sources']
        } -SecondValue {
            param([ValidateType(([RoboMakerSimulationApplicationSourceConfig], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Sources'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['Tags'] = [VSJson]::Transform($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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'RoboMakerSimulationApplicationVersion'"

class RoboMakerSimulationApplicationVersion : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerSimulationApplicationVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::RoboMaker::SimulationApplicationVersion'
    [string] $CurrentRevisionId
    [string] $Application
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'RoboMakerRobotApplication'"

class RoboMakerRobotApplication : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerRobotApplication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html'

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

    [string] $Type = 'AWS::RoboMaker::RobotApplication'
    [string] $CurrentRevisionId
    [RoboMakerRobotApplicationRobotSoftwareSuite] $RobotSoftwareSuite
    [RoboMakerRobotApplicationSourceConfig[]] $Sources
    [VSJson] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name CurrentRevisionId -Value {
            $this.Properties['CurrentRevisionId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CurrentRevisionId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RobotSoftwareSuite -Value {
            $this.Properties['RobotSoftwareSuite']
        } -SecondValue {
            param([ValidateType(([RoboMakerRobotApplicationRobotSoftwareSuite], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RobotSoftwareSuite'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Sources -Value {
            $this.Properties['Sources']
        } -SecondValue {
            param([ValidateType(([RoboMakerRobotApplicationSourceConfig], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Sources'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['Tags'] = [VSJson]::Transform($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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'RoboMakerFleet'"

class RoboMakerFleet : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerFleet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html'

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

    [string] $Type = 'AWS::RoboMaker::Fleet'
    [VSJson] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'RoboMakerRobotApplicationVersion'"

class RoboMakerRobotApplicationVersion : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerRobotApplicationVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::RoboMaker::RobotApplicationVersion'
    [string] $CurrentRevisionId
    [string] $Application
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'RoboMakerRobot'"

class RoboMakerRobot : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSRoboMakerRobot'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::RoboMaker::Robot'
    [string] $Fleet
    [string] $Architecture
    [string] $GreengrassGroupId
    [VSJson] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Fleet -Value {
            $this.Properties['Fleet']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Fleet'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Architecture -Value {
            $this.Properties['Architecture']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Architecture'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GreengrassGroupId -Value {
            $this.Properties['GreengrassGroupId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GreengrassGroupId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['Tags'] = [VSJson]::Transform($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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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