:doc:`VPCLattice <../../vpc-lattice>` / Client / create_service

**************
create_service
**************



.. py:method:: VPCLattice.Client.create_service(**kwargs)

  

  Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC).

   

  For more information, see `Services <https://docs.aws.amazon.com/vpc-lattice/latest/ug/services.html>`__ in the *Amazon VPC Lattice User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateService>`_  


  **Request Syntax**
  ::

    response = client.create_service(
        clientToken='string',
        name='string',
        tags={
            'string': 'string'
        },
        customDomainName='string',
        certificateArn='string',
        authType='NONE'|'AWS_IAM'
    )
    
  :type clientToken: string
  :param clientToken: 

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

    This field is autopopulated if not provided.

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

    The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

    

  
  :type tags: dict
  :param tags: 

    The tags for the service.

    

  
    - *(string) --* 

      The key of the tag.

       

      Constraints: Tag keys are case-sensitive and accept a maximum of 128 Unicode characters. Valid characters are Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @ May not begin with ``aws:``.

      

    
      - *(string) --* 

        The value of the tag.

         

        Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters. Valid characters are Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @

        

      


  :type customDomainName: string
  :param customDomainName: 

    The custom domain name of the service.

    

  
  :type certificateArn: string
  :param certificateArn: 

    The Amazon Resource Name (ARN) of the certificate.

    

  
  :type authType: string
  :param authType: 

    The type of IAM policy.

     

    
    * ``NONE``: The resource does not use an IAM policy. This is the default.
     
    * ``AWS_IAM``: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.
    

    

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

    
    ::

      {
          'id': 'string',
          'arn': 'string',
          'name': 'string',
          'customDomainName': 'string',
          'certificateArn': 'string',
          'status': 'ACTIVE'|'CREATE_IN_PROGRESS'|'DELETE_IN_PROGRESS'|'CREATE_FAILED'|'DELETE_FAILED',
          'authType': 'NONE'|'AWS_IAM',
          'dnsEntry': {
              'domainName': 'string',
              'hostedZoneId': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The ID of the service.

        
      

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

        The Amazon Resource Name (ARN) of the service.

        
      

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

        The name of the service.

        
      

      - **customDomainName** *(string) --* 

        The custom domain name of the service.

        
      

      - **certificateArn** *(string) --* 

        The Amazon Resource Name (ARN) of the certificate.

        
      

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

        The status. If the status is ``CREATE_FAILED``, you must delete and recreate the service.

        
      

      - **authType** *(string) --* 

        The type of IAM policy.

        
      

      - **dnsEntry** *(dict) --* 

        The public DNS name of the service.

        
        

        - **domainName** *(string) --* 

          The domain name of the service.

          
        

        - **hostedZoneId** *(string) --* 

          The ID of the hosted zone.

          
    
  
  **Exceptions**
  
  *   :py:class:`VPCLattice.Client.exceptions.ValidationException`

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

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

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

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

  
  *   :py:class:`VPCLattice.Client.exceptions.ServiceQuotaExceededException`

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

  