:doc:`AutoScaling <../../autoscaling>` / Client / describe_warm_pool

******************
describe_warm_pool
******************



.. py:method:: AutoScaling.Client.describe_warm_pool(**kwargs)

  

  Gets information about a warm pool and its instances.

   

  For more information, see `Warm pools for Amazon EC2 Auto Scaling <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html>`__ in the *Amazon EC2 Auto Scaling User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPool>`_  


  **Request Syntax**
  ::

    response = client.describe_warm_pool(
        AutoScalingGroupName='string',
        MaxRecords=123,
        NextToken='string'
    )
    
  :type AutoScalingGroupName: string
  :param AutoScalingGroupName: **[REQUIRED]** 

    The name of the Auto Scaling group.

    

  
  :type MaxRecords: integer
  :param MaxRecords: 

    The maximum number of instances to return with this call. The maximum value is ``50``.

    

  
  :type NextToken: string
  :param NextToken: 

    The token for the next set of instances to return. (You received this token from a previous call.)

    

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

    
    ::

      {
          'WarmPoolConfiguration': {
              'MaxGroupPreparedCapacity': 123,
              'MinSize': 123,
              'PoolState': 'Stopped'|'Running'|'Hibernated',
              'Status': 'PendingDelete',
              'InstanceReusePolicy': {
                  'ReuseOnScaleIn': True|False
              }
          },
          'Instances': [
              {
                  'InstanceId': 'string',
                  'InstanceType': 'string',
                  'AvailabilityZone': 'string',
                  'LifecycleState': 'Pending'|'Pending:Wait'|'Pending:Proceed'|'Quarantined'|'InService'|'Terminating'|'Terminating:Wait'|'Terminating:Proceed'|'Terminated'|'Detaching'|'Detached'|'EnteringStandby'|'Standby'|'Warmed:Pending'|'Warmed:Pending:Wait'|'Warmed:Pending:Proceed'|'Warmed:Terminating'|'Warmed:Terminating:Wait'|'Warmed:Terminating:Proceed'|'Warmed:Terminated'|'Warmed:Stopped'|'Warmed:Running'|'Warmed:Hibernated',
                  'HealthStatus': 'string',
                  'LaunchConfigurationName': 'string',
                  'LaunchTemplate': {
                      'LaunchTemplateId': 'string',
                      'LaunchTemplateName': 'string',
                      'Version': 'string'
                  },
                  'ImageId': 'string',
                  'ProtectedFromScaleIn': True|False,
                  'WeightedCapacity': 'string'
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **WarmPoolConfiguration** *(dict) --* 

        The warm pool configuration details.

        
        

        - **MaxGroupPreparedCapacity** *(integer) --* 

          The maximum number of instances that are allowed to be in the warm pool or in any state except ``Terminated`` for the Auto Scaling group.

          
        

        - **MinSize** *(integer) --* 

          The minimum number of instances to maintain in the warm pool.

          
        

        - **PoolState** *(string) --* 

          The instance state to transition to after the lifecycle actions are complete.

          
        

        - **Status** *(string) --* 

          The status of a warm pool that is marked for deletion.

          
        

        - **InstanceReusePolicy** *(dict) --* 

          The instance reuse policy.

          
          

          - **ReuseOnScaleIn** *(boolean) --* 

            Specifies whether instances in the Auto Scaling group can be returned to the warm pool on scale in.

            
      
    
      

      - **Instances** *(list) --* 

        The instances that are currently in the warm pool.

        
        

        - *(dict) --* 

          Describes an EC2 instance.

          
          

          - **InstanceId** *(string) --* 

            The ID of the instance.

            
          

          - **InstanceType** *(string) --* 

            The instance type of the EC2 instance.

            
          

          - **AvailabilityZone** *(string) --* 

            The Availability Zone in which the instance is running.

            
          

          - **LifecycleState** *(string) --* 

            A description of the current lifecycle state. The ``Quarantined`` state is not used. For more information, see `Amazon EC2 Auto Scaling instance lifecycle <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html>`__ in the *Amazon EC2 Auto Scaling User Guide*.

            
          

          - **HealthStatus** *(string) --* 

            The last reported health status of the instance. ``Healthy`` means that the instance is healthy and should remain in service. ``Unhealthy`` means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

            
          

          - **LaunchConfigurationName** *(string) --* 

            The launch configuration associated with the instance.

            
          

          - **LaunchTemplate** *(dict) --* 

            The launch template for the instance.

            
            

            - **LaunchTemplateId** *(string) --* 

              The ID of the launch template. To get the template ID, use the Amazon EC2 `DescribeLaunchTemplates <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html>`__ API operation. New launch templates can be created using the Amazon EC2 `CreateLaunchTemplate <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html>`__ API.

               

              Conditional: You must specify either a ``LaunchTemplateId`` or a ``LaunchTemplateName``.

              
            

            - **LaunchTemplateName** *(string) --* 

              The name of the launch template. To get the template name, use the Amazon EC2 `DescribeLaunchTemplates <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html>`__ API operation. New launch templates can be created using the Amazon EC2 `CreateLaunchTemplate <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html>`__ API.

               

              Conditional: You must specify either a ``LaunchTemplateId`` or a ``LaunchTemplateName``.

              
            

            - **Version** *(string) --* 

              The version number, ``$Latest``, or ``$Default``. To get the version number, use the Amazon EC2 `DescribeLaunchTemplateVersions <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html>`__ API operation. New launch template versions can be created using the Amazon EC2 `CreateLaunchTemplateVersion <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html>`__ API. If the value is ``$Latest``, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is ``$Default``, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is ``$Default``.

              
        
          

          - **ImageId** *(string) --* 

            The ID of the Amazon Machine Image (AMI) used for the instance's current root volume. This value reflects the most recent AMI applied to the instance, including updates made through root volume replacement operations.

             

            This field appears for:

             

            
            * Instances with root volume replacements through Instance Refresh
             
            * Instances launched with AMI overrides
            

             

            This field won't appear for:

             

            
            * Existing instances launched from Launch Templates without overrides
             
            * Existing instances that didn’t have their root volume replaced through Instance Refresh
            

            
          

          - **ProtectedFromScaleIn** *(boolean) --* 

            Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

            
          

          - **WeightedCapacity** *(string) --* 

            The number of capacity units contributed by the instance based on its instance type.

             

            Valid Range: Minimum value of 1. Maximum value of 999.

            
      
    
      

      - **NextToken** *(string) --* 

        This string indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the ``NextToken`` value when requesting the next set of items. This value is null when there are no more items to return.

        
  
  **Exceptions**
  
  *   :py:class:`AutoScaling.Client.exceptions.InvalidNextToken`

  
  *   :py:class:`AutoScaling.Client.exceptions.LimitExceededFault`

  
  *   :py:class:`AutoScaling.Client.exceptions.ResourceContentionFault`

  