:doc:`GreengrassV2 <../../greengrassv2>` / Paginator / ListInstalledComponents

***********************
ListInstalledComponents
***********************



.. py:class:: GreengrassV2.Paginator.ListInstalledComponents

  ::

    
    paginator = client.get_paginator('list_installed_components')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`GreengrassV2.Client.list_installed_components`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          coreDeviceThingName='string',
          topologyFilter='ALL'|'ROOT',
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type coreDeviceThingName: string
    :param coreDeviceThingName: **[REQUIRED]** 

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

      

    
    :type topologyFilter: string
    :param topologyFilter: 

      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``

      

    
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

      
    
    
    :rtype: 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 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** *(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 ID of the last deployment that contained the component. For local deployments it will be ``LOCAL``.

               

              .. note::

                

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

                

              
            

            - **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) --* 

          A token to resume pagination.

          
    