:doc:`Route53Resolver <../../route53resolver>` / Client / update_firewall_domains

***********************
update_firewall_domains
***********************



.. py:method:: Route53Resolver.Client.update_firewall_domains(**kwargs)

  

  Updates the firewall domain list from an array of domain specifications.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomains>`_  


  **Request Syntax**
  ::

    response = client.update_firewall_domains(
        FirewallDomainListId='string',
        Operation='ADD'|'REMOVE'|'REPLACE',
        Domains=[
            'string',
        ]
    )
    
  :type FirewallDomainListId: string
  :param FirewallDomainListId: **[REQUIRED]** 

    The ID of the domain list whose domains you want to update.

    

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

    What you want DNS Firewall to do with the domains that you are providing:

     

    
    * ``ADD`` - Add the domains to the ones that are already in the domain list.
     
    * ``REMOVE`` - Search the domain list for the domains and remove them from the list.
     
    * ``REPLACE`` - Update the domain list to exactly match the list that you are providing.
    

    

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

    A list of domains to use in the update operation.

     

    .. warning::

       

      There is a limit of 1000 domains per request.

       

     

    Each domain specification in your domain list must satisfy the following requirements:

     

    
    * It can optionally start with ``*`` (asterisk).
     
    * With the exception of the optional starting asterisk, it must only contain the following characters: ``A-Z``, ``a-z``, ``0-9``, ``-`` (hyphen).
     
    * It must be from 1-255 characters in length.
    

    

  
    - *(string) --* 

    

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

    
    ::

      {
          'Id': 'string',
          'Name': 'string',
          'Status': 'COMPLETE'|'COMPLETE_IMPORT_FAILED'|'IMPORTING'|'DELETING'|'UPDATING',
          'StatusMessage': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Id** *(string) --* 

        The ID of the firewall domain list that DNS Firewall just updated.

        
      

      - **Name** *(string) --* 

        The name of the domain list.

        
      

      - **Status** *(string) --* 

        Status of the ``UpdateFirewallDomains`` request.

        
      

      - **StatusMessage** *(string) --* 

        Additional information about the status of the list, if available.

        
  
  **Exceptions**
  
  *   :py:class:`Route53Resolver.Client.exceptions.ValidationException`

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

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

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

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

  
  *   :py:class:`Route53Resolver.Client.exceptions.InternalServiceErrorException`

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

  