:doc:`ResourceGroupsTaggingAPI <../../resourcegroupstaggingapi>` / Client / get_compliance_summary

**********************
get_compliance_summary
**********************



.. py:method:: ResourceGroupsTaggingAPI.Client.get_compliance_summary(**kwargs)

  

  Returns a table that shows counts of resources that are noncompliant with their tag policies.

   

  For more information on tag policies, see `Tag Policies <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html>`__ in the *Organizations User Guide.*

   

  You can call this operation only from the organization's management account and from the us-east-1 Region.

   

  This operation supports pagination, where the response can be sent in multiple pages. You should check the ``PaginationToken`` response parameter to determine if there are additional results available to return. Repeat the query, passing the ``PaginationToken`` response parameter value as an input to the next request until you recieve a ``null`` value. A null value for ``PaginationToken`` indicates that there are no more results waiting to be returned.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary>`_  


  **Request Syntax**
  ::

    response = client.get_compliance_summary(
        TargetIdFilters=[
            'string',
        ],
        RegionFilters=[
            'string',
        ],
        ResourceTypeFilters=[
            'string',
        ],
        TagKeyFilters=[
            'string',
        ],
        GroupBy=[
            'TARGET_ID'|'REGION'|'RESOURCE_TYPE',
        ],
        MaxResults=123,
        PaginationToken='string'
    )
    
  :type TargetIdFilters: list
  :param TargetIdFilters: 

    Specifies target identifiers (usually, specific account IDs) to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources with the specified target IDs.

    

  
    - *(string) --* 

    

  :type RegionFilters: list
  :param RegionFilters: 

    Specifies a list of Amazon Web Services Regions to limit the output to. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified Regions.

    

  
    - *(string) --* 

    

  :type ResourceTypeFilters: list
  :param ResourceTypeFilters: 

    Specifies that you want the response to include information for only resources of the specified types. The format of each resource type is ``service[:resourceType]``. For example, specifying a resource type of ``ec2`` returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ``ec2:instance`` returns only EC2 instances.

     

    The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the `Amazon Web Services General Reference <https://docs.aws.amazon.com/general/latest/gr/>`__ for the following:

     

    
    * For a list of service name strings, see `Amazon Web Services Service Namespaces <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces>`__.
     
    * For resource type strings, see `Example ARNs <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax>`__.
     
    * For more information about ARNs, see `Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`__.
    

     

    .. note::

      

      For the list of services whose resources you can tag using the Resource Groups Tagging API, see `Services that support the Resource Groups Tagging API <https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html>`__. If an Amazon Web Services service isn't listed on that page, you might still be able to tag that service's resources by using that service's native tagging operations instead of using Resource Groups Tagging API operations. All tagged resources, whether the tagging used the Resource Groups Tagging API or not, are returned by the ``Get*`` operation.

      

     

    You can specify multiple resource types by using a comma separated array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter.

    

  
    - *(string) --* 

    

  :type TagKeyFilters: list
  :param TagKeyFilters: 

    Specifies that you want the response to include information for only resources that have tags with the specified tag keys. If you use this parameter, the count of returned noncompliant resources includes only resources that have the specified tag keys.

    

  
    - *(string) --* 

    

  :type GroupBy: list
  :param GroupBy: 

    Specifies a list of attributes to group the counts of noncompliant resources by. If supplied, the counts are sorted by those attributes.

    

  
    - *(string) --* 

    

  :type MaxResults: integer
  :param MaxResults: 

    Specifies the maximum number of results to be returned in each page. A query can return fewer than this maximum, even if there are more results still to return. You should always check the ``PaginationToken`` response value to see if there are more results. You can specify a minimum of 1 and a maximum value of 100.

    

  
  :type PaginationToken: string
  :param PaginationToken: 

    Specifies a ``PaginationToken`` response value from a previous request to indicate that you want the next page of results. Leave this parameter empty in your initial request.

    

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

    
    ::

      {
          'SummaryList': [
              {
                  'LastUpdated': 'string',
                  'TargetId': 'string',
                  'TargetIdType': 'ACCOUNT'|'OU'|'ROOT',
                  'Region': 'string',
                  'ResourceType': 'string',
                  'NonCompliantResources': 123
              },
          ],
          'PaginationToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **SummaryList** *(list) --* 

        A table that shows counts of noncompliant resources.

        
        

        - *(dict) --* 

          A count of noncompliant resources.

          
          

          - **LastUpdated** *(string) --* 

            The timestamp that shows when this summary was generated in this Region.

            
          

          - **TargetId** *(string) --* 

            The account identifier or the root identifier of the organization. If you don't know the root ID, you can call the Organizations `ListRoots <https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html>`__ API.

            
          

          - **TargetIdType** *(string) --* 

            Whether the target is an account, an OU, or the organization root.

            
          

          - **Region** *(string) --* 

            The Amazon Web Services Region that the summary applies to.

            
          

          - **ResourceType** *(string) --* 

            The Amazon Web Services resource type.

            
          

          - **NonCompliantResources** *(integer) --* 

            The count of noncompliant resources.

            
      
    
      

      - **PaginationToken** *(string) --* 

        A string that indicates that there is more data available than this response contains. To receive the next part of the response, specify this response value as the ``PaginationToken`` value in the request for the next page.

        
  
  **Exceptions**
  
  *   :py:class:`ResourceGroupsTaggingAPI.Client.exceptions.ConstraintViolationException`

  
  *   :py:class:`ResourceGroupsTaggingAPI.Client.exceptions.InternalServiceException`

  
  *   :py:class:`ResourceGroupsTaggingAPI.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`ResourceGroupsTaggingAPI.Client.exceptions.ThrottledException`

  