:doc:`APIGateway <../../apigateway>` / Client / update_request_validator

************************
update_request_validator
************************



.. py:method:: APIGateway.Client.update_request_validator(**kwargs)

  

  Updates a RequestValidator of a given RestApi.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/UpdateRequestValidator>`_  


  **Request Syntax**
  ::

    response = client.update_request_validator(
        restApiId='string',
        requestValidatorId='string',
        patchOperations=[
            {
                'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
                'path': 'string',
                'value': 'string',
                'from': 'string'
            },
        ]
    )
    
  :type restApiId: string
  :param restApiId: **[REQUIRED]** 

    The string identifier of the associated RestApi.

    

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

    The identifier of RequestValidator to be updated.

    

  
  :type patchOperations: list
  :param patchOperations: 

    For more information about supported patch operations, see `Patch Operations <https://docs.aws.amazon.com/apigateway/latest/api/patch-operations.html>`__.

    

  
    - *(dict) --* 

      For more information about supported patch operations, see `Patch Operations <https://docs.aws.amazon.com/apigateway/latest/api/patch-operations.html>`__.

      

    
      - **op** *(string) --* 

        An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message..

        

      
      - **path** *(string) --* 

        The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

        

      
      - **value** *(string) --* 

        The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'.

        

      
      - **from** *(string) --* 

        The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

        

      
    

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

    
    ::

      {
          'id': 'string',
          'name': 'string',
          'validateRequestBody': True|False,
          'validateRequestParameters': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 

      A set of validation rules for incoming Method requests.

      
      

      - **id** *(string) --* 

        The identifier of this RequestValidator.

        
      

      - **name** *(string) --* 

        The name of this RequestValidator

        
      

      - **validateRequestBody** *(boolean) --* 

        A Boolean flag to indicate whether to validate a request body according to the configured Model schema.

        
      

      - **validateRequestParameters** *(boolean) --* 

        A Boolean flag to indicate whether to validate request parameters ( ``true``) or not ( ``false``).

        
  
  **Exceptions**
  
  *   :py:class:`APIGateway.Client.exceptions.BadRequestException`

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

  
  *   :py:class:`APIGateway.Client.exceptions.LimitExceededException`

  
  *   :py:class:`APIGateway.Client.exceptions.NotFoundException`

  
  *   :py:class:`APIGateway.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`APIGateway.Client.exceptions.TooManyRequestsException`

  