:doc:`Shield <../../shield>` / Client / update_protection_group

***********************
update_protection_group
***********************



.. py:method:: Shield.Client.update_protection_group(**kwargs)

  

  Updates an existing protection group. A protection group is a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateProtectionGroup>`_  


  **Request Syntax**
  ::

    response = client.update_protection_group(
        ProtectionGroupId='string',
        Aggregation='SUM'|'MEAN'|'MAX',
        Pattern='ALL'|'ARBITRARY'|'BY_RESOURCE_TYPE',
        ResourceType='CLOUDFRONT_DISTRIBUTION'|'ROUTE_53_HOSTED_ZONE'|'ELASTIC_IP_ALLOCATION'|'CLASSIC_LOAD_BALANCER'|'APPLICATION_LOAD_BALANCER'|'GLOBAL_ACCELERATOR',
        Members=[
            'string',
        ]
    )
    
  :type ProtectionGroupId: string
  :param ProtectionGroupId: **[REQUIRED]** 

    The name of the protection group. You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it.

    

  
  :type Aggregation: string
  :param Aggregation: **[REQUIRED]** 

    Defines how Shield combines resource data for the group in order to detect, mitigate, and report events.

     

    
    * Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
     
    * Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
     
    * Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
    

    

  
  :type Pattern: string
  :param Pattern: **[REQUIRED]** 

    The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource Amazon Resource Names (ARNs), or include all resources of a specified resource type.

    

  
  :type ResourceType: string
  :param ResourceType: 

    The resource type to include in the protection group. All protected resources of this type are included in the protection group. You must set this when you set ``Pattern`` to ``BY_RESOURCE_TYPE`` and you must not set it for any other ``Pattern`` setting.

    

  
  :type Members: list
  :param Members: 

    The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set ``Pattern`` to ``ARBITRARY`` and you must not set it for any other ``Pattern`` setting.

    

  
    - *(string) --* 

    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`Shield.Client.exceptions.InternalErrorException`

  
  *   :py:class:`Shield.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Shield.Client.exceptions.OptimisticLockException`

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

  