:doc:`WAFV2 <../../wafv2>` / Client / update_regex_pattern_set

************************
update_regex_pattern_set
************************



.. py:method:: WAFV2.Client.update_regex_pattern_set(**kwargs)

  

  Updates the specified  RegexPatternSet.

   

  .. note::

    

    This operation completely replaces the mutable specifications that you already have for the regex pattern set with the ones that you provide to this call.

     

    To modify a regex pattern set, do the following:

     

    
    * Retrieve it by calling  GetRegexPatternSet
     
    * Update its settings as needed
     
    * Provide the complete regex pattern set specification to this call
    

    

   

  **Temporary inconsistencies during updates**

   

  When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

   

  The following are examples of the temporary inconsistencies that you might notice during change propagation:

   

  
  * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
   
  * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
   
  * After you change a rule action setting, you might see the old action in some places and the new action in others.
   
  * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRegexPatternSet>`_  


  **Request Syntax**
  ::

    response = client.update_regex_pattern_set(
        Name='string',
        Scope='CLOUDFRONT'|'REGIONAL',
        Id='string',
        Description='string',
        RegularExpressionList=[
            {
                'RegexString': 'string'
            },
        ],
        LockToken='string'
    )
    
  :type Name: string
  :param Name: **[REQUIRED]** 

    The name of the set. You cannot change the name after you create the set.

    

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

    Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an Amplify application, use ``CLOUDFRONT``.

     

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

     

    
    * CLI - Specify the Region when you use the CloudFront scope: ``--scope=CLOUDFRONT --region=us-east-1``.
     
    * API and SDKs - For all calls, use the Region endpoint us-east-1.
    

    

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

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    

  
  :type Description: string
  :param Description: 

    A description of the set that helps with identification.

    

  
  :type RegularExpressionList: list
  :param RegularExpressionList: **[REQUIRED]** 

  
    - *(dict) --* 

      A single regular expression. This is used in a  RegexPatternSet and also in the configuration for the Amazon Web Services Managed Rules rule group ``AWSManagedRulesAntiDDoSRuleSet``.

      

    
      - **RegexString** *(string) --* 

        The string representing the regular expression.

        

      
    

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

    A token used for optimistic locking. WAF returns a token to your ``get`` and ``list`` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like ``update`` and ``delete``. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a ``WAFOptimisticLockException``. If this happens, perform another ``get``, and use the new token returned by that operation.

    

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

    
    ::

      {
          'NextLockToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **NextLockToken** *(string) --* 

        A token used for optimistic locking. WAF returns this token to your ``update`` requests. You use ``NextLockToken`` in the same manner as you use ``LockToken``.

        
  
  **Exceptions**
  
  *   :py:class:`WAFV2.Client.exceptions.WAFInternalErrorException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFInvalidParameterException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFNonexistentItemException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFDuplicateItemException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFOptimisticLockException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFLimitsExceededException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFInvalidOperationException`

  