AWS RoboMaker

2019/06/17 - AWS RoboMaker - 4 updated api methods

Changes  Add the ServiceUnavailableException (503) into CreateSimulationJob API.

CreateDeploymentJob (updated) Link ¶
Changes (response)
{'failureCode': ['RobotDeploymentAborted']}

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
    },
    clientRequestToken='string',
    fleet='string',
    deploymentApplicationConfigs=[
        {
            'application': 'string',
            'applicationVersion': 'string',
            'launchConfig': {
                'packageName': 'string',
                'preLaunchFile': 'string',
                'launchFile': 'string',
                'postLaunchFile': 'string',
                'environmentVariables': {
                    'string': 'string'
                }
            }
        },
    ],
    tags={
        'string': 'string'
    }
)
type deploymentConfig

dict

param deploymentConfig

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.

type clientRequestToken

string

param clientRequestToken

[REQUIRED]

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

type fleet

string

param fleet

[REQUIRED]

The Amazon Resource Name (ARN) of the fleet to deploy.

type deploymentApplicationConfigs

list

param deploymentApplicationConfigs

[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) --

type tags

dict

param tags

A map that contains tag keys and tag values that are attached to the deployment job.

  • (string) --

    • (string) --

rtype

dict

returns

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'|'InternalServerError',
    'createdAt': datetime(2015, 1, 1),
    'deploymentConfig': {
        'concurrentDeploymentPercentage': 123,
        'failureThresholdPercentage': 123
    },
    '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.

    • tags (dict) --

      The list of all tags added to the deployment job.

      • (string) --

        • (string) --

DescribeDeploymentJob (updated) Link ¶
Changes (response)
{'failureCode': ['RobotDeploymentAborted'],
 'robotDeploymentSummary': {'failureCode': ['RobotDeploymentAborted']}}

Describes a deployment job.

See also: AWS API Documentation

Request Syntax

client.describe_deployment_job(
    job='string'
)
type job

string

param job

[REQUIRED]

The Amazon Resource Name (ARN) of the deployment job.

rtype

dict

returns

Response Syntax

{
    'arn': 'string',
    'fleet': 'string',
    'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled',
    'deploymentConfig': {
        'concurrentDeploymentPercentage': 123,
        'failureThresholdPercentage': 123
    },
    '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'|'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'|'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'|'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.

    • 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) --

ListDeploymentJobs (updated) Link ¶
Changes (response)
{'deploymentJobs': {'failureCode': ['RobotDeploymentAborted']}}

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
)
type filters

list

param filters

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

type nextToken

string

param nextToken

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.

type maxResults

integer

param maxResults

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.

rtype

dict

returns

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
            },
            'failureReason': 'string',
            'failureCode': 'ResourceNotFound'|'EnvironmentSetupError'|'EtagMismatch'|'FailureThresholdBreached'|'RobotDeploymentAborted'|'RobotDeploymentNoResponse'|'RobotAgentConnectionTimeout'|'GreengrassDeploymentFailed'|'MissingRobotArchitecture'|'MissingRobotApplicationArchitecture'|'MissingRobotDeploymentResource'|'GreengrassGroupVersionDoesNotExist'|'ExtractingBundleFailure'|'PreLaunchFileFailure'|'PostLaunchFileFailure'|'BadPermissionError'|'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.

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

SyncDeploymentJob (updated) Link ¶
Changes (response)
{'failureCode': ['RobotDeploymentAborted']}

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'
)
type clientRequestToken

string

param clientRequestToken

[REQUIRED]

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

type fleet

string

param fleet

[REQUIRED]

The target fleet for the synchronization.

rtype

dict

returns

Response Syntax

{
    'arn': 'string',
    'fleet': 'string',
    'status': 'Pending'|'Preparing'|'InProgress'|'Failed'|'Succeeded'|'Canceled',
    'deploymentConfig': {
        'concurrentDeploymentPercentage': 123,
        'failureThresholdPercentage': 123
    },
    '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'|'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.

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