Retrieves metadata for a Greengrass core device.
IoT Greengrass relies on individual devices to send status updates to the Amazon Web Services Cloud. If the IoT Greengrass Core software isn't running on the device, or if device isn't connected to the Amazon Web Services 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 IoT Greengrass Core software starts
-
When the core device receives a deployment from the Amazon Web Services 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 IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment and cloud deployment
Parameters:
-
core_device_thing_name
(CoreDeviceThingName)
–
The name of the core device. This is also the name of the IoT thing.
Raises:
-
AccessDeniedException
–
You don't have permission to perform the action.
-
InternalServerException
–
IoT Greengrass can't process your request right now. Try again later.
-
ResourceNotFoundException
–
The requested resource can't be found.
-
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.
-
ValidationException
–
The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_greengrassv2/_services/async_greengrass_v2.py
| async def get_core_device(
self,
core_device_thing_name: "capo_greengrassv2.types.core_device_thing_name.CoreDeviceThingName",
*,
config_overrides: Optional[AsyncGreengrassV2ClientConfig] = None,
) -> "capo_greengrassv2.types.get_core_device_response.GetCoreDeviceResponse":
"""<p>Retrieves metadata for a Greengrass core device.</p> <note> <p>IoT Greengrass relies on individual devices to send status updates to the Amazon Web Services Cloud. If the IoT Greengrass Core software isn't running on the device, or if device isn't connected to the Amazon Web Services 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.</p> <p>Core devices send status updates at the following times:</p> <ul> <li> <p>When the IoT Greengrass Core software starts</p> </li> <li> <p>When the core device receives a deployment from the Amazon Web Services Cloud</p> </li> <li> <p>When the status of any component on the core device becomes <code>BROKEN</code> </p> </li> <li> <p>At a <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration-fss">regular interval that you can configure</a>, which defaults to 24 hours</p> </li> <li> <p>For IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment and cloud deployment</p> </li> </ul> </note>
Args:
core_device_thing_name: <p>The name of the core device. This is also the name of the IoT thing.</p>
Raises:
capo_greengrassv2.errors.access_denied_exception.AccessDeniedException: <p>You don't have permission to perform the action.</p>
capo_greengrassv2.errors.internal_server_exception.InternalServerException: <p>IoT Greengrass can't process your request right now. Try again later.</p>
capo_greengrassv2.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource can't be found.</p>
capo_greengrassv2.errors.throttling_exception.ThrottlingException: <p>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.</p>
capo_greengrassv2.errors.validation_exception.ValidationException: <p>The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.</p>
capo_greengrassv2.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_greengrassv2.types.get_core_device_request.GetCoreDeviceRequest]",
) -> AsyncOperationResponse[
"capo_greengrassv2.types.get_core_device_response.GetCoreDeviceResponse"
]:
import capo_greengrassv2._operations.greengrass_v2.get_core_device
(
output,
http_response,
) = await capo_greengrassv2._operations.greengrass_v2.get_core_device.async_get_core_device(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("GetCoreDevice")
)
input_: capo_greengrassv2.types.get_core_device_request.GetCoreDeviceRequest = {
"core_device_thing_name": core_device_thing_name
}
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|