Deploys a specific version of a robot application to robots in a fleet.
The robot application must have a numbered applicationVersion
for consistency reasons. To create a new version, use CreateRobotApplicationVersion
or see Creating a Robot Application Version .
Note
After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-deployment-job
[--deployment-config <value>]
[--client-request-token <value>]
--fleet <value>
--deployment-application-configs <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--deployment-config
(structure)
The requested deployment configuration.
concurrentDeploymentPercentage -> (integer)
The percentage of robots receiving the deployment at the same time.
failureThresholdPercentage -> (integer)
The percentage of deployments that need to fail before stopping deployment.
robotDeploymentTimeoutInSeconds -> (long)
The amount of time, in seconds, to wait for deployment to a single robot to complete. Choose a time between 1 minute and 7 days. The default is 5 hours.
downloadConditionFile -> (structure)
The download condition file.
bucket -> (string)
The bucket containing the object.
key -> (string)
The key of the object.
etag -> (string)
The etag of the object.
Shorthand Syntax:
concurrentDeploymentPercentage=integer,failureThresholdPercentage=integer,robotDeploymentTimeoutInSeconds=long,downloadConditionFile={bucket=string,key=string,etag=string}
JSON Syntax:
{
"concurrentDeploymentPercentage": integer,
"failureThresholdPercentage": integer,
"robotDeploymentTimeoutInSeconds": long,
"downloadConditionFile": {
"bucket": "string",
"key": "string",
"etag": "string"
}
}
--client-request-token
(string)
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
--fleet
(string)
The Amazon Resource Name (ARN) of the fleet to deploy.
--deployment-application-configs
(list)
The deployment application configuration.
(structure)
Information about a deployment application configuration.
application -> (string)
The Amazon Resource Name (ARN) of the robot application.
applicationVersion -> (string)
The version of the application.
launchConfig -> (structure)
The launch configuration.
packageName -> (string)
The package name.
preLaunchFile -> (string)
The deployment pre-launch file. This file will be executed prior to the launch file.
launchFile -> (string)
The launch file name.
postLaunchFile -> (string)
The deployment post-launch file. This file will be executed after the launch file.
environmentVariables -> (map)
An array of key/value pairs specifying environment variables for the robot application
key -> (string)
value -> (string)
Shorthand Syntax:
application=string,applicationVersion=string,launchConfig={packageName=string,preLaunchFile=string,launchFile=string,postLaunchFile=string,environmentVariables={KeyName1=string,KeyName2=string}} ...
JSON Syntax:
[
{
"application": "string",
"applicationVersion": "string",
"launchConfig": {
"packageName": "string",
"preLaunchFile": "string",
"launchFile": "string",
"postLaunchFile": "string",
"environmentVariables": {"string": "string"
...}
}
}
...
]
--tags
(map)
A map that contains tag keys and tag values that are attached to the deployment job.
key -> (string)
value -> (string)
Shorthand Syntax:
KeyName1=string,KeyName2=string
JSON Syntax:
{"string": "string"
...}
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create a deployment job
This example creates a deployment job for fleet MyFleet. It includes an environment variable named “ENVIRONMENT”. It also attaches a tag named “Region”.
Command:
aws robomaker create-deployment-job --deployment-config concurrentDeploymentPercentage=20,failureThresholdPercentage=25 --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711 --tags Region=West --deployment-application-configs application=arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575,applicationVersion=1,launchConfig={environmentVariables={ENVIRONMENT=Beta},launchFile=await_commands.launch,packageName=voice_interaction_robot}
Output:
{
"arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/sim-0974h36s4v0t",
"fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711",
"status": "Pending",
"deploymentApplicationConfigs": [
{
"application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575",
"applicationVersion": "1",
"launchConfig": {
"packageName": "voice_interaction_robot",
"launchFile": "await_commands.launch",
"environmentVariables": {
"ENVIRONMENT": "Beta"
}
}
}
],
"createdAt": 1550770236.0,
"deploymentConfig": {
"concurrentDeploymentPercentage": 20,
"failureThresholdPercentage": 25
},
"tags": {
"Region": "West"
}
}
arn -> (string)
The Amazon Resource Name (ARN) of the deployment job.
fleet -> (string)
The target fleet for the deployment job.
status -> (string)
The status of the deployment job.
deploymentApplicationConfigs -> (list)
The deployment application configuration.
(structure)
Information about a deployment application configuration.
application -> (string)
The Amazon Resource Name (ARN) of the robot application.
applicationVersion -> (string)
The version of the application.
launchConfig -> (structure)
The launch configuration.
packageName -> (string)
The package name.
preLaunchFile -> (string)
The deployment pre-launch file. This file will be executed prior to the launch file.
launchFile -> (string)
The launch file name.
postLaunchFile -> (string)
The deployment post-launch file. This file will be executed after the launch file.
environmentVariables -> (map)
An array of key/value pairs specifying environment variables for the robot application
key -> (string)
value -> (string)
failureReason -> (string)
The failure reason of the deployment job if it failed.
failureCode -> (string)
The failure code of the simulation job if it failed:
BadPermissionError
AWS Greengrass requires a service-level role permission to access other services. The role must include the `
AWSGreengrassResourceAccessRolePolicy
managed policy <https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor>`__ .ExtractingBundleFailure
The robot application could not be extracted from the bundle.
FailureThresholdBreached
The percentage of robots that could not be updated exceeded the percentage set for the deployment.
GreengrassDeploymentFailed
The robot application could not be deployed to the robot.
GreengrassGroupVersionDoesNotExist
The AWS Greengrass group or version associated with a robot is missing.
InternalServerError
An internal error has occurred. Retry your request, but if the problem persists, contact us with details.
MissingRobotApplicationArchitecture
The robot application does not have a source that matches the architecture of the robot.
MissingRobotDeploymentResource
One or more of the resources specified for the robot application are missing. For example, does the robot application have the correct launch package and launch file?
PostLaunchFileFailure
The post-launch script failed.
PreLaunchFileFailure
The pre-launch script failed.
ResourceNotFound
One or more deployment resources are missing. For example, do robot application source bundles still exist?
RobotDeploymentNoResponse
There is no response from the robot. It might not be powered on or connected to the internet.
createdAt -> (timestamp)
The time, in milliseconds since the epoch, when the fleet was created.
deploymentConfig -> (structure)
The deployment configuration.
concurrentDeploymentPercentage -> (integer)
The percentage of robots receiving the deployment at the same time.
failureThresholdPercentage -> (integer)
The percentage of deployments that need to fail before stopping deployment.
robotDeploymentTimeoutInSeconds -> (long)
The amount of time, in seconds, to wait for deployment to a single robot to complete. Choose a time between 1 minute and 7 days. The default is 5 hours.
downloadConditionFile -> (structure)
The download condition file.
bucket -> (string)
The bucket containing the object.
key -> (string)
The key of the object.
etag -> (string)
The etag of the object.
tags -> (map)
The list of all tags added to the deployment job.
key -> (string)
value -> (string)