:doc:`LicenseManagerUserSubscriptions <../../license-manager-user-subscriptions>` / Client / list_product_subscriptions

**************************
list_product_subscriptions
**************************



.. py:method:: LicenseManagerUserSubscriptions.Client.list_product_subscriptions(**kwargs)

  

  Lists the user-based subscription products available from an identity provider.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/license-manager-user-subscriptions-2018-05-10/ListProductSubscriptions>`_  


  **Request Syntax**
  ::

    response = client.list_product_subscriptions(
        Product='string',
        IdentityProvider={
            'ActiveDirectoryIdentityProvider': {
                'DirectoryId': 'string',
                'ActiveDirectorySettings': {
                    'DomainName': 'string',
                    'DomainIpv4List': [
                        'string',
                    ],
                    'DomainIpv6List': [
                        'string',
                    ],
                    'DomainCredentialsProvider': {
                        'SecretsManagerCredentialsProvider': {
                            'SecretId': 'string'
                        }
                    },
                    'DomainNetworkSettings': {
                        'Subnets': [
                            'string',
                        ]
                    }
                },
                'ActiveDirectoryType': 'SELF_MANAGED'|'AWS_MANAGED',
                'IsSharedActiveDirectory': True|False
            }
        },
        MaxResults=123,
        Filters=[
            {
                'Attribute': 'string',
                'Operation': 'string',
                'Value': 'string'
            },
        ],
        NextToken='string'
    )
    
  :type Product: string
  :param Product: 

    The name of the user-based subscription product.

     

    Valid values: ``VISUAL_STUDIO_ENTERPRISE`` | ``VISUAL_STUDIO_PROFESSIONAL`` | ``OFFICE_PROFESSIONAL_PLUS`` | ``REMOTE_DESKTOP_SERVICES``

    

  
  :type IdentityProvider: dict
  :param IdentityProvider: **[REQUIRED]** 

    An object that specifies details for the identity provider.

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

  
    - **ActiveDirectoryIdentityProvider** *(dict) --* 

      The ``ActiveDirectoryIdentityProvider`` resource contains settings and other details about a specific Active Directory identity provider.

      

    
      - **DirectoryId** *(string) --* 

        The directory ID for an Active Directory identity provider.

        

      
      - **ActiveDirectorySettings** *(dict) --* 

        The ``ActiveDirectorySettings`` resource contains details about the Active Directory, including network access details such as domain name and IP addresses, and the credential provider for user administration.

        

      
        - **DomainName** *(string) --* 

          The domain name for the Active Directory.

          

        
        - **DomainIpv4List** *(list) --* 

          A list of domain IPv4 addresses that are used for the Active Directory.

          

        
          - *(string) --* 

          
      
        - **DomainIpv6List** *(list) --* 

          A list of domain IPv6 addresses that are used for the Active Directory.

          

        
          - *(string) --* 

          
      
        - **DomainCredentialsProvider** *(dict) --* 

          Points to the ``CredentialsProvider`` resource that contains information about the credential provider for user administration.

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

        
          - **SecretsManagerCredentialsProvider** *(dict) --* 

            Identifies the Secrets Manager secret that contains credentials needed for user administration in the Active Directory.

            

          
            - **SecretId** *(string) --* 

              The ID of the Secrets Manager secret that contains credentials.

              

            
          
        
        - **DomainNetworkSettings** *(dict) --* 

          The ``DomainNetworkSettings`` resource contains an array of subnets that apply for the Active Directory.

          

        
          - **Subnets** *(list) --* **[REQUIRED]** 

            Contains a list of subnets that apply for the Active Directory domain.

            

          
            - *(string) --* 

            
        
        
      
      - **ActiveDirectoryType** *(string) --* 

        The type of Active Directory – either a self-managed Active Directory or an Amazon Web Services Managed Active Directory.

        

      
      - **IsSharedActiveDirectory** *(boolean) --* 

        Whether this directory is shared from an Amazon Web Services Managed Active Directory. The default value is false.

        

      
    
  
  :type MaxResults: integer
  :param MaxResults: 

    The maximum number of results to return from a single request.

    

  
  :type Filters: list
  :param Filters: 

    You can use the following filters to streamline results:

     

    
    * Status
     
    * Username
     
    * Domain
    

    

  
    - *(dict) --* 

      A filter name and value pair that is used to return more specific results from a describe or list operation. You can use filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

      

    
      - **Attribute** *(string) --* 

        The name of an attribute to use as a filter.

        

      
      - **Operation** *(string) --* 

        The type of search (For example, eq, geq, leq)

        

      
      - **Value** *(string) --* 

        Value of the filter.

        

      
    

  :type NextToken: string
  :param NextToken: 

    A token to specify where to start paginating. This is the nextToken from a previously truncated response.

    

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

    
    ::

      {
          'ProductUserSummaries': [
              {
                  'Username': 'string',
                  'Product': 'string',
                  'IdentityProvider': {
                      'ActiveDirectoryIdentityProvider': {
                          'DirectoryId': 'string',
                          'ActiveDirectorySettings': {
                              'DomainName': 'string',
                              'DomainIpv4List': [
                                  'string',
                              ],
                              'DomainIpv6List': [
                                  'string',
                              ],
                              'DomainCredentialsProvider': {
                                  'SecretsManagerCredentialsProvider': {
                                      'SecretId': 'string'
                                  }
                              },
                              'DomainNetworkSettings': {
                                  'Subnets': [
                                      'string',
                                  ]
                              }
                          },
                          'ActiveDirectoryType': 'SELF_MANAGED'|'AWS_MANAGED',
                          'IsSharedActiveDirectory': True|False
                      }
                  },
                  'Status': 'string',
                  'ProductUserArn': 'string',
                  'StatusMessage': 'string',
                  'Domain': 'string',
                  'SubscriptionStartDate': 'string',
                  'SubscriptionEndDate': 'string'
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ProductUserSummaries** *(list) --* 

        Metadata that describes the list product subscriptions operation.

        
        

        - *(dict) --* 

          A summary of the user-based subscription products for a specific user.

          
          

          - **Username** *(string) --* 

            The user name from the identity provider for this product user.

            
          

          - **Product** *(string) --* 

            The name of the user-based subscription product.

            
          

          - **IdentityProvider** *(dict) --* 

            An object that specifies details for the identity provider.

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


          
            

            - **ActiveDirectoryIdentityProvider** *(dict) --* 

              The ``ActiveDirectoryIdentityProvider`` resource contains settings and other details about a specific Active Directory identity provider.

              
              

              - **DirectoryId** *(string) --* 

                The directory ID for an Active Directory identity provider.

                
              

              - **ActiveDirectorySettings** *(dict) --* 

                The ``ActiveDirectorySettings`` resource contains details about the Active Directory, including network access details such as domain name and IP addresses, and the credential provider for user administration.

                
                

                - **DomainName** *(string) --* 

                  The domain name for the Active Directory.

                  
                

                - **DomainIpv4List** *(list) --* 

                  A list of domain IPv4 addresses that are used for the Active Directory.

                  
                  

                  - *(string) --* 
              
                

                - **DomainIpv6List** *(list) --* 

                  A list of domain IPv6 addresses that are used for the Active Directory.

                  
                  

                  - *(string) --* 
              
                

                - **DomainCredentialsProvider** *(dict) --* 

                  Points to the ``CredentialsProvider`` resource that contains information about the credential provider for user administration.

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


                
                  

                  - **SecretsManagerCredentialsProvider** *(dict) --* 

                    Identifies the Secrets Manager secret that contains credentials needed for user administration in the Active Directory.

                    
                    

                    - **SecretId** *(string) --* 

                      The ID of the Secrets Manager secret that contains credentials.

                      
                
              
                

                - **DomainNetworkSettings** *(dict) --* 

                  The ``DomainNetworkSettings`` resource contains an array of subnets that apply for the Active Directory.

                  
                  

                  - **Subnets** *(list) --* 

                    Contains a list of subnets that apply for the Active Directory domain.

                    
                    

                    - *(string) --* 
                
              
            
              

              - **ActiveDirectoryType** *(string) --* 

                The type of Active Directory – either a self-managed Active Directory or an Amazon Web Services Managed Active Directory.

                
              

              - **IsSharedActiveDirectory** *(boolean) --* 

                Whether this directory is shared from an Amazon Web Services Managed Active Directory. The default value is false.

                
          
        
          

          - **Status** *(string) --* 

            The status of a product for this user.

            
          

          - **ProductUserArn** *(string) --* 

            The Amazon Resource Name (ARN) for this product user.

            
          

          - **StatusMessage** *(string) --* 

            The status message for a product for this user.

            
          

          - **Domain** *(string) --* 

            The domain name of the Active Directory that contains the user information for the product subscription.

            
          

          - **SubscriptionStartDate** *(string) --* 

            The start date of a subscription.

            
          

          - **SubscriptionEndDate** *(string) --* 

            The end date of a subscription.

            
      
    
      

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

        The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.

        
  
  **Exceptions**
  
  *   :py:class:`LicenseManagerUserSubscriptions.Client.exceptions.ServiceQuotaExceededException`

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

  
  *   :py:class:`LicenseManagerUserSubscriptions.Client.exceptions.ConflictException`

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

  
  *   :py:class:`LicenseManagerUserSubscriptions.Client.exceptions.InternalServerException`

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

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

  