:doc:`DevOpsGuru <../../devops-guru>` / Client / update_resource_collection

**************************
update_resource_collection
**************************



.. py:method:: DevOpsGuru.Client.update_resource_collection(**kwargs)

  

  Updates the collection of resources that DevOps Guru analyzes. The two types of Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze the Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag *key*. You can specify up to 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for you to use DevOps Guru.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateResourceCollection>`_  


  **Request Syntax**
  ::

    response = client.update_resource_collection(
        Action='ADD'|'REMOVE',
        ResourceCollection={
            'CloudFormation': {
                'StackNames': [
                    'string',
                ]
            },
            'Tags': [
                {
                    'AppBoundaryKey': 'string',
                    'TagValues': [
                        'string',
                    ]
                },
            ]
        }
    )
    
  :type Action: string
  :param Action: **[REQUIRED]** 

    Specifies if the resource collection in the request is added or deleted to the resource collection.

    

  
  :type ResourceCollection: dict
  :param ResourceCollection: **[REQUIRED]** 

    Contains information used to update a collection of Amazon Web Services resources.

    

  
    - **CloudFormation** *(dict) --* 

      A collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks.

      

    
      - **StackNames** *(list) --* 

        An array of the names of the Amazon Web Services CloudFormation stacks to update. You can specify up to 500 Amazon Web Services CloudFormation stacks.

        

      
        - *(string) --* 

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

      The updated Amazon Web Services tags used to filter the resources in the resource collection.

       

      Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the `Tagging best practices <https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html>`__ whitepaper.

       

      Each Amazon Web Services tag has two parts.

       

      
      * A tag *key* (for example, ``CostCenter``, ``Environment``, ``Project``, or ``Secret``). Tag *keys* are case-sensitive.
       
      * An optional field known as a tag *value* (for example, ``111122223333``, ``Production``, or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive.
      

       

      Together these are known as *key*-*value* pairs.

       

      .. warning::

         

        The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix ``Devops-guru-``. The tag *key* might be ``DevOps-Guru-deployment-application`` or ``devops-guru-rds-application``. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named ``devops-guru-rds`` and a *key* named ``DevOps-Guru-RDS``, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be ``Devops-Guru-production-application/RDS`` or ``Devops-Guru-production-application/containers``.

        

      

    
      - *(dict) --* 

        A new collection of Amazon Web Services resources that are defined by an Amazon Web Services tag or tag *key*/*value* pair.

        

      
        - **AppBoundaryKey** *(string) --* **[REQUIRED]** 

          An Amazon Web Services tag *key* that is used to identify the Amazon Web Services resources that DevOps Guru analyzes. All Amazon Web Services resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.

           

          .. warning::

             

            The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix ``Devops-guru-``. The tag *key* might be ``DevOps-Guru-deployment-application`` or ``devops-guru-rds-application``. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named ``devops-guru-rds`` and a *key* named ``DevOps-Guru-RDS``, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be ``Devops-Guru-production-application/RDS`` or ``Devops-Guru-production-application/containers``.

            

          

        
        - **TagValues** *(list) --* **[REQUIRED]** 

          The values in an Amazon Web Services tag collection.

           

          The tag's *value* is an optional field used to associate a string with the tag *key* (for example, ``111122223333``, ``Production``, or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value.

          

        
          - *(string) --* 

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`DevOpsGuru.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`DevOpsGuru.Client.exceptions.ConflictException`

  
  *   :py:class:`DevOpsGuru.Client.exceptions.InternalServerException`

  
  *   :py:class:`DevOpsGuru.Client.exceptions.ThrottlingException`

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

  