GetCoreDevice
Retrieves metadata for a Greengrass core device.
Note
AWS IoT Greengrass relies on individual devices to send status updates to the AWS Cloud. If the AWS IoT Greengrass Core software isn't running on the device, or if device isn't connected to the AWS Cloud, then the reported status of that device might not reflect its current status. The status timestamp indicates when the device status was last updated.
Core devices send status updates at the following times:
-
When the AWS IoT Greengrass Core software starts
-
When the core device receives a deployment from the AWS Cloud
-
When the status of any component on the core device becomes
BROKEN
-
At a regular interval that you can configure, which defaults to 24 hours
-
For AWS IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment and cloud deployment
Request Syntax
GET /greengrass/v2/coreDevices/coreDeviceThingName
HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
- coreDeviceThingName
-
The name of the core device. This is also the name of the AWS IoT thing.
Length Constraints: Minimum length of 1. Maximum length of 128.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"architecture": "string",
"coreDeviceThingName": "string",
"coreVersion": "string",
"lastStatusUpdateTimestamp": number,
"platform": "string",
"status": "string",
"tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- architecture
-
The computer architecture of the core device.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- coreDeviceThingName
-
The name of the core device. This is also the name of the AWS IoT thing.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
- coreVersion
-
The version of the AWS IoT Greengrass Core software that the core device runs. This version is equivalent to the version of the Greengrass nucleus component that runs on the core device. For more information, see the Greengrass nucleus component in the AWS IoT Greengrass V2 Developer Guide.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- lastStatusUpdateTimestamp
-
The time at which the core device's status last updated, expressed in ISO 8601 format.
Type: Timestamp
- platform
-
The operating system platform that the core device runs.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
- status
-
The status of the core device. The core device status can be:
-
HEALTHY
– The AWS IoT Greengrass Core software and all components run on the core device without issue. -
UNHEALTHY
– The AWS IoT Greengrass Core software or a component is in a failed state on the core device.
Type: String
Valid Values:
HEALTHY | UNHEALTHY
-
-
A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the AWS IoT Greengrass V2 Developer Guide.
Type: String to string map
Map Entries: Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Maximum length of 256.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have permission to perform the action.
HTTP Status Code: 403
- InternalServerException
-
AWS IoT Greengrass can't process your request right now. Try again later.
HTTP Status Code: 500
- ResourceNotFoundException
-
The requested resource can't be found.
HTTP Status Code: 404
- ThrottlingException
-
Your request exceeded a request rate quota. For example, you might have exceeded the amount of times that you can retrieve device or deployment status per second.
HTTP Status Code: 429
- ValidationException
-
The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: