CmdID / aws / aws greengrassv2
aws greengrassv2 create-deployment
Creates a continuous deployment for a target, which is a Greengrass core device or group of core devices. AWS CLI reference
2 examples 8 options Its page in the AWS CLI reference
Examples
Example 1: To create a deployment
The following create-deployment example deploys the AWS IoT Greengrass Command Line Interface to a core device.
aws greengrassv2 create-deployment --cli-input-json file://cli-deployment.jsonIdentifyContents of cli-deployment.json:
{
"targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore",
"deploymentName": "Deployment for MyGreengrassCore",
"components": {
"aws.greengrass.Cli": {
"componentVersion": "2.0.3"
}
},
"deploymentPolicies": {
"failureHandlingPolicy": "DO_NOTHING",
"componentUpdatePolicy": {
"timeoutInSeconds": 60,
"action": "NOTIFY_COMPONENTS"
},
"configurationValidationPolicy": {
"timeoutInSeconds": 60
}
},
"iotJobConfiguration": {}
}
Its output
{
"deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}For more information, see Create deployments in the AWS IoT Greengrass V2 Developer Guide.
Example 2: To create a deployment that updates component configurations
The following create-deployment example deploys the AWS IoT Greengrass nucleus component to a group of core devices. This deployment applies the following configuration updates for the nucleus component:
Reset the target devices' proxy settings to their default no proxy settings.
Reset the target devices' MQTT settings to their defaults.
Sets the JVM options for the nucleus' JVM.
Sets the logging level for the nucleus.
The following command deploys the component to the group of core devices.
aws greengrassv2 create-deployment --cli-input-json file://nucleus-deployment.jsonIdentifyContents of nucleus-deployment.json:
{
"targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup",
"deploymentName": "Deployment for MyGreengrassCoreGroup",
"components": {
"aws.greengrass.Nucleus": {
"componentVersion": "2.0.3",
"configurationUpdate": {
"reset": [
"/networkProxy",
"/mqtt"
],
"merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}"
}
}
},
"deploymentPolicies": {
"failureHandlingPolicy": "ROLLBACK",
"componentUpdatePolicy": {
"timeoutInSeconds": 60,
"action": "NOTIFY_COMPONENTS"
},
"configurationValidationPolicy": {
"timeoutInSeconds": 60
}
},
"iotJobConfiguration": {}
}
Its output
{
"deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
"iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
}For more information, see Create deployments and Update component configurations in the AWS IoT Greengrass V2 Developer Guide.
Options
--client-tokenA unique, case-sensitive identifier that you can provide to ensure that the request is idempotent.--componentsThe components to deploy.--deployment-nameThe name of the deployment.--deployment-policiesThe deployment policies for the deployment.--iot-job-configurationThe job configuration for the deployment configuration.--parent-target-arnThe parent deployment's target ARN within a subdeployment.--tagsA list of key-value pairs that contain metadata for the resource.--target-arnThe ARN of the target IoT thing or thing group.