{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-greengrass/refs/heads/main/json-schema/iot-greengrass-installed-component-list-schema.json", "title": "InstalledComponentList", "description": "InstalledComponentList schema", "type": "array", "items": { "type": "object", "properties": { "componentName": { "allOf": [ { "$ref": "#/components/schemas/ComponentNameString" }, { "description": "The name of the component." } ] }, "componentVersion": { "allOf": [ { "$ref": "#/components/schemas/ComponentVersionString" }, { "description": "The version of the component." } ] }, "lifecycleState": { "allOf": [ { "$ref": "#/components/schemas/InstalledComponentLifecycleState" }, { "description": "The lifecycle state of the component." } ] }, "lifecycleStateDetails": { "allOf": [ { "$ref": "#/components/schemas/LifecycleStateDetails" }, { "description": "A detailed response about the lifecycle state of the component that explains the reason why a component has an error or is broken." } ] }, "isRoot": { "allOf": [ { "$ref": "#/components/schemas/IsRoot" }, { "description": "Whether or not the component is a root component." } ] }, "lastStatusChangeTimestamp": { "allOf": [ { "$ref": "#/components/schemas/Timestamp" }, { "description": "

The status of how current the data is.

This response is based off of component state changes. The status reflects component disruptions and deployments. If a component only sees a configuration update during a deployment, it might not undergo a state change and this status would not be updated.

" } ] }, "lastReportedTimestamp": { "allOf": [ { "$ref": "#/components/schemas/Timestamp" }, { "description": "

The last time the Greengrass core device sent a message containing a component's state to the Amazon Web Services Cloud.

A component does not need to see a state change for this field to update.

" } ] }, "lastInstallationSource": { "allOf": [ { "$ref": "#/components/schemas/NonEmptyString" }, { "description": "

The most recent deployment source that brought the component to the Greengrass core device. For a thing group deployment or thing deployment, the source will be the The ID of the deployment. and for local deployments it will be LOCAL.

Any deployment will attempt to reinstall currently broken components on the device, which will update the last installation source.

" } ] }, "lifecycleStatusCodes": { "allOf": [ { "$ref": "#/components/schemas/InstalledComponentLifecycleStatusCodeList" }, { "description": "

The status codes that indicate the reason for failure whenever the lifecycleState has an error or is in a broken state.

Greengrass nucleus v2.8.0 or later is required to get an accurate lifecycleStatusCodes response. This response can be inaccurate in earlier Greengrass nucleus versions.

" } ] } }, "description": "Contains information about a component on a Greengrass core device." } }