:doc:`LicenseManager <../../license-manager>` / Client / create_license_configuration

****************************
create_license_configuration
****************************



.. py:method:: LicenseManager.Client.create_license_configuration(**kwargs)

  

  Creates a license configuration.

   

  A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), license affinity to host (how long a license must be associated with a host), and the number of licenses purchased and used.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration>`_  


  **Request Syntax**
  ::

    response = client.create_license_configuration(
        Name='string',
        Description='string',
        LicenseCountingType='vCPU'|'Instance'|'Core'|'Socket',
        LicenseCount=123,
        LicenseCountHardLimit=True|False,
        LicenseRules=[
            'string',
        ],
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        DisassociateWhenNotFound=True|False,
        ProductInformationList=[
            {
                'ResourceType': 'string',
                'ProductInformationFilterList': [
                    {
                        'ProductInformationFilterName': 'string',
                        'ProductInformationFilterValue': [
                            'string',
                        ],
                        'ProductInformationFilterComparator': 'string'
                    },
                ]
            },
        ],
        LicenseExpiry=123
    )
    
  :type Name: string
  :param Name: **[REQUIRED]** 

    Name of the license configuration.

    

  
  :type Description: string
  :param Description: 

    Description of the license configuration.

    

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

    Dimension used to track the license inventory.

    

  
  :type LicenseCount: integer
  :param LicenseCount: 

    Number of licenses managed by the license configuration.

    

  
  :type LicenseCountHardLimit: boolean
  :param LicenseCountHardLimit: 

    Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new instances.

    

  
  :type LicenseRules: list
  :param LicenseRules: 

    License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules vary by dimension, as follows.

     

    
    * ``Cores`` dimension: ``allowedTenancy`` | ``licenseAffinityToHost`` | ``maximumCores`` | ``minimumCores``
     
    * ``Instances`` dimension: ``allowedTenancy`` | ``maximumVcpus`` | ``minimumVcpus``
     
    * ``Sockets`` dimension: ``allowedTenancy`` | ``licenseAffinityToHost`` | ``maximumSockets`` | ``minimumSockets``
     
    * ``vCPUs`` dimension: ``allowedTenancy`` | ``honorVcpuOptimization`` | ``maximumVcpus`` | ``minimumVcpus``
    

     

    The unit for ``licenseAffinityToHost`` is days and the range is 1 to 180. The possible values for ``allowedTenancy`` are ``EC2-Default``, ``EC2-DedicatedHost``, and ``EC2-DedicatedInstance``. The possible values for ``honorVcpuOptimization`` are ``True`` and ``False``.

    

  
    - *(string) --* 

    

  :type Tags: list
  :param Tags: 

    Tags to add to the license configuration.

    

  
    - *(dict) --* 

      Details about the tags for a resource. For more information about tagging support in License Manager, see the `TagResource <https://docs.aws.amazon.com/license-manager/latest/APIReference/API_TagResource.html>`__ operation.

      

    
      - **Key** *(string) --* 

        The tag key.

        

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

        The tag value.

        

      
    

  :type DisassociateWhenNotFound: boolean
  :param DisassociateWhenNotFound: 

    When true, disassociates a resource when software is uninstalled.

    

  
  :type ProductInformationList: list
  :param ProductInformationList: 

    Product information.

    

  
    - *(dict) --* 

      Describes product information for a license configuration.

      

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

        Resource type. The possible values are ``SSM_MANAGED`` | ``RDS``.

        

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

        A Product information filter consists of a ``ProductInformationFilterComparator`` which is a logical operator, a ``ProductInformationFilterName`` which specifies the type of filter being declared, and a ``ProductInformationFilterValue`` that specifies the value to filter on.

         

        Accepted values for ``ProductInformationFilterName`` are listed here along with descriptions and valid options for ``ProductInformationFilterComparator``.

         

        The following filters and are supported when the resource type is ``SSM_MANAGED``:

         

        
        * ``Application Name`` - The name of the application. Logical operator is ``EQUALS``.
         
        * ``Application Publisher`` - The publisher of the application. Logical operator is ``EQUALS``.
         
        * ``Application Version`` - The version of the application. Logical operator is ``EQUALS``.
         
        * ``Platform Name`` - The name of the platform. Logical operator is ``EQUALS``.
         
        * ``Platform Type`` - The platform type. Logical operator is ``EQUALS``.
         
        * ``Tag:key`` - The key of a tag attached to an Amazon Web Services resource you wish to exclude from automated discovery. Logical operator is ``NOT_EQUALS``. The key for your tag must be appended to ``Tag:`` following the example: ``Tag:name-of-your-key``. ``ProductInformationFilterValue`` is optional if you are not using values for the key.
         
        * ``AccountId`` - The 12-digit ID of an Amazon Web Services account you wish to exclude from automated discovery. Logical operator is ``NOT_EQUALS``.
         
        * ``License Included`` - The type of license included. Logical operators are ``EQUALS`` and ``NOT_EQUALS``. Possible values are: ``sql-server-enterprise`` | ``sql-server-standard`` | ``sql-server-web`` | ``windows-server-datacenter``.
        

         

        The following filters and logical operators are supported when the resource type is ``RDS``:

         

        
        * ``Engine Edition`` - The edition of the database engine. Logical operator is ``EQUALS``. Possible values are: ``oracle-ee`` | ``oracle-se`` | ``oracle-se1`` | ``oracle-se2`` | ``db2-se`` | ``db2-ae``.
         
        * ``License Pack`` - The license pack. Logical operator is ``EQUALS``. Possible values are: ``data guard`` | ``diagnostic pack sqlt`` | ``tuning pack sqlt`` | ``ols`` | ``olap``.
        

        

      
        - *(dict) --* 

          Describes product information filters.

          

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

            Filter name.

            

          
          - **ProductInformationFilterValue** *(list) --* 

            Filter value.

            

          
            - *(string) --* 

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

            Logical operator.

            

          
        
    
    

  :type LicenseExpiry: integer
  :param LicenseExpiry: 

    License configuration expiry.

    

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

    
    ::

      {
          'LicenseConfigurationArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **LicenseConfigurationArn** *(string) --* 

        Amazon Resource Name (ARN) of the license configuration.

        
  
  **Exceptions**
  
  *   :py:class:`LicenseManager.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`LicenseManager.Client.exceptions.ServerInternalException`

  
  *   :py:class:`LicenseManager.Client.exceptions.ResourceLimitExceededException`

  
  *   :py:class:`LicenseManager.Client.exceptions.AuthorizationException`

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

  
  *   :py:class:`LicenseManager.Client.exceptions.RateLimitExceededException`

  