:doc:`EC2 <../../ec2>` / Client / modify_hosts

************
modify_hosts
************



.. py:method:: EC2.Client.modify_hosts(**kwargs)

  

  Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of ``host`` but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID to have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled.

   

  You can also use this API action to modify a Dedicated Host to support either multiple instance types in an instance family, or to support a specific instance type only.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts>`_  


  **Request Syntax**
  ::

    response = client.modify_hosts(
        HostRecovery='on'|'off',
        InstanceType='string',
        InstanceFamily='string',
        HostMaintenance='on'|'off',
        HostIds=[
            'string',
        ],
        AutoPlacement='on'|'off'
    )
    
  :type HostRecovery: string
  :param HostRecovery: 

    Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see `Host recovery <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html>`__ in the *Amazon EC2 User Guide*.

    

  
  :type InstanceType: string
  :param InstanceType: 

    Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support only a specific instance type.

     

    If you want to modify a Dedicated Host to support multiple instance types in its current instance family, omit this parameter and specify **InstanceFamily** instead. You cannot specify **InstanceType** and **InstanceFamily** in the same request.

    

  
  :type InstanceFamily: string
  :param InstanceFamily: 

    Specifies the instance family to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support multiple instance types within its current instance family.

     

    If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter and specify **InstanceType** instead. You cannot specify **InstanceFamily** and **InstanceType** in the same request.

    

  
  :type HostMaintenance: string
  :param HostMaintenance: 

    Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see `Host maintenance <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-maintenance.html>`__ in the *Amazon EC2 User Guide*.

    

  
  :type HostIds: list
  :param HostIds: **[REQUIRED]** 

    The IDs of the Dedicated Hosts to modify.

    

  
    - *(string) --* 

    

  :type AutoPlacement: string
  :param AutoPlacement: 

    Specify whether to enable or disable auto-placement.

    

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

    
    ::

      {
          'Successful': [
              'string',
          ],
          'Unsuccessful': [
              {
                  'Error': {
                      'Code': 'string',
                      'Message': 'string'
                  },
                  'ResourceId': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Successful** *(list) --* 

        The IDs of the Dedicated Hosts that were successfully modified.

        
        

        - *(string) --* 
    
      

      - **Unsuccessful** *(list) --* 

        The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

        
        

        - *(dict) --* 

          Information about items that were not successfully processed in a batch call.

          
          

          - **Error** *(dict) --* 

            Information about the error.

            
            

            - **Code** *(string) --* 

              The error code.

              
            

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

              The error message accompanying the error code.

              
        
          

          - **ResourceId** *(string) --* 

            The ID of the resource.

            
      
    
  