---
title: "POST /createDeploymentJob"
method: POST
path: "/createDeploymentJob"
deprecated: true
---

# POST /createDeploymentJob

`POST /createDeploymentJob`

> **Deprecated.**

Deploys a specific version of a robot application to robots in a fleet.

This API is no longer supported and will throw an error if used.

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](https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html).

After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible.

## Request body

- object
  - `deploymentConfig` object — Information about a 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` integer — 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` object — The download condition file.
      - `bucket` string, required — The bucket containing the object.
      - `key` string, required — The key of the object.
      - `etag` string — The etag of the object.
  - `clientRequestToken` string, required — Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  - `fleet` string, required — The Amazon Resource Name (ARN) of the fleet to deploy.
  - `deploymentApplicationConfigs` DeploymentApplicationConfig[], required — The deployment application configuration.
    - `application` string, required — The Amazon Resource Name (ARN) of the robot application.
    - `applicationVersion` string, required — The version of the application.
    - `launchConfig` object, required — The launch configuration.
      - `packageName` string, required — The package name.
      - `preLaunchFile` string — The deployment pre-launch file. This file will be executed prior to the launch file.
      - `launchFile` string, required — The launch file name.
      - `postLaunchFile` string — The deployment post-launch file. This file will be executed after the launch file.
      - `environmentVariables` object — An array of key/value pairs specifying environment variables for the robot application
  - `tags` object — A map that contains tag keys and tag values that are attached to the deployment job.

## Response `200`

Success

- CreateDeploymentJobResponse — AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.
  - `arn` string — The Amazon Resource Name (ARN) of the deployment job.
  - `fleet` string — The target fleet for the deployment job.
  - `status` 'Pending' | 'Preparing' | 'InProgress' | 'Failed' | 'Succeeded' | 'Canceled' — The status of the deployment job.
  - `deploymentApplicationConfigs` DeploymentApplicationConfig[] — The deployment application configuration.
    - `application` string, required — The Amazon Resource Name (ARN) of the robot application.
    - `applicationVersion` string, required — The version of the application.
    - `launchConfig` object, required — The launch configuration.
      - `packageName` string, required — The package name.
      - `preLaunchFile` string — The deployment pre-launch file. This file will be executed prior to the launch file.
      - `launchFile` string, required — The launch file name.
      - `postLaunchFile` string — The deployment post-launch file. This file will be executed after the launch file.
      - `environmentVariables` object — An array of key/value pairs specifying environment variables for the robot application
  - `failureReason` string — The failure reason of the deployment job if it failed.
  - `failureCode` 'ResourceNotFound' | 'EnvironmentSetupError' | 'EtagMismatch' | 'FailureThresholdBreached' | 'RobotDeploymentAborted' | 'RobotDeploymentNoResponse' | 'RobotAgentConnectionTimeout' | 'GreengrassDeploymentFailed' | 'InvalidGreengrassGroup' | 'MissingRobotArchitecture' | 'MissingRobotApplicationArchitecture' | 'MissingRobotDeploymentResource' | 'GreengrassGroupVersionDoesNotExist' | 'LambdaDeleted' | 'ExtractingBundleFailure' | 'PreLaunchFileFailure' | 'PostLaunchFileFailure' | 'BadPermissionError' | 'DownloadConditionFailed' | 'BadLambdaAssociated' | 'InternalServerError' | 'RobotApplicationDoesNotExist' | 'DeploymentFleetDoesNotExist' | 'FleetDeploymentTimeout' — <p>The failure code of the simulation job if it failed:</p> <dl> <dt>BadPermissionError</dt> <dd> <p>AWS Greengrass requires a service-level role permission to access other services. The role must include the <a href="https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor"> <code>AWSGreengrassResourceAccessRolePolicy</code> managed policy</a>. </p> </dd> <dt>ExtractingBundleFailure</dt> <dd> <p>The robot application could not be extracted from the bundle.</p> </dd> <dt>FailureThresholdBreached</dt> <dd> <p>The percentage of robots that could not be updated exceeded the percentage set for the deployment.</p> </dd> <dt>GreengrassDeploymentFailed</dt> <dd> <p>The robot application could not be deployed to the robot.</p> </dd> <dt>GreengrassGroupVersionDoesNotExist</dt> <dd> <p>The AWS Greengrass group or version associated with a robot is missing.</p> </dd> <dt>InternalServerError</dt> <dd> <p>An internal error has occurred. Retry your request, but if the problem persists, contact us with details.</p> </dd> <dt>MissingRobotApplicationArchitecture</dt> <dd> <p>The robot application does not have a source that matches the architecture of the robot.</p> </dd> <dt>MissingRobotDeploymentResource</dt> <dd> <p>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?</p> </dd> <dt>PostLaunchFileFailure</dt> <dd> <p>The post-launch script failed.</p> </dd> <dt>PreLaunchFileFailure</dt> <dd> <p>The pre-launch script failed.</p> </dd> <dt>ResourceNotFound</dt> <dd> <p>One or more deployment resources are missing. For example, do robot application source bundles still exist? </p> </dd> <dt>RobotDeploymentNoResponse</dt> <dd> <p>There is no response from the robot. It might not be powered on or connected to the internet.</p> </dd> </dl>
  - `createdAt` string, date-time — The time, in milliseconds since the epoch, when the fleet was created.
  - `deploymentConfig` object — 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` integer — 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` object — The download condition file.
      - `bucket` string, required — The bucket containing the object.
      - `key` string, required — The key of the object.
      - `etag` string — The etag of the object.
  - `tags` object — The list of all tags added to the deployment job.

## Other responses

- `480` — ResourceNotFoundException
- `481` — InvalidParameterException
- `482` — InternalServerException
- `483` — ThrottlingException
- `484` — LimitExceededException
- `485` — ConcurrentDeploymentException
- `486` — IdempotentParameterMismatchException

---

[API](https://skmtc.net/aws/apis/robomaker.md) · [All operations](https://skmtc.net/aws/apis/robomaker/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/robomaker/versions/a6f68d7d4866/schema)
