[ aws . greengrass ]



Deploys multiple groups in one operation. This action starts the bulk deployment of a specified set of group versions. Each group version deployment will be triggered with an adaptive rate that has a fixed upper limit. We recommend that you include an ‘’X-Amzn-Client-Token’’ token in every ‘’StartBulkDeployment’’ request. These requests are idempotent with respect to the token and the request parameters.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


[--amzn-client-token <value>]
--execution-role-arn <value>
--input-file-uri <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--amzn-client-token (string) A client token used to correlate requests and responses.

--execution-role-arn (string) The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ‘’greengrass:CreateDeployment’’ action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file.

--input-file-uri (string) The URI of the input file contained in the S3 bucket. The execution role must have ‘’getObject’’ permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ‘’NewDeployment’’ deployment types.

--tags (map) Tag(s) to add to the new resource.key -> (string)

value -> (string)

Shorthand Syntax:


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 start a bulk deployment operation

The following start-bulk-deployment example starts a bulk deployment operation, using a file stored in an S3 bucket to specify the groups to be deployed.

aws greengrass start-bulk-deployment \
    --cli-input-json "{\"InputFileUri\":\"https://gg-group-deployment1.s3-us-west-2.amazonaws.com/MyBulkDeploymentInputFile.txt\", \"ExecutionRoleArn\":\"arn:aws:iam::123456789012:role/ggCreateDeploymentRole\",\"AmznClientToken\":\"yourAmazonClientToken\"}"


    "BulkDeploymentArn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/bulk/deployments/870fb41b-6288-4e0c-bc76-a7ba4b4d3267",
    "BulkDeploymentId": "870fb41b-6288-4e0c-bc76-a7ba4b4d3267"

For more information, see Create Bulk Deployments for Groups in the AWS IoT Greengrass Developer Guide.


BulkDeploymentArn -> (string)

The ARN of the bulk deployment.

BulkDeploymentId -> (string)

The ID of the bulk deployment.