:doc:`PartnerCentralChannelAPI <../../partnercentral-channel>` / Paginator / ListChannelHandshakes

*********************
ListChannelHandshakes
*********************



.. py:class:: PartnerCentralChannelAPI.Paginator.ListChannelHandshakes

  ::

    
    paginator = client.get_paginator('list_channel_handshakes')

  
  

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

    Creates an iterator that will paginate through responses from :py:meth:`PartnerCentralChannelAPI.Client.list_channel_handshakes`.

    See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/partnercentral-channel-2024-03-18/ListChannelHandshakes>`_    


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          handshakeType='START_SERVICE_PERIOD'|'REVOKE_SERVICE_PERIOD'|'PROGRAM_MANAGEMENT_ACCOUNT',
          catalog='string',
          participantType='SENDER'|'RECEIVER',
          statuses=[
              'PENDING'|'ACCEPTED'|'REJECTED'|'CANCELED'|'EXPIRED',
          ],
          associatedResourceIdentifiers=[
              'string',
          ],
          handshakeTypeFilters={
              'startServicePeriodTypeFilters': {
                  'servicePeriodTypes': [
                      'MINIMUM_NOTICE_PERIOD'|'FIXED_COMMITMENT_PERIOD',
                  ]
              },
              'revokeServicePeriodTypeFilters': {
                  'servicePeriodTypes': [
                      'MINIMUM_NOTICE_PERIOD'|'FIXED_COMMITMENT_PERIOD',
                  ]
              },
              'programManagementAccountTypeFilters': {
                  'programs': [
                      'SOLUTION_PROVIDER'|'DISTRIBUTION'|'DISTRIBUTION_SELLER',
                  ]
              }
          },
          handshakeTypeSort={
              'startServicePeriodTypeSort': {
                  'sortOrder': 'Ascending'|'Descending',
                  'sortBy': 'UpdatedAt'
              },
              'revokeServicePeriodTypeSort': {
                  'sortOrder': 'Ascending'|'Descending',
                  'sortBy': 'UpdatedAt'
              },
              'programManagementAccountTypeSort': {
                  'sortOrder': 'Ascending'|'Descending',
                  'sortBy': 'UpdatedAt'
              }
          },
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': 'string'
          }
      )
      
    :type handshakeType: string
    :param handshakeType: **[REQUIRED]** 

      Filter results by handshake type.

      

    
    :type catalog: string
    :param catalog: **[REQUIRED]** 

      The catalog identifier to filter handshakes.

      

    
    :type participantType: string
    :param participantType: **[REQUIRED]** 

      Filter by participant type (sender or receiver).

      

    
    :type statuses: list
    :param statuses: 

      Filter results by handshake status.

      

    
      - *(string) --* 

      
  
    :type associatedResourceIdentifiers: list
    :param associatedResourceIdentifiers: 

      Filter by associated resource identifiers.

      

    
      - *(string) --* 

      
  
    :type handshakeTypeFilters: dict
    :param handshakeTypeFilters: 

      Type-specific filters for handshakes.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``startServicePeriodTypeFilters``, ``revokeServicePeriodTypeFilters``, ``programManagementAccountTypeFilters``. 

    
      - **startServicePeriodTypeFilters** *(dict) --* 

        Filters specific to start service period handshakes.

        

      
        - **servicePeriodTypes** *(list) --* 

          Filter by service period types.

          

        
          - *(string) --* 

          
      
      
      - **revokeServicePeriodTypeFilters** *(dict) --* 

        Filters specific to revoke service period handshakes.

        

      
        - **servicePeriodTypes** *(list) --* 

          Filter by service period types.

          

        
          - *(string) --* 

          
      
      
      - **programManagementAccountTypeFilters** *(dict) --* 

        Filters specific to program management account handshakes.

        

      
        - **programs** *(list) --* 

          Filter by program types.

          

        
          - *(string) --* 

          
      
      
    
    :type handshakeTypeSort: dict
    :param handshakeTypeSort: 

      Type-specific sorting options for handshakes.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``startServicePeriodTypeSort``, ``revokeServicePeriodTypeSort``, ``programManagementAccountTypeSort``. 

    
      - **startServicePeriodTypeSort** *(dict) --* 

        Sorting options specific to start service period handshakes.

        

      
        - **sortOrder** *(string) --* **[REQUIRED]** 

          The sort order (ascending or descending).

          

        
        - **sortBy** *(string) --* **[REQUIRED]** 

          The field to sort by.

          

        
      
      - **revokeServicePeriodTypeSort** *(dict) --* 

        Sorting options specific to revoke service period handshakes.

        

      
        - **sortOrder** *(string) --* **[REQUIRED]** 

          The sort order (ascending or descending).

          

        
        - **sortBy** *(string) --* **[REQUIRED]** 

          The field to sort by.

          

        
      
      - **programManagementAccountTypeSort** *(dict) --* 

        Sorting options specific to program management account handshakes.

        

      
        - **sortOrder** *(string) --* **[REQUIRED]** 

          The sort order (ascending or descending).

          

        
        - **sortBy** *(string) --* **[REQUIRED]** 

          The field to sort by.

          

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

      
      ::

        {
            'items': [
                {
                    'id': 'string',
                    'arn': 'string',
                    'catalog': 'string',
                    'handshakeType': 'START_SERVICE_PERIOD'|'REVOKE_SERVICE_PERIOD'|'PROGRAM_MANAGEMENT_ACCOUNT',
                    'ownerAccountId': 'string',
                    'senderAccountId': 'string',
                    'senderDisplayName': 'string',
                    'receiverAccountId': 'string',
                    'associatedResourceId': 'string',
                    'detail': {
                        'startServicePeriodHandshakeDetail': {
                            'note': 'string',
                            'servicePeriodType': 'MINIMUM_NOTICE_PERIOD'|'FIXED_COMMITMENT_PERIOD',
                            'minimumNoticeDays': 'string',
                            'startDate': datetime(2015, 1, 1),
                            'endDate': datetime(2015, 1, 1)
                        },
                        'revokeServicePeriodHandshakeDetail': {
                            'note': 'string',
                            'servicePeriodType': 'MINIMUM_NOTICE_PERIOD'|'FIXED_COMMITMENT_PERIOD',
                            'minimumNoticeDays': 'string',
                            'startDate': datetime(2015, 1, 1),
                            'endDate': datetime(2015, 1, 1)
                        },
                        'programManagementAccountHandshakeDetail': {
                            'program': 'SOLUTION_PROVIDER'|'DISTRIBUTION'|'DISTRIBUTION_SELLER'
                        }
                    },
                    'createdAt': datetime(2015, 1, 1),
                    'updatedAt': datetime(2015, 1, 1),
                    'status': 'PENDING'|'ACCEPTED'|'REJECTED'|'CANCELED'|'EXPIRED'
                },
            ],
            'NextToken': 'string'
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **items** *(list) --* 

          List of channel handshakes matching the criteria.

          
          

          - *(dict) --* 

            Summary information about a channel handshake.

            
            

            - **id** *(string) --* 

              The unique identifier of the handshake.

              
            

            - **arn** *(string) --* 

              The Amazon Resource Name (ARN) of the handshake.

              
            

            - **catalog** *(string) --* 

              The catalog identifier associated with the handshake.

              
            

            - **handshakeType** *(string) --* 

              The type of the handshake.

              
            

            - **ownerAccountId** *(string) --* 

              The AWS account ID of the handshake owner.

              
            

            - **senderAccountId** *(string) --* 

              The AWS account ID of the handshake sender.

              
            

            - **senderDisplayName** *(string) --* 

              The display name of the handshake sender.

              
            

            - **receiverAccountId** *(string) --* 

              The AWS account ID of the handshake receiver.

              
            

            - **associatedResourceId** *(string) --* 

              The identifier of the resource associated with the handshake.

              
            

            - **detail** *(dict) --* 

              Detailed information about the handshake.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``startServicePeriodHandshakeDetail``, ``revokeServicePeriodHandshakeDetail``, ``programManagementAccountHandshakeDetail``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **startServicePeriodHandshakeDetail** *(dict) --* 

                Details for a start service period handshake.

                
                

                - **note** *(string) --* 

                  A note providing additional information about the service period.

                  
                

                - **servicePeriodType** *(string) --* 

                  The type of service period being started.

                  
                

                - **minimumNoticeDays** *(string) --* 

                  The minimum number of days notice required for changes.

                  
                

                - **startDate** *(datetime) --* 

                  The start date of the service period.

                  
                

                - **endDate** *(datetime) --* 

                  The end date of the service period.

                  
            
              

              - **revokeServicePeriodHandshakeDetail** *(dict) --* 

                Details for a revoke service period handshake.

                
                

                - **note** *(string) --* 

                  A note explaining the reason for revoking the service period.

                  
                

                - **servicePeriodType** *(string) --* 

                  The type of service period being revoked.

                  
                

                - **minimumNoticeDays** *(string) --* 

                  The minimum number of days notice required for revocation.

                  
                

                - **startDate** *(datetime) --* 

                  The start date of the service period being revoked.

                  
                

                - **endDate** *(datetime) --* 

                  The end date of the service period being revoked.

                  
            
              

              - **programManagementAccountHandshakeDetail** *(dict) --* 

                Details for a program management account handshake.

                
                

                - **program** *(string) --* 

                  The program associated with the handshake.

                  
            
          
            

            - **createdAt** *(datetime) --* 

              The timestamp when the handshake was created.

              
            

            - **updatedAt** *(datetime) --* 

              The timestamp when the handshake was last updated.

              
            

            - **status** *(string) --* 

              The current status of the handshake.

              
        
      
        

        - **NextToken** *(string) --* 

          A token to resume pagination.

          
    