Amazon IoT Greengrass · JSON Structure

Iot Greengrass Installed Component Structure

Contains information about a component on a Greengrass core device.

Type: object Properties: 9
Edge ComputingIoTLambdaMachine LearningReal-Time Processing

InstalledComponent is a JSON Structure definition published by Amazon IoT Greengrass, describing 9 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

componentName componentVersion lifecycleState lifecycleStateDetails isRoot lastStatusChangeTimestamp lastReportedTimestamp lastInstallationSource lifecycleStatusCodes

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-greengrass/refs/heads/main/json-structure/iot-greengrass-installed-component-structure.json",
  "name": "InstalledComponent",
  "description": "Contains information about a component on a Greengrass core device.",
  "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": "<p>The status of how current the data is.</p> <p>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.</p>"
        }
      ]
    },
    "lastReportedTimestamp": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timestamp"
        },
        {
          "description": "<p>The last time the Greengrass core device sent a message containing a component's state to the Amazon Web Services Cloud.</p> <p>A component does not need to see a state change for this field to update.</p>"
        }
      ]
    },
    "lastInstallationSource": {
      "allOf": [
        {
          "$ref": "#/components/schemas/NonEmptyString"
        },
        {
          "description": "<p>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 <code>LOCAL</code>.</p> <note> <p>Any deployment will attempt to reinstall currently broken components on the device, which will update the last installation source.</p> </note>"
        }
      ]
    },
    "lifecycleStatusCodes": {
      "allOf": [
        {
          "$ref": "#/components/schemas/InstalledComponentLifecycleStatusCodeList"
        },
        {
          "description": "<p>The status codes that indicate the reason for failure whenever the <code>lifecycleState</code> has an error or is in a broken state.</p> <note> <p>Greengrass nucleus v2.8.0 or later is required to get an accurate <code>lifecycleStatusCodes</code> response. This response can be inaccurate in earlier Greengrass nucleus versions.</p> </note>"
        }
      ]
    }
  }
}