:doc:`Route53GlobalResolver <../../route53globalresolver>` / Client / batch_update_firewall_rule

**************************
batch_update_firewall_rule
**************************



.. py:method:: Route53GlobalResolver.Client.batch_update_firewall_rule(**kwargs)

  

  Updates multiple DNS firewall rules in a single operation. This is more efficient than updating rules individually.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/route53globalresolver-2022-09-27/BatchUpdateFirewallRule>`_  


  **Request Syntax**
  ::

    response = client.batch_update_firewall_rule(
        firewallRules=[
            {
                'action': 'ALLOW'|'ALERT'|'BLOCK',
                'blockOverrideDnsType': 'CNAME',
                'blockOverrideDomain': 'string',
                'blockOverrideTtl': 123,
                'blockResponse': 'NODATA'|'NXDOMAIN'|'OVERRIDE',
                'confidenceThreshold': 'LOW'|'MEDIUM'|'HIGH',
                'description': 'string',
                'dnsAdvancedProtection': 'DGA'|'DNS_TUNNELING',
                'firewallRuleId': 'string',
                'name': 'string',
                'priority': 123
            },
        ]
    )
    
  :type firewallRules: list
  :param firewallRules: **[REQUIRED]** 

    The DNS Firewall rule IDs to be updated.

    

  
    - *(dict) --* 

      Information for updating a firewall rule in a batch operation.

      

    
      - **action** *(string) --* 

        The action to take when a DNS query matches the firewall rule.

        

      
      - **blockOverrideDnsType** *(string) --* 

        The DNS record type for the custom response when the action is BLOCK.

        

      
      - **blockOverrideDomain** *(string) --* 

        The custom domain name for the BLOCK response.

        

      
      - **blockOverrideTtl** *(integer) --* 

        The TTL value for the custom response when the action is BLOCK.

        

      
      - **blockResponse** *(string) --* 

        The type of block response to return when the action is BLOCK.

        

      
      - **confidenceThreshold** *(string) --* 

        The confidence threshold for advanced threat detection.

        

      
      - **description** *(string) --* 

        A description of the firewall rule.

        

      
      - **dnsAdvancedProtection** *(string) --* 

        Whether to enable advanced DNS threat protection for the firewall rule.

        

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

        The unique identifier of the firewall rule to update.

        

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

        A name for the firewall rule.

        

      
      - **priority** *(integer) --* 

        The priority of the firewall rule.

        

      
    

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

    
    ::

      {
          'failures': [
              {
                  'firewallRule': {
                      'action': 'ALLOW'|'ALERT'|'BLOCK',
                      'blockOverrideDnsType': 'CNAME',
                      'blockOverrideDomain': 'string',
                      'blockOverrideTtl': 123,
                      'blockResponse': 'NODATA'|'NXDOMAIN'|'OVERRIDE',
                      'clientToken': 'string',
                      'confidenceThreshold': 'LOW'|'MEDIUM'|'HIGH',
                      'createdAt': datetime(2015, 1, 1),
                      'description': 'string',
                      'dnsAdvancedProtection': 'DGA'|'DNS_TUNNELING',
                      'firewallDomainListId': 'string',
                      'id': 'string',
                      'name': 'string',
                      'priority': 123,
                      'dnsViewId': 'string',
                      'queryType': 'string',
                      'status': 'CREATING'|'OPERATIONAL'|'UPDATING'|'DELETING',
                      'updatedAt': datetime(2015, 1, 1)
                  },
                  'code': 123,
                  'message': 'string'
              },
          ],
          'successes': [
              {
                  'firewallRule': {
                      'action': 'ALLOW'|'ALERT'|'BLOCK',
                      'blockOverrideDnsType': 'CNAME',
                      'blockOverrideDomain': 'string',
                      'blockOverrideTtl': 123,
                      'blockResponse': 'NODATA'|'NXDOMAIN'|'OVERRIDE',
                      'clientToken': 'string',
                      'confidenceThreshold': 'LOW'|'MEDIUM'|'HIGH',
                      'createdAt': datetime(2015, 1, 1),
                      'description': 'string',
                      'dnsAdvancedProtection': 'DGA'|'DNS_TUNNELING',
                      'firewallDomainListId': 'string',
                      'id': 'string',
                      'name': 'string',
                      'priority': 123,
                      'dnsViewId': 'string',
                      'queryType': 'string',
                      'status': 'CREATING'|'OPERATIONAL'|'UPDATING'|'DELETING',
                      'updatedAt': datetime(2015, 1, 1)
                  },
                  'code': 123,
                  'message': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **failures** *(list) --* 

        High level information about the DNS Firewall rules that failed to update.

        
        

        - *(dict) --* 

          The result of updating a firewall rule in a batch operation.

          
          

          - **firewallRule** *(dict) --* 

            The firewall rule that was updated in the batch operation.

            
            

            - **action** *(string) --* 

              The action configured for the updated firewall rule.

              
            

            - **blockOverrideDnsType** *(string) --* 

              The DNS record type configured for the updated firewall rule's custom response.

              
            

            - **blockOverrideDomain** *(string) --* 

              The custom domain name configured for the updated firewall rule's BLOCK response.

              
            

            - **blockOverrideTtl** *(integer) --* 

              The TTL value configured for the updated firewall rule's custom response.

              
            

            - **blockResponse** *(string) --* 

              The type of block response configured for the updated firewall rule.

              
            

            - **clientToken** *(string) --* 

              The unique string that identified the request and ensured idempotency.

              
            

            - **confidenceThreshold** *(string) --* 

              The confidence threshold configured for the updated firewall rule's advanced threat detection.

              
            

            - **createdAt** *(datetime) --* 

              The date and time when the firewall rule was originally created.

              
            

            - **description** *(string) --* 

              The description of the updated firewall rule.

              
            

            - **dnsAdvancedProtection** *(string) --* 

              Whether advanced DNS threat protection is enabled for the updated firewall rule.

              
            

            - **firewallDomainListId** *(string) --* 

              The ID of the firewall domain list associated with the updated firewall rule.

              
            

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

              The unique identifier of the updated firewall rule.

              
            

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

              The name of the updated firewall rule.

              
            

            - **priority** *(integer) --* 

              The priority of the updated firewall rule.

              
            

            - **dnsViewId** *(string) --* 

              The ID of the DNS view associated with the updated firewall rule.

              
            

            - **queryType** *(string) --* 

              The DNS query type that the updated firewall rule matches.

              
            

            - **status** *(string) --* 

              The current status of the updated firewall rule.

              
            

            - **updatedAt** *(datetime) --* 

              The date and time when the firewall rule was last updated.

              
        
          

          - **code** *(integer) --* 

            The response code for the update operation.

            
          

          - **message** *(string) --* 

            The response message for the update operation.

            
      
    
      

      - **successes** *(list) --* 

        High level information about the DNS Firewall rules that were successfully updated.

        
        

        - *(dict) --* 

          The result of updating a firewall rule in a batch operation.

          
          

          - **firewallRule** *(dict) --* 

            The firewall rule that was updated in the batch operation.

            
            

            - **action** *(string) --* 

              The action configured for the updated firewall rule.

              
            

            - **blockOverrideDnsType** *(string) --* 

              The DNS record type configured for the updated firewall rule's custom response.

              
            

            - **blockOverrideDomain** *(string) --* 

              The custom domain name configured for the updated firewall rule's BLOCK response.

              
            

            - **blockOverrideTtl** *(integer) --* 

              The TTL value configured for the updated firewall rule's custom response.

              
            

            - **blockResponse** *(string) --* 

              The type of block response configured for the updated firewall rule.

              
            

            - **clientToken** *(string) --* 

              The unique string that identified the request and ensured idempotency.

              
            

            - **confidenceThreshold** *(string) --* 

              The confidence threshold configured for the updated firewall rule's advanced threat detection.

              
            

            - **createdAt** *(datetime) --* 

              The date and time when the firewall rule was originally created.

              
            

            - **description** *(string) --* 

              The description of the updated firewall rule.

              
            

            - **dnsAdvancedProtection** *(string) --* 

              Whether advanced DNS threat protection is enabled for the updated firewall rule.

              
            

            - **firewallDomainListId** *(string) --* 

              The ID of the firewall domain list associated with the updated firewall rule.

              
            

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

              The unique identifier of the updated firewall rule.

              
            

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

              The name of the updated firewall rule.

              
            

            - **priority** *(integer) --* 

              The priority of the updated firewall rule.

              
            

            - **dnsViewId** *(string) --* 

              The ID of the DNS view associated with the updated firewall rule.

              
            

            - **queryType** *(string) --* 

              The DNS query type that the updated firewall rule matches.

              
            

            - **status** *(string) --* 

              The current status of the updated firewall rule.

              
            

            - **updatedAt** *(datetime) --* 

              The date and time when the firewall rule was last updated.

              
        
          

          - **code** *(integer) --* 

            The response code for the update operation.

            
          

          - **message** *(string) --* 

            The response message for the update operation.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`Route53GlobalResolver.Client.exceptions.InternalServerException`

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

  
  *   :py:class:`Route53GlobalResolver.Client.exceptions.AccessDeniedException`

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

  