<?php
// This file was auto-generated from sdk-root/src/data/robomaker/2018-06-29/api-2.json
return [
	'version'    => '2.0',
	'metadata'   => [
		'apiVersion'          => '2018-06-29',
		'endpointPrefix'      => 'robomaker',
		'jsonVersion'         => '1.1',
		'protocol'            => 'rest-json',
		'serviceAbbreviation' => 'RoboMaker',
		'serviceFullName'     => 'AWS RoboMaker',
		'serviceId'           => 'RoboMaker',
		'signatureVersion'    => 'v4',
		'signingName'         => 'robomaker',
		'uid'                 => 'robomaker-2018-06-29',
	],
	'operations' => [
		'BatchDescribeSimulationJob'         => [
			'name'   => 'BatchDescribeSimulationJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/batchDescribeSimulationJob',
			],
			'input'  => [ 'shape' => 'BatchDescribeSimulationJobRequest', ],
			'output' => [ 'shape' => 'BatchDescribeSimulationJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'CancelDeploymentJob'                => [
			'name'   => 'CancelDeploymentJob',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/cancelDeploymentJob', ],
			'input'  => [ 'shape' => 'CancelDeploymentJobRequest', ],
			'output' => [ 'shape' => 'CancelDeploymentJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'CancelSimulationJob'                => [
			'name'   => 'CancelSimulationJob',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/cancelSimulationJob', ],
			'input'  => [ 'shape' => 'CancelSimulationJobRequest', ],
			'output' => [ 'shape' => 'CancelSimulationJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'CreateDeploymentJob'                => [
			'name'   => 'CreateDeploymentJob',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/createDeploymentJob', ],
			'input'  => [ 'shape' => 'CreateDeploymentJobRequest', ],
			'output' => [ 'shape' => 'CreateDeploymentJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ConcurrentDeploymentException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
			],
		],
		'CreateFleet'                        => [
			'name'   => 'CreateFleet',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/createFleet', ],
			'input'  => [ 'shape' => 'CreateFleetRequest', ],
			'output' => [ 'shape' => 'CreateFleetResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
			],
		],
		'CreateRobot'                        => [
			'name'   => 'CreateRobot',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/createRobot', ],
			'input'  => [ 'shape' => 'CreateRobotRequest', ],
			'output' => [ 'shape' => 'CreateRobotResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ResourceAlreadyExistsException', ],
			],
		],
		'CreateRobotApplication'             => [
			'name'   => 'CreateRobotApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/createRobotApplication',
			],
			'input'  => [ 'shape' => 'CreateRobotApplicationRequest', ],
			'output' => [ 'shape' => 'CreateRobotApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceAlreadyExistsException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
			],
		],
		'CreateRobotApplicationVersion'      => [
			'name'   => 'CreateRobotApplicationVersion',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/createRobotApplicationVersion',
			],
			'input'  => [ 'shape' => 'CreateRobotApplicationVersionRequest', ],
			'output' => [ 'shape' => 'CreateRobotApplicationVersionResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'CreateSimulationApplication'        => [
			'name'   => 'CreateSimulationApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/createSimulationApplication',
			],
			'input'  => [ 'shape' => 'CreateSimulationApplicationRequest', ],
			'output' => [ 'shape' => 'CreateSimulationApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceAlreadyExistsException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
			],
		],
		'CreateSimulationApplicationVersion' => [
			'name'   => 'CreateSimulationApplicationVersion',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/createSimulationApplicationVersion',
			],
			'input'  => [ 'shape' => 'CreateSimulationApplicationVersionRequest', ],
			'output' => [ 'shape' => 'CreateSimulationApplicationVersionResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'CreateSimulationJob'                => [
			'name'   => 'CreateSimulationJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/createSimulationJob',
			],
			'input'  => [ 'shape' => 'CreateSimulationJobRequest', ],
			'output' => [ 'shape' => 'CreateSimulationJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
				[ 'shape' => 'ServiceUnavailableException', ],
			],
		],
		'DeleteFleet'                        => [
			'name'   => 'DeleteFleet',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/deleteFleet', ],
			'input'  => [ 'shape' => 'DeleteFleetRequest', ],
			'output' => [ 'shape' => 'DeleteFleetResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'DeleteRobot'                        => [
			'name'   => 'DeleteRobot',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/deleteRobot', ],
			'input'  => [ 'shape' => 'DeleteRobotRequest', ],
			'output' => [ 'shape' => 'DeleteRobotResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'DeleteRobotApplication'             => [
			'name'   => 'DeleteRobotApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/deleteRobotApplication',
			],
			'input'  => [ 'shape' => 'DeleteRobotApplicationRequest', ],
			'output' => [ 'shape' => 'DeleteRobotApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'DeleteSimulationApplication'        => [
			'name'   => 'DeleteSimulationApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/deleteSimulationApplication',
			],
			'input'  => [ 'shape' => 'DeleteSimulationApplicationRequest', ],
			'output' => [ 'shape' => 'DeleteSimulationApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'DeregisterRobot'                    => [
			'name'   => 'DeregisterRobot',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/deregisterRobot',
			],
			'input'  => [ 'shape' => 'DeregisterRobotRequest', ],
			'output' => [ 'shape' => 'DeregisterRobotResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
			],
		],
		'DescribeDeploymentJob'              => [
			'name'   => 'DescribeDeploymentJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/describeDeploymentJob',
			],
			'input'  => [ 'shape' => 'DescribeDeploymentJobRequest', ],
			'output' => [ 'shape' => 'DescribeDeploymentJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'DescribeFleet'                      => [
			'name'   => 'DescribeFleet',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/describeFleet', ],
			'input'  => [ 'shape' => 'DescribeFleetRequest', ],
			'output' => [ 'shape' => 'DescribeFleetResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'DescribeRobot'                      => [
			'name'   => 'DescribeRobot',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/describeRobot', ],
			'input'  => [ 'shape' => 'DescribeRobotRequest', ],
			'output' => [ 'shape' => 'DescribeRobotResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'DescribeRobotApplication'           => [
			'name'   => 'DescribeRobotApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/describeRobotApplication',
			],
			'input'  => [ 'shape' => 'DescribeRobotApplicationRequest', ],
			'output' => [ 'shape' => 'DescribeRobotApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'DescribeSimulationApplication'      => [
			'name'   => 'DescribeSimulationApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/describeSimulationApplication',
			],
			'input'  => [ 'shape' => 'DescribeSimulationApplicationRequest', ],
			'output' => [ 'shape' => 'DescribeSimulationApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'DescribeSimulationJob'              => [
			'name'   => 'DescribeSimulationJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/describeSimulationJob',
			],
			'input'  => [ 'shape' => 'DescribeSimulationJobRequest', ],
			'output' => [ 'shape' => 'DescribeSimulationJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'ListDeploymentJobs'                 => [
			'name'   => 'ListDeploymentJobs',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/listDeploymentJobs',
			],
			'input'  => [ 'shape' => 'ListDeploymentJobsRequest', ],
			'output' => [ 'shape' => 'ListDeploymentJobsResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'ListFleets'                         => [
			'name'   => 'ListFleets',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/listFleets', ],
			'input'  => [ 'shape' => 'ListFleetsRequest', ],
			'output' => [ 'shape' => 'ListFleetsResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'ListRobotApplications'              => [
			'name'   => 'ListRobotApplications',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/listRobotApplications',
			],
			'input'  => [ 'shape' => 'ListRobotApplicationsRequest', ],
			'output' => [ 'shape' => 'ListRobotApplicationsResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'ListRobots'                         => [
			'name'   => 'ListRobots',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/listRobots', ],
			'input'  => [ 'shape' => 'ListRobotsRequest', ],
			'output' => [ 'shape' => 'ListRobotsResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'ListSimulationApplications'         => [
			'name'   => 'ListSimulationApplications',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/listSimulationApplications',
			],
			'input'  => [ 'shape' => 'ListSimulationApplicationsRequest', ],
			'output' => [ 'shape' => 'ListSimulationApplicationsResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'ListSimulationJobs'                 => [
			'name'   => 'ListSimulationJobs',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/listSimulationJobs',
			],
			'input'  => [ 'shape' => 'ListSimulationJobsRequest', ],
			'output' => [ 'shape' => 'ListSimulationJobsResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'ListTagsForResource'                => [
			'name'   => 'ListTagsForResource',
			'http'   => [
				'method'     => 'GET',
				'requestUri' => '/tags/{resourceArn}',
			],
			'input'  => [ 'shape' => 'ListTagsForResourceRequest', ],
			'output' => [ 'shape' => 'ListTagsForResourceResponse', ],
			'errors' => [
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'RegisterRobot'                      => [
			'name'   => 'RegisterRobot',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/registerRobot', ],
			'input'  => [ 'shape' => 'RegisterRobotRequest', ],
			'output' => [ 'shape' => 'RegisterRobotResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
			],
		],
		'RestartSimulationJob'               => [
			'name'   => 'RestartSimulationJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/restartSimulationJob',
			],
			'input'  => [ 'shape' => 'RestartSimulationJobRequest', ],
			'output' => [ 'shape' => 'RestartSimulationJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'SyncDeploymentJob'                  => [
			'name'   => 'SyncDeploymentJob',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/syncDeploymentJob',
			],
			'input'  => [ 'shape' => 'SyncDeploymentJobRequest', ],
			'output' => [ 'shape' => 'SyncDeploymentJobResponse', ],
			'errors' => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ConcurrentDeploymentException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
			],
		],
		'TagResource'                        => [
			'name'   => 'TagResource',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/tags/{resourceArn}',
			],
			'input'  => [ 'shape' => 'TagResourceRequest', ],
			'output' => [ 'shape' => 'TagResourceResponse', ],
			'errors' => [
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'UntagResource'                      => [
			'name'   => 'UntagResource',
			'http'   => [
				'method'     => 'DELETE',
				'requestUri' => '/tags/{resourceArn}',
			],
			'input'  => [ 'shape' => 'UntagResourceRequest', ],
			'output' => [ 'shape' => 'UntagResourceResponse', ],
			'errors' => [
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ThrottlingException', ],
			],
		],
		'UpdateRobotApplication'             => [
			'name'   => 'UpdateRobotApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/updateRobotApplication',
			],
			'input'  => [ 'shape' => 'UpdateRobotApplicationRequest', ],
			'output' => [ 'shape' => 'UpdateRobotApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
		'UpdateSimulationApplication'        => [
			'name'   => 'UpdateSimulationApplication',
			'http'   => [
				'method'     => 'POST',
				'requestUri' => '/updateSimulationApplication',
			],
			'input'  => [ 'shape' => 'UpdateSimulationApplicationRequest', ],
			'output' => [ 'shape' => 'UpdateSimulationApplicationResponse', ],
			'errors' => [
				[ 'shape' => 'InvalidParameterException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ThrottlingException', ],
				[ 'shape' => 'InternalServerException', ],
			],
		],
	],
	'shapes'     => [
		'Architecture'                               => [
			'type' => 'string',
			'enum' => [ 'X86_64', 'ARM64', 'ARMHF', ],
		],
		'Arn'                                        => [
			'type'    => 'string',
			'max'     => 1224,
			'min'     => 1,
			'pattern' => 'arn:.*',
		],
		'Arns'                                       => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Arn', ],
			'max'    => 100,
			'min'    => 1,
		],
		'BatchDescribeSimulationJobRequest'          => [
			'type'     => 'structure',
			'required' => [ 'jobs', ],
			'members'  => [ 'jobs' => [ 'shape' => 'Arns', ], ],
		],
		'BatchDescribeSimulationJobResponse'         => [
			'type'    => 'structure',
			'members' => [
				'jobs'            => [ 'shape' => 'SimulationJobs', ],
				'unprocessedJobs' => [ 'shape' => 'Arns', ],
			],
		],
		'Boolean'                                    => [ 'type' => 'boolean', ],
		'CancelDeploymentJobRequest'                 => [
			'type'     => 'structure',
			'required' => [ 'job', ],
			'members'  => [ 'job' => [ 'shape' => 'Arn', ], ],
		],
		'CancelDeploymentJobResponse'                => [ 'type' => 'structure', 'members' => [], ],
		'CancelSimulationJobRequest'                 => [
			'type'     => 'structure',
			'required' => [ 'job', ],
			'members'  => [ 'job' => [ 'shape' => 'Arn', ], ],
		],
		'CancelSimulationJobResponse'                => [ 'type' => 'structure', 'members' => [], ],
		'ClientRequestToken'                         => [
			'type'    => 'string',
			'max'     => 64,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9_\\-=]*',
		],
		'Command'                                    => [
			'type'    => 'string',
			'max'     => 1024,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9_.\\-]*',
		],
		'ConcurrentDeploymentException'              => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'CreateDeploymentJobRequest'                 => [
			'type'     => 'structure',
			'required' => [
				'clientRequestToken',
				'fleet',
				'deploymentApplicationConfigs',
			],
			'members'  => [
				'deploymentConfig'             => [ 'shape' => 'DeploymentConfig', ],
				'clientRequestToken'           => [
					'shape'            => 'ClientRequestToken',
					'idempotencyToken' => true,
				],
				'fleet'                        => [ 'shape' => 'Arn', ],
				'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ],
				'tags'                         => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateDeploymentJobResponse'                => [
			'type'    => 'structure',
			'members' => [
				'arn'                          => [ 'shape' => 'Arn', ],
				'fleet'                        => [ 'shape' => 'Arn', ],
				'status'                       => [ 'shape' => 'DeploymentStatus', ],
				'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ],
				'failureReason'                => [ 'shape' => 'GenericString', ],
				'failureCode'                  => [ 'shape' => 'DeploymentJobErrorCode', ],
				'createdAt'                    => [ 'shape' => 'CreatedAt', ],
				'deploymentConfig'             => [ 'shape' => 'DeploymentConfig', ],
				'tags'                         => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateFleetRequest'                         => [
			'type'     => 'structure',
			'required' => [ 'name', ],
			'members'  => [
				'name' => [ 'shape' => 'Name', ],
				'tags' => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateFleetResponse'                        => [
			'type'    => 'structure',
			'members' => [
				'arn'       => [ 'shape' => 'Arn', ],
				'name'      => [ 'shape' => 'Name', ],
				'createdAt' => [ 'shape' => 'CreatedAt', ],
				'tags'      => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateRobotApplicationRequest'              => [
			'type'     => 'structure',
			'required' => [ 'name', 'sources', 'robotSoftwareSuite', ],
			'members'  => [
				'name'               => [ 'shape' => 'Name', ],
				'sources'            => [ 'shape' => 'SourceConfigs', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'tags'               => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateRobotApplicationResponse'             => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'version'            => [ 'shape' => 'Version', ],
				'sources'            => [ 'shape' => 'Sources', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'lastUpdatedAt'      => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'         => [ 'shape' => 'RevisionId', ],
				'tags'               => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateRobotApplicationVersionRequest'       => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'       => [ 'shape' => 'Arn', ],
				'currentRevisionId' => [ 'shape' => 'RevisionId', ],
			],
		],
		'CreateRobotApplicationVersionResponse'      => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'version'            => [ 'shape' => 'Version', ],
				'sources'            => [ 'shape' => 'Sources', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'lastUpdatedAt'      => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'         => [ 'shape' => 'RevisionId', ],
			],
		],
		'CreateRobotRequest'                         => [
			'type'     => 'structure',
			'required' => [ 'name', 'architecture', 'greengrassGroupId', ],
			'members'  => [
				'name'              => [ 'shape' => 'Name', ],
				'architecture'      => [ 'shape' => 'Architecture', ],
				'greengrassGroupId' => [ 'shape' => 'Id', ],
				'tags'              => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateRobotResponse'                        => [
			'type'    => 'structure',
			'members' => [
				'arn'               => [ 'shape' => 'Arn', ],
				'name'              => [ 'shape' => 'Name', ],
				'createdAt'         => [ 'shape' => 'CreatedAt', ],
				'greengrassGroupId' => [ 'shape' => 'Id', ],
				'architecture'      => [ 'shape' => 'Architecture', ],
				'tags'              => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateSimulationApplicationRequest'         => [
			'type'     => 'structure',
			'required' => [
				'name',
				'sources',
				'simulationSoftwareSuite',
				'robotSoftwareSuite',
				'renderingEngine',
			],
			'members'  => [
				'name'                    => [ 'shape' => 'Name', ],
				'sources'                 => [ 'shape' => 'SourceConfigs', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateSimulationApplicationResponse'        => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'version'                 => [ 'shape' => 'Version', ],
				'sources'                 => [ 'shape' => 'Sources', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'              => [ 'shape' => 'RevisionId', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
			],
		],
		'CreateSimulationApplicationVersionRequest'  => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'       => [ 'shape' => 'Arn', ],
				'currentRevisionId' => [ 'shape' => 'RevisionId', ],
			],
		],
		'CreateSimulationApplicationVersionResponse' => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'version'                 => [ 'shape' => 'Version', ],
				'sources'                 => [ 'shape' => 'Sources', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'              => [ 'shape' => 'RevisionId', ],
			],
		],
		'CreateSimulationJobRequest'                 => [
			'type'     => 'structure',
			'required' => [ 'maxJobDurationInSeconds', 'iamRole', ],
			'members'  => [
				'clientRequestToken'      => [
					'shape'            => 'ClientRequestToken',
					'idempotencyToken' => true,
				],
				'outputLocation'          => [ 'shape' => 'OutputLocation', ],
				'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ],
				'iamRole'                 => [ 'shape' => 'IamRole', ],
				'failureBehavior'         => [ 'shape' => 'FailureBehavior', ],
				'robotApplications'       => [ 'shape' => 'RobotApplicationConfigs', ],
				'simulationApplications'  => [ 'shape' => 'SimulationApplicationConfigs', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
				'vpcConfig'               => [ 'shape' => 'VPCConfig', ],
			],
		],
		'CreateSimulationJobResponse'                => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'status'                  => [ 'shape' => 'SimulationJobStatus', ],
				'lastStartedAt'           => [ 'shape' => 'LastStartedAt', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'failureBehavior'         => [ 'shape' => 'FailureBehavior', ],
				'failureCode'             => [ 'shape' => 'SimulationJobErrorCode', ],
				'clientRequestToken'      => [ 'shape' => 'ClientRequestToken', ],
				'outputLocation'          => [ 'shape' => 'OutputLocation', ],
				'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ],
				'simulationTimeMillis'    => [ 'shape' => 'SimulationTimeMillis', ],
				'iamRole'                 => [ 'shape' => 'IamRole', ],
				'robotApplications'       => [ 'shape' => 'RobotApplicationConfigs', ],
				'simulationApplications'  => [ 'shape' => 'SimulationApplicationConfigs', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
				'vpcConfig'               => [ 'shape' => 'VPCConfigResponse', ],
			],
		],
		'CreatedAt'                                  => [ 'type' => 'timestamp', ],
		'DeleteFleetRequest'                         => [
			'type'     => 'structure',
			'required' => [ 'fleet', ],
			'members'  => [ 'fleet' => [ 'shape' => 'Arn', ], ],
		],
		'DeleteFleetResponse'                        => [ 'type' => 'structure', 'members' => [], ],
		'DeleteRobotApplicationRequest'              => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
			],
		],
		'DeleteRobotApplicationResponse'             => [ 'type' => 'structure', 'members' => [], ],
		'DeleteRobotRequest'                         => [
			'type'     => 'structure',
			'required' => [ 'robot', ],
			'members'  => [ 'robot' => [ 'shape' => 'Arn', ], ],
		],
		'DeleteRobotResponse'                        => [ 'type' => 'structure', 'members' => [], ],
		'DeleteSimulationApplicationRequest'         => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
			],
		],
		'DeleteSimulationApplicationResponse'        => [ 'type' => 'structure', 'members' => [], ],
		'DeploymentApplicationConfig'                => [
			'type'     => 'structure',
			'required' => [
				'application',
				'applicationVersion',
				'launchConfig',
			],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'DeploymentVersion', ],
				'launchConfig'       => [ 'shape' => 'DeploymentLaunchConfig', ],
			],
		],
		'DeploymentApplicationConfigs'               => [
			'type'   => 'list',
			'member' => [ 'shape' => 'DeploymentApplicationConfig', ],
			'max'    => 1,
			'min'    => 1,
		],
		'DeploymentConfig'                           => [
			'type'    => 'structure',
			'members' => [
				'concurrentDeploymentPercentage' => [ 'shape' => 'Percentage', ],
				'failureThresholdPercentage'     => [ 'shape' => 'Percentage', ],
			],
		],
		'DeploymentJob'                              => [
			'type'    => 'structure',
			'members' => [
				'arn'                          => [ 'shape' => 'Arn', ],
				'fleet'                        => [ 'shape' => 'Arn', ],
				'status'                       => [ 'shape' => 'DeploymentStatus', ],
				'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ],
				'deploymentConfig'             => [ 'shape' => 'DeploymentConfig', ],
				'failureReason'                => [ 'shape' => 'GenericString', ],
				'failureCode'                  => [ 'shape' => 'DeploymentJobErrorCode', ],
				'createdAt'                    => [ 'shape' => 'CreatedAt', ],
			],
		],
		'DeploymentJobErrorCode'                     => [
			'type' => 'string',
			'enum' => [
				'ResourceNotFound',
				'EnvironmentSetupError',
				'EtagMismatch',
				'FailureThresholdBreached',
				'RobotDeploymentAborted',
				'RobotDeploymentNoResponse',
				'RobotAgentConnectionTimeout',
				'GreengrassDeploymentFailed',
				'MissingRobotArchitecture',
				'MissingRobotApplicationArchitecture',
				'MissingRobotDeploymentResource',
				'GreengrassGroupVersionDoesNotExist',
				'ExtractingBundleFailure',
				'PreLaunchFileFailure',
				'PostLaunchFileFailure',
				'BadPermissionError',
				'InternalServerError',
			],
		],
		'DeploymentJobs'                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'DeploymentJob', ],
			'max'    => 200,
			'min'    => 0,
		],
		'DeploymentLaunchConfig'                     => [
			'type'     => 'structure',
			'required' => [ 'packageName', 'launchFile', ],
			'members'  => [
				'packageName'          => [ 'shape' => 'Command', ],
				'preLaunchFile'        => [ 'shape' => 'Path', ],
				'launchFile'           => [ 'shape' => 'Command', ],
				'postLaunchFile'       => [ 'shape' => 'Path', ],
				'environmentVariables' => [ 'shape' => 'EnvironmentVariableMap', ],
			],
		],
		'DeploymentStatus'                           => [
			'type' => 'string',
			'enum' => [
				'Pending',
				'Preparing',
				'InProgress',
				'Failed',
				'Succeeded',
				'Canceled',
			],
		],
		'DeploymentVersion'                          => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 1,
			'pattern' => '[0-9]*',
		],
		'DeregisterRobotRequest'                     => [
			'type'     => 'structure',
			'required' => [ 'fleet', 'robot', ],
			'members'  => [
				'fleet' => [ 'shape' => 'Arn', ],
				'robot' => [ 'shape' => 'Arn', ],
			],
		],
		'DeregisterRobotResponse'                    => [
			'type'    => 'structure',
			'members' => [
				'fleet' => [ 'shape' => 'Arn', ],
				'robot' => [ 'shape' => 'Arn', ],
			],
		],
		'DescribeDeploymentJobRequest'               => [
			'type'     => 'structure',
			'required' => [ 'job', ],
			'members'  => [ 'job' => [ 'shape' => 'Arn', ], ],
		],
		'DescribeDeploymentJobResponse'              => [
			'type'    => 'structure',
			'members' => [
				'arn'                          => [ 'shape' => 'Arn', ],
				'fleet'                        => [ 'shape' => 'Arn', ],
				'status'                       => [ 'shape' => 'DeploymentStatus', ],
				'deploymentConfig'             => [ 'shape' => 'DeploymentConfig', ],
				'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ],
				'failureReason'                => [ 'shape' => 'GenericString', ],
				'failureCode'                  => [ 'shape' => 'DeploymentJobErrorCode', ],
				'createdAt'                    => [ 'shape' => 'CreatedAt', ],
				'robotDeploymentSummary'       => [ 'shape' => 'RobotDeploymentSummary', ],
				'tags'                         => [ 'shape' => 'TagMap', ],
			],
		],
		'DescribeFleetRequest'                       => [
			'type'     => 'structure',
			'required' => [ 'fleet', ],
			'members'  => [ 'fleet' => [ 'shape' => 'Arn', ], ],
		],
		'DescribeFleetResponse'                      => [
			'type'    => 'structure',
			'members' => [
				'name'                 => [ 'shape' => 'Name', ],
				'arn'                  => [ 'shape' => 'Arn', ],
				'robots'               => [ 'shape' => 'Robots', ],
				'createdAt'            => [ 'shape' => 'CreatedAt', ],
				'lastDeploymentStatus' => [ 'shape' => 'DeploymentStatus', ],
				'lastDeploymentJob'    => [ 'shape' => 'Arn', ],
				'lastDeploymentTime'   => [ 'shape' => 'CreatedAt', ],
				'tags'                 => [ 'shape' => 'TagMap', ],
			],
		],
		'DescribeRobotApplicationRequest'            => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
			],
		],
		'DescribeRobotApplicationResponse'           => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'version'            => [ 'shape' => 'Version', ],
				'sources'            => [ 'shape' => 'Sources', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'revisionId'         => [ 'shape' => 'RevisionId', ],
				'lastUpdatedAt'      => [ 'shape' => 'LastUpdatedAt', ],
				'tags'               => [ 'shape' => 'TagMap', ],
			],
		],
		'DescribeRobotRequest'                       => [
			'type'     => 'structure',
			'required' => [ 'robot', ],
			'members'  => [ 'robot' => [ 'shape' => 'Arn', ], ],
		],
		'DescribeRobotResponse'                      => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'fleetArn'           => [ 'shape' => 'Arn', ],
				'status'             => [ 'shape' => 'RobotStatus', ],
				'greengrassGroupId'  => [ 'shape' => 'Id', ],
				'createdAt'          => [ 'shape' => 'CreatedAt', ],
				'architecture'       => [ 'shape' => 'Architecture', ],
				'lastDeploymentJob'  => [ 'shape' => 'Arn', ],
				'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ],
				'tags'               => [ 'shape' => 'TagMap', ],
			],
		],
		'DescribeSimulationApplicationRequest'       => [
			'type'     => 'structure',
			'required' => [ 'application', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
			],
		],
		'DescribeSimulationApplicationResponse'      => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'version'                 => [ 'shape' => 'Version', ],
				'sources'                 => [ 'shape' => 'Sources', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'revisionId'              => [ 'shape' => 'RevisionId', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
			],
		],
		'DescribeSimulationJobRequest'               => [
			'type'     => 'structure',
			'required' => [ 'job', ],
			'members'  => [ 'job' => [ 'shape' => 'Arn', ], ],
		],
		'DescribeSimulationJobResponse'              => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'status'                  => [ 'shape' => 'SimulationJobStatus', ],
				'lastStartedAt'           => [ 'shape' => 'LastStartedAt', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'failureBehavior'         => [ 'shape' => 'FailureBehavior', ],
				'failureCode'             => [ 'shape' => 'SimulationJobErrorCode', ],
				'failureReason'           => [ 'shape' => 'GenericString', ],
				'clientRequestToken'      => [ 'shape' => 'ClientRequestToken', ],
				'outputLocation'          => [ 'shape' => 'OutputLocation', ],
				'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ],
				'simulationTimeMillis'    => [ 'shape' => 'SimulationTimeMillis', ],
				'iamRole'                 => [ 'shape' => 'IamRole', ],
				'robotApplications'       => [ 'shape' => 'RobotApplicationConfigs', ],
				'simulationApplications'  => [ 'shape' => 'SimulationApplicationConfigs', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
				'vpcConfig'               => [ 'shape' => 'VPCConfigResponse', ],
			],
		],
		'EnvironmentVariableKey'                     => [
			'type'    => 'string',
			'max'     => 1024,
			'min'     => 1,
			'pattern' => '[A-Z_][A-Z0-9_]*',
		],
		'EnvironmentVariableMap'                     => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'EnvironmentVariableKey', ],
			'value' => [ 'shape' => 'EnvironmentVariableValue', ],
			'max'   => 16,
			'min'   => 0,
		],
		'EnvironmentVariableValue'                   => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ],
		'FailureBehavior'                            => [ 'type' => 'string', 'enum' => [ 'Fail', 'Continue', ], ],
		'Filter'                                     => [
			'type'    => 'structure',
			'members' => [
				'name'   => [ 'shape' => 'Name', ],
				'values' => [ 'shape' => 'FilterValues', ],
			],
		],
		'FilterValues'                               => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Name', ],
			'max'    => 1,
			'min'    => 1,
		],
		'Filters'                                    => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Filter', ],
			'max'    => 1,
			'min'    => 1,
		],
		'Fleet'                                      => [
			'type'    => 'structure',
			'members' => [
				'name'                 => [ 'shape' => 'Name', ],
				'arn'                  => [ 'shape' => 'Arn', ],
				'createdAt'            => [ 'shape' => 'CreatedAt', ],
				'lastDeploymentStatus' => [ 'shape' => 'DeploymentStatus', ],
				'lastDeploymentJob'    => [ 'shape' => 'Arn', ],
				'lastDeploymentTime'   => [ 'shape' => 'CreatedAt', ],
			],
		],
		'Fleets'                                     => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Fleet', ],
			'max'    => 200,
			'min'    => 0,
		],
		'GenericInteger'                             => [ 'type' => 'integer', ],
		'GenericString'                              => [ 'type' => 'string', ],
		'IamRole'                                    => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 1,
			'pattern' => 'arn:aws:iam::\\w+:role/.*',
		],
		'Id'                                         => [ 'type' => 'string', 'max' => 1224, 'min' => 1, ],
		'IdempotentParameterMismatchException'       => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'InternalServerException'                    => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 500, ],
			'exception' => true,
		],
		'InvalidParameterException'                  => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'JobDuration'                                => [ 'type' => 'long', ],
		'LastStartedAt'                              => [ 'type' => 'timestamp', ],
		'LastUpdatedAt'                              => [ 'type' => 'timestamp', ],
		'LaunchConfig'                               => [
			'type'     => 'structure',
			'required' => [ 'packageName', 'launchFile', ],
			'members'  => [
				'packageName'          => [ 'shape' => 'Command', ],
				'launchFile'           => [ 'shape' => 'Command', ],
				'environmentVariables' => [ 'shape' => 'EnvironmentVariableMap', ],
			],
		],
		'LimitExceededException'                     => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'ListDeploymentJobsRequest'                  => [
			'type'    => 'structure',
			'members' => [
				'filters'    => [ 'shape' => 'Filters', ],
				'nextToken'  => [ 'shape' => 'PaginationToken', ],
				'maxResults' => [ 'shape' => 'MaxResults', ],
			],
		],
		'ListDeploymentJobsResponse'                 => [
			'type'    => 'structure',
			'members' => [
				'deploymentJobs' => [ 'shape' => 'DeploymentJobs', ],
				'nextToken'      => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListFleetsRequest'                          => [
			'type'    => 'structure',
			'members' => [
				'nextToken'  => [ 'shape' => 'PaginationToken', ],
				'maxResults' => [ 'shape' => 'MaxResults', ],
				'filters'    => [ 'shape' => 'Filters', ],
			],
		],
		'ListFleetsResponse'                         => [
			'type'    => 'structure',
			'members' => [
				'fleetDetails' => [ 'shape' => 'Fleets', ],
				'nextToken'    => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListRobotApplicationsRequest'               => [
			'type'    => 'structure',
			'members' => [
				'versionQualifier' => [ 'shape' => 'VersionQualifier', ],
				'nextToken'        => [ 'shape' => 'PaginationToken', ],
				'maxResults'       => [ 'shape' => 'MaxResults', ],
				'filters'          => [ 'shape' => 'Filters', ],
			],
		],
		'ListRobotApplicationsResponse'              => [
			'type'    => 'structure',
			'members' => [
				'robotApplicationSummaries' => [ 'shape' => 'RobotApplicationSummaries', ],
				'nextToken'                 => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListRobotsRequest'                          => [
			'type'    => 'structure',
			'members' => [
				'nextToken'  => [ 'shape' => 'PaginationToken', ],
				'maxResults' => [ 'shape' => 'MaxResults', ],
				'filters'    => [ 'shape' => 'Filters', ],
			],
		],
		'ListRobotsResponse'                         => [
			'type'    => 'structure',
			'members' => [
				'robots'    => [ 'shape' => 'Robots', ],
				'nextToken' => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListSimulationApplicationsRequest'          => [
			'type'    => 'structure',
			'members' => [
				'versionQualifier' => [ 'shape' => 'VersionQualifier', ],
				'nextToken'        => [ 'shape' => 'PaginationToken', ],
				'maxResults'       => [ 'shape' => 'MaxResults', ],
				'filters'          => [ 'shape' => 'Filters', ],
			],
		],
		'ListSimulationApplicationsResponse'         => [
			'type'    => 'structure',
			'members' => [
				'simulationApplicationSummaries' => [ 'shape' => 'SimulationApplicationSummaries', ],
				'nextToken'                      => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListSimulationJobsRequest'                  => [
			'type'    => 'structure',
			'members' => [
				'nextToken'  => [ 'shape' => 'PaginationToken', ],
				'maxResults' => [ 'shape' => 'MaxResults', ],
				'filters'    => [ 'shape' => 'Filters', ],
			],
		],
		'ListSimulationJobsResponse'                 => [
			'type'     => 'structure',
			'required' => [ 'simulationJobSummaries', ],
			'members'  => [
				'simulationJobSummaries' => [ 'shape' => 'SimulationJobSummaries', ],
				'nextToken'              => [ 'shape' => 'PaginationToken', ],
			],
		],
		'ListTagsForResourceRequest'                 => [
			'type'     => 'structure',
			'required' => [ 'resourceArn', ],
			'members'  => [
				'resourceArn' => [
					'shape'        => 'Arn',
					'location'     => 'uri',
					'locationName' => 'resourceArn',
				],
			],
		],
		'ListTagsForResourceResponse'                => [
			'type'    => 'structure',
			'members' => [ 'tags' => [ 'shape' => 'TagMap', ], ],
		],
		'MaxResults'                                 => [ 'type' => 'integer', ],
		'Name'                                       => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9_\\-]*',
		],
		'NonEmptyString'                             => [ 'type' => 'string', 'min' => 1, ],
		'OutputLocation'                             => [
			'type'    => 'structure',
			'members' => [
				's3Bucket' => [ 'shape' => 'S3Bucket', ],
				's3Prefix' => [ 'shape' => 'S3Key', ],
			],
		],
		'PaginationToken'                            => [
			'type'    => 'string',
			'max'     => 2048,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9_.\\-\\/+=]*',
		],
		'Path'                                       => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ],
		'PercentDone'                                => [ 'type' => 'float', 'max' => 100, 'min' => 0, ],
		'Percentage'                                 => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ],
		'ProgressDetail'                             => [
			'type'    => 'structure',
			'members' => [
				'currentProgress'               => [ 'shape' => 'RobotDeploymentStep', ],
				'percentDone'                   => [ 'shape' => 'PercentDone', ],
				'estimatedTimeRemainingSeconds' => [ 'shape' => 'GenericInteger', ],
				'targetResource'                => [ 'shape' => 'GenericString', ],
			],
		],
		'RegisterRobotRequest'                       => [
			'type'     => 'structure',
			'required' => [ 'fleet', 'robot', ],
			'members'  => [
				'fleet' => [ 'shape' => 'Arn', ],
				'robot' => [ 'shape' => 'Arn', ],
			],
		],
		'RegisterRobotResponse'                      => [
			'type'    => 'structure',
			'members' => [
				'fleet' => [ 'shape' => 'Arn', ],
				'robot' => [ 'shape' => 'Arn', ],
			],
		],
		'RenderingEngine'                            => [
			'type'    => 'structure',
			'members' => [
				'name'    => [ 'shape' => 'RenderingEngineType', ],
				'version' => [ 'shape' => 'RenderingEngineVersionType', ],
			],
		],
		'RenderingEngineType'                        => [ 'type' => 'string', 'enum' => [ 'OGRE', ], ],
		'RenderingEngineVersionType'                 => [ 'type' => 'string', 'pattern' => '1.x', ],
		'ResourceAlreadyExistsException'             => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'ResourceNotFoundException'                  => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'RestartSimulationJobRequest'                => [
			'type'     => 'structure',
			'required' => [ 'job', ],
			'members'  => [ 'job' => [ 'shape' => 'Arn', ], ],
		],
		'RestartSimulationJobResponse'               => [ 'type' => 'structure', 'members' => [], ],
		'RevisionId'                                 => [
			'type'    => 'string',
			'max'     => 40,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9_.\\-]*',
		],
		'Robot'                                      => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'fleetArn'           => [ 'shape' => 'Arn', ],
				'status'             => [ 'shape' => 'RobotStatus', ],
				'greenGrassGroupId'  => [ 'shape' => 'Id', ],
				'createdAt'          => [ 'shape' => 'CreatedAt', ],
				'architecture'       => [ 'shape' => 'Architecture', ],
				'lastDeploymentJob'  => [ 'shape' => 'Arn', ],
				'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ],
			],
		],
		'RobotApplicationConfig'                     => [
			'type'     => 'structure',
			'required' => [ 'application', 'launchConfig', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
				'launchConfig'       => [ 'shape' => 'LaunchConfig', ],
			],
		],
		'RobotApplicationConfigs'                    => [
			'type'   => 'list',
			'member' => [ 'shape' => 'RobotApplicationConfig', ],
			'max'    => 1,
			'min'    => 1,
		],
		'RobotApplicationNames'                      => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Name', ],
			'max'    => 1,
			'min'    => 1,
		],
		'RobotApplicationSummaries'                  => [
			'type'   => 'list',
			'member' => [ 'shape' => 'RobotApplicationSummary', ],
			'max'    => 100,
			'min'    => 0,
		],
		'RobotApplicationSummary'                    => [
			'type'    => 'structure',
			'members' => [
				'name'               => [ 'shape' => 'Name', ],
				'arn'                => [ 'shape' => 'Arn', ],
				'version'            => [ 'shape' => 'Version', ],
				'lastUpdatedAt'      => [ 'shape' => 'LastUpdatedAt', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
			],
		],
		'RobotDeployment'                            => [
			'type'    => 'structure',
			'members' => [
				'arn'                  => [ 'shape' => 'Arn', ],
				'deploymentStartTime'  => [ 'shape' => 'CreatedAt', ],
				'deploymentFinishTime' => [ 'shape' => 'CreatedAt', ],
				'status'               => [ 'shape' => 'RobotStatus', ],
				'progressDetail'       => [ 'shape' => 'ProgressDetail', ],
				'failureReason'        => [ 'shape' => 'GenericString', ],
				'failureCode'          => [ 'shape' => 'DeploymentJobErrorCode', ],
			],
		],
		'RobotDeploymentStep'                        => [
			'type' => 'string',
			'enum' => [
				'Validating',
				'DownloadingExtracting',
				'ExecutingPreLaunch',
				'Launching',
				'ExecutingPostLaunch',
				'Finished',
			],
		],
		'RobotDeploymentSummary'                     => [
			'type'   => 'list',
			'member' => [ 'shape' => 'RobotDeployment', ],
		],
		'RobotSoftwareSuite'                         => [
			'type'    => 'structure',
			'members' => [
				'name'    => [ 'shape' => 'RobotSoftwareSuiteType', ],
				'version' => [ 'shape' => 'RobotSoftwareSuiteVersionType', ],
			],
		],
		'RobotSoftwareSuiteType'                     => [ 'type' => 'string', 'enum' => [ 'ROS', ], ],
		'RobotSoftwareSuiteVersionType'              => [ 'type' => 'string', 'enum' => [ 'Kinetic', 'Melodic', ], ],
		'RobotStatus'                                => [
			'type' => 'string',
			'enum' => [
				'Available',
				'Registered',
				'PendingNewDeployment',
				'Deploying',
				'Failed',
				'InSync',
				'NoResponse',
			],
		],
		'Robots'                                     => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Robot', ],
			'max'    => 1000,
			'min'    => 0,
		],
		'S3Bucket'                                   => [
			'type'    => 'string',
			'max'     => 63,
			'min'     => 3,
			'pattern' => '[a-z0-9][a-z0-9.\\-]*[a-z0-9]',
		],
		'S3Etag'                                     => [ 'type' => 'string', ],
		'S3Key'                                      => [
			'type'    => 'string',
			'max'     => 1024,
			'min'     => 1,
			'pattern' => '.*',
		],
		'SecurityGroups'                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'NonEmptyString', ],
			'max'    => 5,
			'min'    => 1,
		],
		'ServiceUnavailableException'                => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 503, ],
			'exception' => true,
		],
		'SimulationApplicationConfig'                => [
			'type'     => 'structure',
			'required' => [ 'application', 'launchConfig', ],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'applicationVersion' => [ 'shape' => 'Version', ],
				'launchConfig'       => [ 'shape' => 'LaunchConfig', ],
			],
		],
		'SimulationApplicationConfigs'               => [
			'type'   => 'list',
			'member' => [ 'shape' => 'SimulationApplicationConfig', ],
			'max'    => 1,
			'min'    => 1,
		],
		'SimulationApplicationNames'                 => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Name', ],
			'max'    => 1,
			'min'    => 1,
		],
		'SimulationApplicationSummaries'             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'SimulationApplicationSummary', ],
			'max'    => 100,
			'min'    => 0,
		],
		'SimulationApplicationSummary'               => [
			'type'    => 'structure',
			'members' => [
				'name'                    => [ 'shape' => 'Name', ],
				'arn'                     => [ 'shape' => 'Arn', ],
				'version'                 => [ 'shape' => 'Version', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
			],
		],
		'SimulationJob'                              => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'status'                  => [ 'shape' => 'SimulationJobStatus', ],
				'lastStartedAt'           => [ 'shape' => 'LastStartedAt', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'failureBehavior'         => [ 'shape' => 'FailureBehavior', ],
				'failureCode'             => [ 'shape' => 'SimulationJobErrorCode', ],
				'failureReason'           => [ 'shape' => 'GenericString', ],
				'clientRequestToken'      => [ 'shape' => 'ClientRequestToken', ],
				'outputLocation'          => [ 'shape' => 'OutputLocation', ],
				'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ],
				'simulationTimeMillis'    => [ 'shape' => 'SimulationTimeMillis', ],
				'iamRole'                 => [ 'shape' => 'IamRole', ],
				'robotApplications'       => [ 'shape' => 'RobotApplicationConfigs', ],
				'simulationApplications'  => [ 'shape' => 'SimulationApplicationConfigs', ],
				'tags'                    => [ 'shape' => 'TagMap', ],
				'vpcConfig'               => [ 'shape' => 'VPCConfigResponse', ],
			],
		],
		'SimulationJobErrorCode'                     => [
			'type' => 'string',
			'enum' => [
				'InternalServiceError',
				'RobotApplicationCrash',
				'SimulationApplicationCrash',
				'BadPermissionsRobotApplication',
				'BadPermissionsSimulationApplication',
				'BadPermissionsS3Output',
				'BadPermissionsCloudwatchLogs',
				'SubnetIpLimitExceeded',
				'ENILimitExceeded',
				'BadPermissionsUserCredentials',
				'InvalidBundleRobotApplication',
				'InvalidBundleSimulationApplication',
				'RobotApplicationVersionMismatchedEtag',
				'SimulationApplicationVersionMismatchedEtag',
				'WrongRegionS3Output',
				'WrongRegionRobotApplication',
				'WrongRegionSimulationApplication',
			],
		],
		'SimulationJobStatus'                        => [
			'type' => 'string',
			'enum' => [
				'Pending',
				'Preparing',
				'Running',
				'Restarting',
				'Completed',
				'Failed',
				'RunningFailed',
				'Terminating',
				'Terminated',
				'Canceled',
			],
		],
		'SimulationJobSummaries'                     => [
			'type'   => 'list',
			'member' => [ 'shape' => 'SimulationJobSummary', ],
			'max'    => 100,
			'min'    => 0,
		],
		'SimulationJobSummary'                       => [
			'type'    => 'structure',
			'members' => [
				'arn'                        => [ 'shape' => 'Arn', ],
				'lastUpdatedAt'              => [ 'shape' => 'LastUpdatedAt', ],
				'name'                       => [ 'shape' => 'Name', ],
				'status'                     => [ 'shape' => 'SimulationJobStatus', ],
				'simulationApplicationNames' => [ 'shape' => 'SimulationApplicationNames', ],
				'robotApplicationNames'      => [ 'shape' => 'RobotApplicationNames', ],
			],
		],
		'SimulationJobs'                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'SimulationJob', ],
		],
		'SimulationSoftwareSuite'                    => [
			'type'    => 'structure',
			'members' => [
				'name'    => [ 'shape' => 'SimulationSoftwareSuiteType', ],
				'version' => [ 'shape' => 'SimulationSoftwareSuiteVersionType', ],
			],
		],
		'SimulationSoftwareSuiteType'                => [ 'type' => 'string', 'enum' => [ 'Gazebo', ], ],
		'SimulationSoftwareSuiteVersionType'         => [ 'type' => 'string', 'pattern' => '7|9', ],
		'SimulationTimeMillis'                       => [ 'type' => 'long', ],
		'Source'                                     => [
			'type'    => 'structure',
			'members' => [
				's3Bucket'     => [ 'shape' => 'S3Bucket', ],
				's3Key'        => [ 'shape' => 'S3Key', ],
				'etag'         => [ 'shape' => 'S3Etag', ],
				'architecture' => [ 'shape' => 'Architecture', ],
			],
		],
		'SourceConfig'                               => [
			'type'    => 'structure',
			'members' => [
				's3Bucket'     => [ 'shape' => 'S3Bucket', ],
				's3Key'        => [ 'shape' => 'S3Key', ],
				'architecture' => [ 'shape' => 'Architecture', ],
			],
		],
		'SourceConfigs'                              => [
			'type'   => 'list',
			'member' => [ 'shape' => 'SourceConfig', ],
		],
		'Sources'                                    => [ 'type' => 'list', 'member' => [ 'shape' => 'Source', ], ],
		'Subnets'                                    => [
			'type'   => 'list',
			'member' => [ 'shape' => 'NonEmptyString', ],
			'max'    => 16,
			'min'    => 1,
		],
		'SyncDeploymentJobRequest'                   => [
			'type'     => 'structure',
			'required' => [ 'clientRequestToken', 'fleet', ],
			'members'  => [
				'clientRequestToken' => [
					'shape'            => 'ClientRequestToken',
					'idempotencyToken' => true,
				],
				'fleet'              => [ 'shape' => 'Arn', ],
			],
		],
		'SyncDeploymentJobResponse'                  => [
			'type'    => 'structure',
			'members' => [
				'arn'                          => [ 'shape' => 'Arn', ],
				'fleet'                        => [ 'shape' => 'Arn', ],
				'status'                       => [ 'shape' => 'DeploymentStatus', ],
				'deploymentConfig'             => [ 'shape' => 'DeploymentConfig', ],
				'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ],
				'failureReason'                => [ 'shape' => 'GenericString', ],
				'failureCode'                  => [ 'shape' => 'DeploymentJobErrorCode', ],
				'createdAt'                    => [ 'shape' => 'CreatedAt', ],
			],
		],
		'TagKey'                                     => [
			'type'    => 'string',
			'max'     => 128,
			'min'     => 1,
			'pattern' => '[a-zA-Z0-9 _.\\-\\/+=:]*',
		],
		'TagKeyList'                                 => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ],
		'TagMap'                                     => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'TagKey', ],
			'value' => [ 'shape' => 'TagValue', ],
			'max'   => 50,
			'min'   => 0,
		],
		'TagResourceRequest'                         => [
			'type'     => 'structure',
			'required' => [ 'resourceArn', 'tags', ],
			'members'  => [
				'resourceArn' => [
					'shape'        => 'Arn',
					'location'     => 'uri',
					'locationName' => 'resourceArn',
				],
				'tags'        => [ 'shape' => 'TagMap', ],
			],
		],
		'TagResourceResponse'                        => [ 'type' => 'structure', 'members' => [], ],
		'TagValue'                                   => [
			'type'    => 'string',
			'max'     => 256,
			'min'     => 0,
			'pattern' => '[a-zA-Z0-9 _.\\-\\/+=:]*',
		],
		'ThrottlingException'                        => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'errorMessage', ], ],
			'error'     => [ 'httpStatusCode' => 400, ],
			'exception' => true,
		],
		'UntagResourceRequest'                       => [
			'type'     => 'structure',
			'required' => [ 'resourceArn', 'tagKeys', ],
			'members'  => [
				'resourceArn' => [
					'shape'        => 'Arn',
					'location'     => 'uri',
					'locationName' => 'resourceArn',
				],
				'tagKeys'     => [
					'shape'        => 'TagKeyList',
					'location'     => 'querystring',
					'locationName' => 'tagKeys',
				],
			],
		],
		'UntagResourceResponse'                      => [ 'type' => 'structure', 'members' => [], ],
		'UpdateRobotApplicationRequest'              => [
			'type'     => 'structure',
			'required' => [
				'application',
				'sources',
				'robotSoftwareSuite',
			],
			'members'  => [
				'application'        => [ 'shape' => 'Arn', ],
				'sources'            => [ 'shape' => 'SourceConfigs', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'currentRevisionId'  => [ 'shape' => 'RevisionId', ],
			],
		],
		'UpdateRobotApplicationResponse'             => [
			'type'    => 'structure',
			'members' => [
				'arn'                => [ 'shape' => 'Arn', ],
				'name'               => [ 'shape' => 'Name', ],
				'version'            => [ 'shape' => 'Version', ],
				'sources'            => [ 'shape' => 'Sources', ],
				'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ],
				'lastUpdatedAt'      => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'         => [ 'shape' => 'RevisionId', ],
			],
		],
		'UpdateSimulationApplicationRequest'         => [
			'type'     => 'structure',
			'required' => [
				'application',
				'sources',
				'simulationSoftwareSuite',
				'robotSoftwareSuite',
				'renderingEngine',
			],
			'members'  => [
				'application'             => [ 'shape' => 'Arn', ],
				'sources'                 => [ 'shape' => 'SourceConfigs', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'currentRevisionId'       => [ 'shape' => 'RevisionId', ],
			],
		],
		'UpdateSimulationApplicationResponse'        => [
			'type'    => 'structure',
			'members' => [
				'arn'                     => [ 'shape' => 'Arn', ],
				'name'                    => [ 'shape' => 'Name', ],
				'version'                 => [ 'shape' => 'Version', ],
				'sources'                 => [ 'shape' => 'Sources', ],
				'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ],
				'robotSoftwareSuite'      => [ 'shape' => 'RobotSoftwareSuite', ],
				'renderingEngine'         => [ 'shape' => 'RenderingEngine', ],
				'lastUpdatedAt'           => [ 'shape' => 'LastUpdatedAt', ],
				'revisionId'              => [ 'shape' => 'RevisionId', ],
			],
		],
		'VPCConfig'                                  => [
			'type'     => 'structure',
			'required' => [ 'subnets', ],
			'members'  => [
				'subnets'        => [ 'shape' => 'Subnets', ],
				'securityGroups' => [ 'shape' => 'SecurityGroups', ],
				'assignPublicIp' => [ 'shape' => 'Boolean', ],
			],
		],
		'VPCConfigResponse'                          => [
			'type'    => 'structure',
			'members' => [
				'subnets'        => [ 'shape' => 'Subnets', ],
				'securityGroups' => [ 'shape' => 'SecurityGroups', ],
				'vpcId'          => [ 'shape' => 'GenericString', ],
				'assignPublicIp' => [ 'shape' => 'Boolean', ],
			],
		],
		'Version'                                    => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 1,
			'pattern' => '(\\$LATEST)|[0-9]*',
		],
		'VersionQualifier'                           => [ 'type' => 'string', 'pattern' => 'ALL', ],
		'errorMessage'                               => [ 'type' => 'string', ],
	],
];
