:doc:`ElasticsearchService <../../es>` / Client / upgrade_elasticsearch_domain

****************************
upgrade_elasticsearch_domain
****************************



.. py:method:: ElasticsearchService.Client.upgrade_elasticsearch_domain(**kwargs)

  

  Allows you to either upgrade your domain or perform an Upgrade eligibility check to a compatible Elasticsearch version.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/UpgradeElasticsearchDomain>`_  


  **Request Syntax**
  ::

    response = client.upgrade_elasticsearch_domain(
        DomainName='string',
        TargetVersion='string',
        PerformCheckOnly=True|False
    )
    
  :type DomainName: string
  :param DomainName: **[REQUIRED]** 

    The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

    

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

    The version of Elasticsearch that you intend to upgrade the domain to.

    

  
  :type PerformCheckOnly: boolean
  :param PerformCheckOnly: 

    This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

    

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

    
    ::

      {
          'DomainName': 'string',
          'TargetVersion': 'string',
          'PerformCheckOnly': True|False,
          'ChangeProgressDetails': {
              'ChangeId': 'string',
              'Message': 'string',
              'ConfigChangeStatus': 'Pending'|'Initializing'|'Validating'|'ValidationFailed'|'ApplyingChanges'|'Completed'|'PendingUserInput'|'Cancelled',
              'StartTime': datetime(2015, 1, 1),
              'LastUpdatedTime': datetime(2015, 1, 1),
              'InitiatedBy': 'CUSTOMER'|'SERVICE'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Container for response returned by ``UpgradeElasticsearchDomain`` operation.

      
      

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

        The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

        
      

      - **TargetVersion** *(string) --* 

        The version of Elasticsearch that you intend to upgrade the domain to.

        
      

      - **PerformCheckOnly** *(boolean) --* 

        This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

        
      

      - **ChangeProgressDetails** *(dict) --* 

        Specifies change details of the domain configuration change.

        
        

        - **ChangeId** *(string) --* 

          The unique change identifier associated with a specific domain configuration change.

          
        

        - **Message** *(string) --* 

          Contains an optional message associated with the domain configuration change.

          
        

        - **ConfigChangeStatus** *(string) --* 

          The current status of the configuration change.

          
        

        - **StartTime** *(datetime) --* 

          The time that the configuration change was initiated, in Universal Coordinated Time (UTC).

          
        

        - **LastUpdatedTime** *(datetime) --* 

          The last time that the configuration change was updated.

          
        

        - **InitiatedBy** *(string) --* 

          The IAM principal who initiated the configuration change.

          
    
  
  **Exceptions**
  
  *   :py:class:`ElasticsearchService.Client.exceptions.BaseException`

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

  
  *   :py:class:`ElasticsearchService.Client.exceptions.ResourceAlreadyExistsException`

  
  *   :py:class:`ElasticsearchService.Client.exceptions.DisabledOperationException`

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

  
  *   :py:class:`ElasticsearchService.Client.exceptions.InternalException`

  