[ aws . robomaker ]

create-deployment-job

Description

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.

Synopsis

  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>]
[--cli-auto-prompt <value>]

Options

--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.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Examples

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"
  }
}

Output

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)