:doc:`ServiceDiscovery <../../servicediscovery>` / Client / create_http_namespace

*********************
create_http_namespace
*********************



.. py:method:: ServiceDiscovery.Client.create_http_namespace(**kwargs)

  

  Creates an HTTP namespace. Service instances registered using an HTTP namespace can be discovered using a ``DiscoverInstances`` request but can't be discovered using DNS.

   

  For the current quota on the number of namespaces that you can create using the same Amazon Web Services account, see `Cloud Map quotas <https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html>`__ in the *Cloud Map Developer Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespace>`_  


  **Request Syntax**
  ::

    response = client.create_http_namespace(
        Name='string',
        CreatorRequestId='string',
        Description='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type Name: string
  :param Name: **[REQUIRED]** 

    The name that you want to assign to this namespace.

    

  
  :type CreatorRequestId: string
  :param CreatorRequestId: 

    A unique string that identifies the request and that allows failed ``CreateHttpNamespace`` requests to be retried without the risk of running the operation twice. ``CreatorRequestId`` can be any unique string (for example, a date/time stamp).

    This field is autopopulated if not provided.

  
  :type Description: string
  :param Description: 

    A description for the namespace.

    

  
  :type Tags: list
  :param Tags: 

    The tags to add to the namespace. Each tag consists of a key and an optional value that you define. Tags keys can be up to 128 characters in length, and tag values can be up to 256 characters in length.

    

  
    - *(dict) --* 

      A custom key-value pair that's associated with a resource.

      

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

        The key identifier, or name, of the tag.

        

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

        The string value that's associated with the key of the tag. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.

        

      
    

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

    
    ::

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

    

    - *(dict) --* 
      

      - **OperationId** *(string) --* 

        A value that you can use to determine whether the request completed successfully. To get the status of the operation, see `GetOperation <https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html>`__.

        
  
  **Exceptions**
  
  *   :py:class:`ServiceDiscovery.Client.exceptions.InvalidInput`

  
  *   :py:class:`ServiceDiscovery.Client.exceptions.NamespaceAlreadyExists`

  
  *   :py:class:`ServiceDiscovery.Client.exceptions.ResourceLimitExceeded`

  
  *   :py:class:`ServiceDiscovery.Client.exceptions.DuplicateRequest`

  
  *   :py:class:`ServiceDiscovery.Client.exceptions.TooManyTagsException`

  

  **Examples**

  This example creates an HTTP namespace.
  ::

    response = client.create_http_namespace(
        CreatorRequestId='example-creator-request-id-0001',
        Description='Example.com AWS Cloud Map HTTP Namespace',
        Name='example-http.com',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'OperationId': 'httpvoqozuhfet5kzxoxg-a-response-example',
        'ResponseMetadata': {
            '...': '...',
        },
    }

  