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

*************************
describe_placement_groups
*************************



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

  

  Describes the specified placement groups or all of your placement groups.

   

  .. note::

    

    To describe a specific placement group that is *shared* with your account, you must specify the ID of the placement group using the ``GroupId`` parameter. Specifying the name of a *shared* placement group using the ``GroupNames`` parameter will result in an error.

    

   

  For more information, see `Placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html>`__ in the *Amazon EC2 User Guide*.

  

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


  **Request Syntax**
  ::

    response = client.describe_placement_groups(
        GroupIds=[
            'string',
        ],
        DryRun=True|False,
        GroupNames=[
            'string',
        ],
        Filters=[
            {
                'Name': 'string',
                'Values': [
                    'string',
                ]
            },
        ]
    )
    
  :type GroupIds: list
  :param GroupIds: 

    The IDs of the placement groups.

    

  
    - *(string) --* 

    

  :type DryRun: boolean
  :param DryRun: 

    Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is ``DryRunOperation``. Otherwise, it is ``UnauthorizedOperation``.

    

  
  :type GroupNames: list
  :param GroupNames: 

    The names of the placement groups.

     

    Constraints:

     

    
    * You can specify a name only if the placement group is owned by your account.
     
    * If a placement group is *shared* with your account, specifying the name results in an error. You must use the ``GroupId`` parameter instead.
    

    

  
    - *(string) --* 

    

  :type Filters: list
  :param Filters: 

    The filters.

     

    
    * ``group-name`` - The name of the placement group.
     
    * ``group-arn`` - The Amazon Resource Name (ARN) of the placement group.
     
    * ``spread-level`` - The spread level for the placement group ( ``host`` | ``rack``).
     
    * ``state`` - The state of the placement group ( ``pending`` | ``available`` | ``deleting`` | ``deleted``).
     
    * ``strategy`` - The strategy of the placement group ( ``cluster`` | ``spread`` | ``partition``).
     
    * ``tag:<key>`` - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key ``Owner`` and the value ``TeamA``, specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.
     
    * ``tag-key`` - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.
    

    

  
    - *(dict) --* 

      A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

       

      If you specify multiple filters, the filters are joined with an ``AND``, and the request returns only results that match all of the specified filters.

       

      For more information, see `List and filter using the CLI and API <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI>`__ in the *Amazon EC2 User Guide*.

      

    
      - **Name** *(string) --* 

        The name of the filter. Filter names are case-sensitive.

        

      
      - **Values** *(list) --* 

        The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an ``OR``, and the request returns all results that match any of the specified values.

        

      
        - *(string) --* 

        
    
    

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

    
    ::

      {
          'PlacementGroups': [
              {
                  'GroupName': 'string',
                  'State': 'pending'|'available'|'deleting'|'deleted',
                  'Strategy': 'cluster'|'spread'|'partition',
                  'PartitionCount': 123,
                  'GroupId': 'string',
                  'Tags': [
                      {
                          'Key': 'string',
                          'Value': 'string'
                      },
                  ],
                  'GroupArn': 'string',
                  'SpreadLevel': 'host'|'rack',
                  'LinkedGroupId': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **PlacementGroups** *(list) --* 

        Information about the placement groups.

        
        

        - *(dict) --* 

          Describes a placement group.

          
          

          - **GroupName** *(string) --* 

            The name of the placement group.

            
          

          - **State** *(string) --* 

            The state of the placement group.

            
          

          - **Strategy** *(string) --* 

            The placement strategy.

            
          

          - **PartitionCount** *(integer) --* 

            The number of partitions. Valid only if **strategy** is set to ``partition``.

            
          

          - **GroupId** *(string) --* 

            The ID of the placement group.

            
          

          - **Tags** *(list) --* 

            Any tags applied to the placement group.

            
            

            - *(dict) --* 

              Describes a tag.

              
              

              - **Key** *(string) --* 

                The key of the tag.

                 

                Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with ``aws:``.

                
              

              - **Value** *(string) --* 

                The value of the tag.

                 

                Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

                
          
        
          

          - **GroupArn** *(string) --* 

            The Amazon Resource Name (ARN) of the placement group.

            
          

          - **SpreadLevel** *(string) --* 

            The spread level for the placement group. *Only* Outpost placement groups can be spread across hosts.

            
          

          - **LinkedGroupId** *(string) --* 

            Reserved for future use.

            
      
    
  