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

*******************************************
start_elasticsearch_service_software_update
*******************************************



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

  

  Schedules a service software update for an Amazon ES domain.

  

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


  **Request Syntax**
  ::

    response = client.start_elasticsearch_service_software_update(
        DomainName='string'
    )
    
  :type DomainName: string
  :param DomainName: **[REQUIRED]** 

    The name of the domain that you want to update to the latest service software.

    

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

    
    ::

      {
          'ServiceSoftwareOptions': {
              'CurrentVersion': 'string',
              'NewVersion': 'string',
              'UpdateAvailable': True|False,
              'Cancellable': True|False,
              'UpdateStatus': 'PENDING_UPDATE'|'IN_PROGRESS'|'COMPLETED'|'NOT_ELIGIBLE'|'ELIGIBLE',
              'Description': 'string',
              'AutomatedUpdateDate': datetime(2015, 1, 1),
              'OptionalDeployment': True|False
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      The result of a ``StartElasticsearchServiceSoftwareUpdate`` operation. Contains the status of the update.

      
      

      - **ServiceSoftwareOptions** *(dict) --* 

        The current status of the Elasticsearch service software update.

        
        

        - **CurrentVersion** *(string) --* 

          The current service software version that is present on the domain.

          
        

        - **NewVersion** *(string) --* 

          The new service software version if one is available.

          
        

        - **UpdateAvailable** *(boolean) --* 

          ``True`` if you are able to update you service software version. ``False`` if you are not able to update your service software version.

          
        

        - **Cancellable** *(boolean) --* 

          ``True`` if you are able to cancel your service software version update. ``False`` if you are not able to cancel your service software version.

          
        

        - **UpdateStatus** *(string) --* 

          The status of your service software update. This field can take the following values: ``ELIGIBLE``, ``PENDING_UPDATE``, ``IN_PROGRESS``, ``COMPLETED``, and ``NOT_ELIGIBLE``.

          
        

        - **Description** *(string) --* 

          The description of the ``UpdateStatus``.

          
        

        - **AutomatedUpdateDate** *(datetime) --* 

          Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.

          
        

        - **OptionalDeployment** *(boolean) --* 

          ``True`` if a service software is never automatically updated. ``False`` if a service software is automatically updated after ``AutomatedUpdateDate``.

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

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

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

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

  