list_installed_components

list_installed_components(**kwargs)

Retrieves a paginated list of the components that a Greengrass core device runs. By default, this list doesn't include components that are deployed as dependencies of other components. To include dependencies in the response, set the topologyFilter parameter to ALL .

Note

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

See also: AWS API Documentation

Request Syntax

response = client.list_installed_components(
    coreDeviceThingName='string',
    maxResults=123,
    nextToken='string',
    topologyFilter='ALL'|'ROOT'
)
Parameters
  • coreDeviceThingName (string) --

    [REQUIRED]

    The name of the core device. This is also the name of the IoT thing.

  • maxResults (integer) -- The maximum number of results to be returned per paginated request.
  • nextToken (string) -- The token to be used for the next set of paginated results.
  • topologyFilter (string) --

    The filter for the list of components. Choose from the following options:

    • ALL – The list includes all components installed on the core device.
    • ROOT – The list includes only root components, which are components that you specify in a deployment. When you choose this option, the list doesn't include components that the core device installs as dependencies of other components.

    Default: ROOT

Return type

dict

Returns

Response Syntax

{
    'installedComponents': [
        {
            'componentName': 'string',
            'componentVersion': 'string',
            'lifecycleState': 'NEW'|'INSTALLED'|'STARTING'|'RUNNING'|'STOPPING'|'ERRORED'|'BROKEN'|'FINISHED',
            'lifecycleStateDetails': 'string',
            'isRoot': True|False,
            'lastStatusChangeTimestamp': datetime(2015, 1, 1),
            'lastReportedTimestamp': datetime(2015, 1, 1),
            'lastInstallationSource': 'string',
            'lifecycleStatusCodes': [
                'string',
            ]
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • installedComponents (list) --

      A list that summarizes each component on the core device.

      Note

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

      Note

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

      • (dict) --

        Contains information about a component on a Greengrass core device.

        • componentName (string) --

          The name of the component.

        • componentVersion (string) --

          The version of the component.

        • lifecycleState (string) --

          The lifecycle state of the component.

        • lifecycleStateDetails (string) --

          A detailed response about the lifecycle state of the component that explains the reason why a component has an error or is broken.

        • isRoot (boolean) --

          Whether or not the component is a root component.

        • lastStatusChangeTimestamp (datetime) --

          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 (datetime) --

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

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

        • lastInstallationSource (string) --

          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 .

        • lifecycleStatusCodes (list) --

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

          Note

          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.

          • (string) --
    • nextToken (string) --

      The token for the next set of results, or null if there are no additional results.

Exceptions

  • GreengrassV2.Client.exceptions.ValidationException
  • GreengrassV2.Client.exceptions.ResourceNotFoundException
  • GreengrassV2.Client.exceptions.AccessDeniedException
  • GreengrassV2.Client.exceptions.InternalServerException
  • GreengrassV2.Client.exceptions.ThrottlingException