{ "uuid": "eb8d1136-c966-4dd1-93b9-a646480c9a53", "lastMigration": 24, "name": "AWS IoT Greengrass V2", "endpointPrefix": "", "latency": 0, "port": 3000, "hostname": "0.0.0.0", "routes": [ { "uuid": "db356c78-1762-4f61-af06-9cc502cc5c9b", "documentation": "
Associate a list of client devices with a core device. Use this API operation to specify which client devices can discover a core device through cloud discovery. With cloud discovery, client devices connect to IoT Greengrass to retrieve associated core devices' connectivity information and certificates. For more information, see Configure cloud discovery in the IoT Greengrass V2 Developer Guide.
Client devices are local IoT devices that connect to and communicate with an IoT Greengrass core device over MQTT. You can connect client devices to a core device to sync MQTT messages and data to Amazon Web Services IoT Core and interact with client devices in Greengrass components. For more information, see Interact with local IoT devices in the IoT Greengrass V2 Developer Guide.
Creates a component. Components are software that run on Greengrass core devices. After you develop and test a component on your core device, you can use this operation to upload your component to IoT Greengrass. Then, you can deploy the component to other core devices.
You can use this operation to do the following:
Create components from recipes
Create a component from a recipe, which is a file that defines the component's metadata, parameters, dependencies, lifecycle, artifacts, and platform capability. For more information, see IoT Greengrass component recipe reference in the IoT Greengrass V2 Developer Guide.
To create a component from a recipe, specify inlineRecipe
when you call this operation.
Create components from Lambda functions
Create a component from an Lambda function that runs on IoT Greengrass. This creates a recipe and artifacts from the Lambda function's deployment package. You can use this operation to migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass V2.
This function only accepts Lambda functions that use the following runtimes:
Python 2.7 – python2.7
Python 3.7 – python3.7
Python 3.8 – python3.8
Java 8 – java8
Node.js 10 – nodejs10.x
Node.js 12 – nodejs12.x
To create a component from a Lambda function, specify lambdaFunction
when you call this operation.
Creates a continuous deployment for a target, which is a Greengrass core device or group of core devices. When you add a new core device to a group of core devices that has a deployment, IoT Greengrass deploys that group's deployment to the new device.
You can define one deployment for each target. When you create a new deployment for a target that has an existing deployment, you replace the previous deployment. IoT Greengrass applies the new deployment to the target devices.
Every deployment has a revision number that indicates how many deployment revisions you define for a target. Use this operation to create a new revision of an existing deployment. This operation returns the revision number of the new deployment when you create it.
For more information, see the Create deployments in the IoT Greengrass V2 Developer Guide.
", "method": "post", "endpoint": "greengrass/v2/deployments", "responses": [ { "uuid": "896e9329-3d23-45e6-8c08-742d0dd29df9", "body": "{\n \"deploymentId\": \"\",\n \"iotJobId\": \"\",\n \"iotJobArn\": \"\"\n}", "latency": 0, "statusCode": 201, "label": "Success", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true }, { "uuid": "b1ff2071-d5b3-4376-9cc8-4bfe7c64ec29", "body": "\"\"", "latency": 0, "statusCode": 480, "label": "ResourceNotFoundException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "b8663b62-85eb-4509-b100-428133d1f0e5", "body": "\"\"", "latency": 0, "statusCode": 481, "label": "ValidationException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "e404a737-5397-4708-bfa0-cfdf1b1b5fcf", "body": "\"\"", "latency": 0, "statusCode": 482, "label": "AccessDeniedException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "14417c6d-514a-4591-9574-eb1969a6eb98", "body": "\"\"", "latency": 0, "statusCode": 483, "label": "ThrottlingException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "add904e2-f51f-48fa-9c9e-62980d68062d", "body": "\"\"", "latency": 0, "statusCode": 484, "label": "InternalServerException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "209cc95d-7704-4409-b636-d52abe049a01", "body": "\"\"", "latency": 0, "statusCode": 485, "label": "RequestAlreadyInProgressException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false } ], "enabled": true, "responseMode": null }, { "uuid": "596a623d-9b41-4248-a2fb-5d625be163cd", "documentation": "Retrieves a paginated list of deployments.", "method": "get", "endpoint": "greengrass/v2/deployments", "responses": [ { "uuid": "b72c7cdc-1d69-4072-a96d-ccf1cc546cb4", "body": "{\n \"deployments\": [\n {\n \"targetArn\": \"\",\n \"revisionId\": \"\",\n \"deploymentId\": \"\",\n \"deploymentName\": \"\",\n \"creationTimestamp\": \"{{faker 'date.recent' 365}}\",\n \"deploymentStatus\": \"\",\n \"isLatestForTarget\": {{faker 'datatype.boolean'}}\n }\n ],\n \"nextToken\": \"\"\n}", "latency": 0, "statusCode": 200, "label": "Success", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true }, { "uuid": "a98bce09-a647-4088-803b-c51c7012e25d", "body": "\"\"", "latency": 0, "statusCode": 480, "label": "ValidationException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "9c4e23d7-6e48-45ae-b09b-3717fbabc480", "body": "\"\"", "latency": 0, "statusCode": 481, "label": "AccessDeniedException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "a81fccca-d6b3-492c-99ad-b6daa127fdd2", "body": "\"\"", "latency": 0, "statusCode": 482, "label": "InternalServerException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false }, { "uuid": "c0ee7e0b-1393-456d-a005-bd8018892f9c", "body": "\"\"", "latency": 0, "statusCode": 483, "label": "ThrottlingException", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": false } ], "enabled": true, "responseMode": null }, { "uuid": "40d02917-f7e1-43de-bba6-38e3550e19ff", "documentation": "Deletes a version of a component from IoT Greengrass.
This operation deletes the component's recipe and artifacts. As a result, deployments that refer to this component version will fail. If you have deployments that use this component version, you can remove the component from the deployment or update the deployment to use a valid version.
Retrieves a list of components that meet the component, version, and platform requirements of a deployment. Greengrass core devices call this operation when they receive a deployment to identify the components to install.
This operation identifies components that meet all dependency requirements for a deployment. If the requirements conflict, then this operation returns an error and the deployment fails. For example, this occurs if component A
requires version >2.0.0
and component B
requires version <2.0.0
of a component dependency.
When you specify the component candidates to resolve, IoT Greengrass compares each component's digest from the core device with the component's digest in the Amazon Web Services Cloud. If the digests don't match, then IoT Greengrass specifies to use the version from the Amazon Web Services Cloud.
To use this operation, you must use the data plane API endpoint and authenticate with an IoT device certificate. For more information, see IoT Greengrass endpoints and quotas.