2019/11/04 - AWS RoboMaker - 4 updated api methods
Changes RoboMaker Fleet Management launch a feature to verify your robot is ready to download and install the new robot application using a download condition file, which is a script run on the robot prior to downloading the new deployment.
{'deploymentConfig': {'downloadConditionFile': {'bucket': 'string', 'etag': 'string', 'key': 'string'}}}Response
{'deploymentConfig': {'downloadConditionFile': {'bucket': 'string', 'etag': 'string', 'key': 'string'}}, 'failureCode': ['DownloadConditionFailed']}
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
Request Syntax
client.create_deployment_job( deploymentConfig={ 'concurrentDeploymentPercentage': 123, 'failureThresholdPercentage': 123, 'robotDeploymentTimeoutInSeconds': 123, 'downloadConditionFile': { 'bucket': 'string', 'key': 'string', 'etag': 'string' } }, clientRequestToken='string', fleet='string', deploymentApplicationConfigs=[ { 'application': 'string', 'applicationVersion': 'string', 'launchConfig': { 'packageName': 'string', 'preLaunchFile': 'string', 'launchFile': 'string', 'postLaunchFile': 'string', 'environmentVariables': { 'string': 'string' } } }, ], tags={ 'string': 'string' } )
dict
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 (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 (dict) --
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.
string
[REQUIRED]
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
string
[REQUIRED]
The Amazon Resource Name (ARN) of the fleet to deploy.
list
[REQUIRED]
The deployment application configuration.
(dict) --
Information about a deployment application configuration.
application (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the robot application.
applicationVersion (string) -- [REQUIRED]
The version of the application.
launchConfig (dict) -- [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 (dict) --
An array of key/value pairs specifying environment variables for the robot application
(string) --
(string) --
dict
A map that contains tag keys and tag values that are attached to the deployment job.
(string) --
(string) --
dict
Response Syntax
{ 'arn': 'string', 'fleet': 'string', 'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled', 'deploymentApplicationConfigs': [ { 'application': 'string', 'applicationVersion': 'string', 'launchConfig': { 'packageName': 'string', 'preLaunchFile': 'string', 'launchFile': 'string', 'postLaunchFile': 'string', 'environmentVariables': { 'string': 'string' } } }, ], 'failureReason': 'string', 'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'DownloadConditionFailed'|'InternalServerError', 'createdAt': datetime(2015, 1, 1), 'deploymentConfig': { 'concurrentDeploymentPercentage': 123, 'failureThresholdPercentage': 123, 'robotDeploymentTimeoutInSeconds': 123, 'downloadConditionFile': { 'bucket': 'string', 'key': 'string', 'etag': 'string' } }, 'tags': { 'string': 'string' } }
Response Structure
(dict) --
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.
(dict) --
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 (dict) --
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 (dict) --
An array of key/value pairs specifying environment variables for the robot application
(string) --
(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 (datetime) --
The time, in milliseconds since the epoch, when the fleet was created.
deploymentConfig (dict) --
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 (dict) --
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 (dict) --
The list of all tags added to the deployment job.
(string) --
(string) --
{'deploymentConfig': {'downloadConditionFile': {'bucket': 'string', 'etag': 'string', 'key': 'string'}}, 'failureCode': ['DownloadConditionFailed'], 'robotDeploymentSummary': {'failureCode': ['DownloadConditionFailed'], 'progressDetail': {'currentProgress': ['ExecutingDownloadCondition']}}}
Describes a deployment job.
See also: AWS API Documentation
Request Syntax
client.describe_deployment_job( job='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the deployment job.
dict
Response Syntax
{ 'arn': 'string', 'fleet': 'string', 'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled', 'deploymentConfig': { 'concurrentDeploymentPercentage': 123, 'failureThresholdPercentage': 123, 'robotDeploymentTimeoutInSeconds': 123, 'downloadConditionFile': { 'bucket': 'string', 'key': 'string', 'etag': 'string' } }, 'deploymentApplicationConfigs': [ { 'application': 'string', 'applicationVersion': 'string', 'launchConfig': { 'packageName': 'string', 'preLaunchFile': 'string', 'launchFile': 'string', 'postLaunchFile': 'string', 'environmentVariables': { 'string': 'string' } } }, ], 'failureReason': 'string', 'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'DownloadConditionFailed'|'InternalServerError', 'createdAt': datetime(2015, 1, 1), 'robotDeploymentSummary': [ { 'arn': 'string', 'deploymentStartTime': datetime(2015, 1, 1), 'deploymentFinishTime': datetime(2015, 1, 1), 'status': 'Available'|'Registered'|'PendingNewDeployment'|'Deploying'|'Failed'|'InSync'|'NoResponse', 'progressDetail': { 'currentProgress': 'Validating'|'DownloadingExtracting'|'ExecutingDownloadCondition'|'ExecutingPreLaunch'|'Launching'|'ExecutingPostLaunch'|'Finished', 'percentDone': ..., 'estimatedTimeRemainingSeconds': 123, 'targetResource': 'string' }, 'failureReason': 'string', 'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'DownloadConditionFailed'|'InternalServerError' }, ], 'tags': { 'string': 'string' } }
Response Structure
(dict) --
arn (string) --
The Amazon Resource Name (ARN) of the deployment job.
fleet (string) --
The Amazon Resource Name (ARN) of the fleet.
status (string) --
The status of the deployment job.
deploymentConfig (dict) --
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 (dict) --
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.
deploymentApplicationConfigs (list) --
The deployment application configuration.
(dict) --
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 (dict) --
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 (dict) --
An array of key/value pairs specifying environment variables for the robot application
(string) --
(string) --
failureReason (string) --
A short description of the reason why the deployment job failed.
failureCode (string) --
The deployment job failure code.
createdAt (datetime) --
The time, in milliseconds since the epoch, when the deployment job was created.
robotDeploymentSummary (list) --
A list of robot deployment summaries.
(dict) --
Information about a robot deployment.
arn (string) --
The robot deployment Amazon Resource Name (ARN).
deploymentStartTime (datetime) --
The time, in milliseconds since the epoch, when the deployment was started.
deploymentFinishTime (datetime) --
The time, in milliseconds since the epoch, when the deployment finished.
status (string) --
The status of the robot deployment.
progressDetail (dict) --
Information about how the deployment is progressing.
currentProgress (string) --
The current progress status.
Validating
Validating the deployment.
DownloadingExtracting
Downloading and extracting the bundle on the robot.
ExecutingPreLaunch
Executing pre-launch script(s) if provided.
Launching
Launching the robot application.
ExecutingPostLaunch
Executing post-launch script(s) if provided.
Finished
Deployment is complete.
percentDone (float) --
Precentage of the step that is done. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.
estimatedTimeRemainingSeconds (integer) --
Estimated amount of time in seconds remaining in the step. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.
targetResource (string) --
The Amazon Resource Name (ARN) of the deployment job.
failureReason (string) --
A short description of the reason why the robot deployment failed.
failureCode (string) --
The robot deployment failure code.
tags (dict) --
The list of all tags added to the specified deployment job.
(string) --
(string) --
{'deploymentJobs': {'deploymentConfig': {'downloadConditionFile': {'bucket': 'string', 'etag': 'string', 'key': 'string'}}, 'failureCode': ['DownloadConditionFailed']}}
Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.
See also: AWS API Documentation
Request Syntax
client.list_deployment_jobs( filters=[ { 'name': 'string', 'values': [ 'string', ] }, ], nextToken='string', maxResults=123 )
list
Optional filters to limit results.
The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status InProgress or the status Pending .
(dict) --
Information about a filter.
name (string) --
The name of the filter.
values (list) --
A list of values.
(string) --
string
The nextToken value returned from a previous paginated ListDeploymentJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.
Note
This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
integer
The maximum number of deployment job results returned by ListDeploymentJobs in paginated output. When this parameter is used, ListDeploymentJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListDeploymentJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListDeploymentJobs returns up to 100 results and a nextToken value if applicable.
dict
Response Syntax
{ 'deploymentJobs': [ { 'arn': 'string', 'fleet': 'string', 'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled', 'deploymentApplicationConfigs': [ { 'application': 'string', 'applicationVersion': 'string', 'launchConfig': { 'packageName': 'string', 'preLaunchFile': 'string', 'launchFile': 'string', 'postLaunchFile': 'string', 'environmentVariables': { 'string': 'string' } } }, ], 'deploymentConfig': { 'concurrentDeploymentPercentage': 123, 'failureThresholdPercentage': 123, 'robotDeploymentTimeoutInSeconds': 123, 'downloadConditionFile': { 'bucket': 'string', 'key': 'string', 'etag': 'string' } }, 'failureReason': 'string', 'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'DownloadConditionFailed'|'InternalServerError', 'createdAt': datetime(2015, 1, 1) }, ], 'nextToken': 'string' }
Response Structure
(dict) --
deploymentJobs (list) --
A list of deployment jobs that meet the criteria of the request.
(dict) --
Information about a deployment job.
arn (string) --
The Amazon Resource Name (ARN) of the deployment job.
fleet (string) --
The Amazon Resource Name (ARN) of the fleet.
status (string) --
The status of the deployment job.
deploymentApplicationConfigs (list) --
The deployment application configuration.
(dict) --
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 (dict) --
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 (dict) --
An array of key/value pairs specifying environment variables for the robot application
(string) --
(string) --
deploymentConfig (dict) --
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 (dict) --
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.
failureReason (string) --
A short description of the reason why the deployment job failed.
failureCode (string) --
The deployment job failure code.
createdAt (datetime) --
The time, in milliseconds since the epoch, when the deployment job was created.
nextToken (string) --
The nextToken value to include in a future ListDeploymentJobs request. When the results of a ListDeploymentJobs request exceed maxResults , this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
{'deploymentConfig': {'downloadConditionFile': {'bucket': 'string', 'etag': 'string', 'key': 'string'}}, 'failureCode': ['DownloadConditionFailed']}
Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.
See also: AWS API Documentation
Request Syntax
client.sync_deployment_job( clientRequestToken='string', fleet='string' )
string
[REQUIRED]
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
string
[REQUIRED]
The target fleet for the synchronization.
dict
Response Syntax
{ 'arn': 'string', 'fleet': 'string', 'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled', 'deploymentConfig': { 'concurrentDeploymentPercentage': 123, 'failureThresholdPercentage': 123, 'robotDeploymentTimeoutInSeconds': 123, 'downloadConditionFile': { 'bucket': 'string', 'key': 'string', 'etag': 'string' } }, 'deploymentApplicationConfigs': [ { 'application': 'string', 'applicationVersion': 'string', 'launchConfig': { 'packageName': 'string', 'preLaunchFile': 'string', 'launchFile': 'string', 'postLaunchFile': 'string', 'environmentVariables': { 'string': 'string' } } }, ], 'failureReason': 'string', 'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'DownloadConditionFailed'|'InternalServerError', 'createdAt': datetime(2015, 1, 1) }
Response Structure
(dict) --
arn (string) --
The Amazon Resource Name (ARN) of the synchronization request.
fleet (string) --
The Amazon Resource Name (ARN) of the fleet.
status (string) --
The status of the synchronization job.
deploymentConfig (dict) --
Information about 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 (dict) --
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.
deploymentApplicationConfigs (list) --
Information about the deployment application configurations.
(dict) --
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 (dict) --
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 (dict) --
An array of key/value pairs specifying environment variables for the robot application
(string) --
(string) --
failureReason (string) --
The failure reason if the job fails.
failureCode (string) --
The failure code if the job fails:
InternalServiceError
Internal service error.
RobotApplicationCrash
Robot application exited abnormally.
SimulationApplicationCrash
Simulation application exited abnormally.
BadPermissionsRobotApplication
Robot application bundle could not be downloaded.
BadPermissionsSimulationApplication
Simulation application bundle could not be downloaded.
BadPermissionsS3Output
Unable to publish outputs to customer-provided S3 bucket.
BadPermissionsCloudwatchLogs
Unable to publish logs to customer-provided CloudWatch Logs resource.
SubnetIpLimitExceeded
Subnet IP limit exceeded.
ENILimitExceeded
ENI limit exceeded.
BadPermissionsUserCredentials
Unable to use the Role provided.
InvalidBundleRobotApplication
Robot bundle cannot be extracted (invalid format, bundling error, or other issue).
InvalidBundleSimulationApplication
Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).
RobotApplicationVersionMismatchedEtag
Etag for RobotApplication does not match value during version creation.
SimulationApplicationVersionMismatchedEtag
Etag for SimulationApplication does not match value during version creation.
createdAt (datetime) --
The time, in milliseconds since the epoch, when the fleet was created.