:doc:`DataZone <../../datazone>` / Client / list_subscriptions

******************
list_subscriptions
******************



.. py:method:: DataZone.Client.list_subscriptions(**kwargs)

  

  Lists subscriptions in Amazon DataZone.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListSubscriptions>`_  


  **Request Syntax**
  ::

    response = client.list_subscriptions(
        domainIdentifier='string',
        subscriptionRequestIdentifier='string',
        status='APPROVED'|'REVOKED'|'CANCELLED',
        subscribedListingId='string',
        owningProjectId='string',
        owningIamPrincipalArn='string',
        owningUserId='string',
        owningGroupId='string',
        approverProjectId='string',
        sortBy='CREATED_AT'|'UPDATED_AT',
        sortOrder='ASCENDING'|'DESCENDING',
        maxResults=123,
        nextToken='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The identifier of the Amazon DataZone domain.

    

  
  :type subscriptionRequestIdentifier: string
  :param subscriptionRequestIdentifier: 

    The identifier of the subscription request for the subscriptions that you want to list.

    

  
  :type status: string
  :param status: 

    The status of the subscriptions that you want to list.

     

    .. note::

      

      This is not a required parameter, but if not provided, by default, Amazon DataZone returns only ``APPROVED`` subscriptions.

      

    

  
  :type subscribedListingId: string
  :param subscribedListingId: 

    The identifier of the subscribed listing for the subscriptions that you want to list.

    

  
  :type owningProjectId: string
  :param owningProjectId: 

    The identifier of the owning project.

    

  
  :type owningIamPrincipalArn: string
  :param owningIamPrincipalArn: 

    The ARN of the owning IAM principal.

    

  
  :type owningUserId: string
  :param owningUserId: 

    The ID of the owning user.

    

  
  :type owningGroupId: string
  :param owningGroupId: 

    The ID of the owning group.

    

  
  :type approverProjectId: string
  :param approverProjectId: 

    The identifier of the project for the subscription's approver.

    

  
  :type sortBy: string
  :param sortBy: 

    Specifies the way in which the results of this action are to be sorted.

    

  
  :type sortOrder: string
  :param sortOrder: 

    Specifies the sort order for the results of this action.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of subscriptions to return in a single call to ``ListSubscriptions``. When the number of subscriptions to be listed is greater than the value of ``MaxResults``, the response contains a ``NextToken`` value that you can use in a subsequent call to ``ListSubscriptions`` to list the next set of Subscriptions.

    

  
  :type nextToken: string
  :param nextToken: 

    When the number of subscriptions is greater than the default value for the ``MaxResults`` parameter, or if you explicitly specify a value for ``MaxResults`` that is less than the number of subscriptions, the response includes a pagination token named ``NextToken``. You can specify this ``NextToken`` value in a subsequent call to ``ListSubscriptions`` to list the next set of subscriptions.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'items': [
              {
                  'id': 'string',
                  'createdBy': 'string',
                  'updatedBy': 'string',
                  'domainId': 'string',
                  'status': 'APPROVED'|'REVOKED'|'CANCELLED',
                  'createdAt': datetime(2015, 1, 1),
                  'updatedAt': datetime(2015, 1, 1),
                  'subscribedPrincipal': {
                      'project': {
                          'id': 'string',
                          'name': 'string'
                      },
                      'user': {
                          'id': 'string',
                          'details': {
                              'iam': {
                                  'arn': 'string',
                                  'principalId': 'string'
                              },
                              'sso': {
                                  'username': 'string',
                                  'firstName': 'string',
                                  'lastName': 'string'
                              }
                          }
                      },
                      'group': {
                          'id': 'string',
                          'name': 'string'
                      },
                      'iam': {
                          'principalArn': 'string'
                      }
                  },
                  'subscribedListing': {
                      'id': 'string',
                      'revision': 'string',
                      'name': 'string',
                      'description': 'string',
                      'item': {
                          'assetListing': {
                              'entityId': 'string',
                              'entityRevision': 'string',
                              'entityType': 'string',
                              'forms': 'string',
                              'glossaryTerms': [
                                  {
                                      'name': 'string',
                                      'shortDescription': 'string'
                                  },
                              ],
                              'assetScope': {
                                  'assetId': 'string',
                                  'filterIds': [
                                      'string',
                                  ],
                                  'status': 'string',
                                  'errorMessage': 'string'
                              },
                              'permissions': {
                                  's3': [
                                      'READ'|'WRITE',
                                  ]
                              }
                          },
                          'productListing': {
                              'entityId': 'string',
                              'entityRevision': 'string',
                              'glossaryTerms': [
                                  {
                                      'name': 'string',
                                      'shortDescription': 'string'
                                  },
                              ],
                              'name': 'string',
                              'description': 'string',
                              'assetListings': [
                                  {
                                      'entityId': 'string',
                                      'entityRevision': 'string',
                                      'entityType': 'string'
                                  },
                              ]
                          }
                      },
                      'ownerProjectId': 'string',
                      'ownerProjectName': 'string'
                  },
                  'subscriptionRequestId': 'string',
                  'retainPermissions': True|False
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The results of the ``ListSubscriptions`` action.

        
        

        - *(dict) --* 

          The details of the subscription.

          
          

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

            The identifier of the subscription.

            
          

          - **createdBy** *(string) --* 

            The Amazon DataZone user who created the subscription.

            
          

          - **updatedBy** *(string) --* 

            The Amazon DataZone user who updated the subscription.

            
          

          - **domainId** *(string) --* 

            The identifier of the Amazon DataZone domain in which a subscription exists.

            
          

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

            The status of the subscription.

            
          

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

            The timestamp of when the subscription was created.

            
          

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

            The timestamp of when the subscription was updated.

            
          

          - **subscribedPrincipal** *(dict) --* 

            The principal included in the subscription.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``project``, ``user``, ``group``, ``iam``.     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'}


          
            

            - **project** *(dict) --* 

              The project that has the subscription grant.

              
              

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

                The identifier of the project that has the subscription grant.

                
              

              - **name** *(string) --* 

                The name of the project that has the subscription grant.

                
          
            

            - **user** *(dict) --* 

              The subscribed user.

              
              

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

                The ID of the subscribed user.

                
              

              - **details** *(dict) --* 

                The subscribed user details.

                .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``iam``, ``sso``.     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'}


              
                

                - **iam** *(dict) --* 

                  The IAM details of the user profile.

                  
                  

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

                    The ARN of the IAM user.

                    
                  

                  - **principalId** *(string) --* 

                    The principal ID as part of the IAM user profile details.

                    
              
                

                - **sso** *(dict) --* 

                  The SSO details of the user profile.

                  
                  

                  - **username** *(string) --* 

                    The username as part of the SSO user profile detail.

                    
                  

                  - **firstName** *(string) --* 

                    The first name as part of the SSO user profile detail.

                    
                  

                  - **lastName** *(string) --* 

                    The last name as part of the SSO user profile detail.

                    
              
            
          
            

            - **group** *(dict) --* 

              The subscribed group.

              
              

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

                The ID of the subscribed group.

                
              

              - **name** *(string) --* 

                The name of the subscribed group.

                
          
            

            - **iam** *(dict) --* 

              The subscribed IAM principal.

              
              

              - **principalArn** *(string) --* 

                The ARN of the subscribed IAM principal.

                
          
        
          

          - **subscribedListing** *(dict) --* 

            The listing included in the subscription.

            
            

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

              The identifier of the published asset for which the subscription grant is created.

              
            

            - **revision** *(string) --* 

              The revision of the published asset for which the subscription grant is created.

              
            

            - **name** *(string) --* 

              The name of the published asset for which the subscription grant is created.

              
            

            - **description** *(string) --* 

              The description of the published asset for which the subscription grant is created.

              
            

            - **item** *(dict) --* 

              The published asset for which the subscription grant is created.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``assetListing``, ``productListing``.     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'}


            
              

              - **assetListing** *(dict) --* 

                The asset for which the subscription grant is created.

                
                

                - **entityId** *(string) --* 

                  The identifier of the published asset for which the subscription grant is created.

                  
                

                - **entityRevision** *(string) --* 

                  The revision of the published asset for which the subscription grant is created.

                  
                

                - **entityType** *(string) --* 

                  The type of the published asset for which the subscription grant is created.

                  
                

                - **forms** *(string) --* 

                  The forms attached to the published asset for which the subscription grant is created.

                  
                

                - **glossaryTerms** *(list) --* 

                  The glossary terms attached to the published asset for which the subscription grant is created.

                  
                  

                  - *(dict) --* 

                    Details of a glossary term attached to the inventory asset.

                    
                    

                    - **name** *(string) --* 

                      The name of a glossary term attached to the inventory asset.

                      
                    

                    - **shortDescription** *(string) --* 

                      The shoft description of a glossary term attached to the inventory asset.

                      
                
              
                

                - **assetScope** *(dict) --* 

                  The asset scope of the subscribed asset listing.

                  
                  

                  - **assetId** *(string) --* 

                    The asset ID of the asset scope.

                    
                  

                  - **filterIds** *(list) --* 

                    The filter IDs of the asset scope.

                    
                    

                    - *(string) --* 
                
                  

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

                    The status of the asset scope.

                    
                  

                  - **errorMessage** *(string) --* 

                    The error message of the asset scope.

                    
              
                

                - **permissions** *(dict) --* 

                  The asset permissions.

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``s3``.     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'}


                
                  

                  - **s3** *(list) --* 

                    The S3 details of the asset permissions.

                    
                    

                    - *(string) --* 
                
              
            
              

              - **productListing** *(dict) --* 

                The data product listing.

                
                

                - **entityId** *(string) --* 

                  The ID of the data product listing.

                  
                

                - **entityRevision** *(string) --* 

                  The revision of the data product listing.

                  
                

                - **glossaryTerms** *(list) --* 

                  The glossary terms of the data product listing.

                  
                  

                  - *(dict) --* 

                    Details of a glossary term attached to the inventory asset.

                    
                    

                    - **name** *(string) --* 

                      The name of a glossary term attached to the inventory asset.

                      
                    

                    - **shortDescription** *(string) --* 

                      The shoft description of a glossary term attached to the inventory asset.

                      
                
              
                

                - **name** *(string) --* 

                  The name of the data product listing.

                  
                

                - **description** *(string) --* 

                  The description of the data product listing.

                  
                

                - **assetListings** *(list) --* 

                  The data assets of the data product listing.

                  
                  

                  - *(dict) --* 

                    The listing of the asset in a data product.

                    
                    

                    - **entityId** *(string) --* 

                      The entity ID of the listing of the asset in a data product.

                      
                    

                    - **entityRevision** *(string) --* 

                      The entity revision of the listing of the asset in a data product.

                      
                    

                    - **entityType** *(string) --* 

                      The entity type of the listing of the asset in a data product.

                      
                
              
            
          
            

            - **ownerProjectId** *(string) --* 

              The identifier of the project of the published asset for which the subscription grant is created.

              
            

            - **ownerProjectName** *(string) --* 

              The name of the project that owns the published asset for which the subscription grant is created.

              
        
          

          - **subscriptionRequestId** *(string) --* 

            The identifier of the subscription request for the subscription.

            
          

          - **retainPermissions** *(boolean) --* 

            The retain permissions included in the subscription.

            
      
    
      

      - **nextToken** *(string) --* 

        When the number of subscriptions is greater than the default value for the ``MaxResults`` parameter, or if you explicitly specify a value for ``MaxResults`` that is less than the number of subscriptions, the response includes a pagination token named ``NextToken``. You can specify this ``NextToken`` value in a subsequent call to ``ListSubscriptions`` to list the next set of subscriptions.

        
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

  
  *   :py:class:`DataZone.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`DataZone.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`DataZone.Client.exceptions.ThrottlingException`

  
  *   :py:class:`DataZone.Client.exceptions.ValidationException`

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  