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

********************
delete_resolver_rule
********************



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

  

  Deletes a Resolver rule. Before you can delete a Resolver rule, you must disassociate it from all the VPCs that you associated the Resolver rule with. For more information, see `DisassociateResolverRule <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html>`__.

  

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


  **Request Syntax**
  ::

    response = client.delete_resolver_rule(
        ResolverRuleId='string'
    )
    
  :type ResolverRuleId: string
  :param ResolverRuleId: **[REQUIRED]** 

    The ID of the Resolver rule that you want to delete.

    

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

    
    ::

      {
          'ResolverRule': {
              'Id': 'string',
              'CreatorRequestId': 'string',
              'Arn': 'string',
              'DomainName': 'string',
              'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
              'StatusMessage': 'string',
              'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE'|'DELEGATE',
              'Name': 'string',
              'TargetIps': [
                  {
                      'Ip': 'string',
                      'Port': 123,
                      'Ipv6': 'string',
                      'Protocol': 'DoH'|'Do53'|'DoH-FIPS',
                      'ServerNameIndication': 'string'
                  },
              ],
              'ResolverEndpointId': 'string',
              'OwnerId': 'string',
              'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
              'CreationTime': 'string',
              'ModificationTime': 'string',
              'DelegationRecord': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ResolverRule** *(dict) --* 

        Information about the ``DeleteResolverRule`` request, including the status of the request.

        
        

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

          The ID that Resolver assigned to the Resolver rule when you created it.

          
        

        - **CreatorRequestId** *(string) --* 

          A unique string that you specified when you created the Resolver rule. ``CreatorRequestId`` identifies the request and allows failed requests to be retried without the risk of running the operation twice.

          
        

        - **Arn** *(string) --* 

          The ARN (Amazon Resource Name) for the Resolver rule specified by ``Id``.

          
        

        - **DomainName** *(string) --* 

          DNS queries for this domain name are forwarded to the IP addresses that are specified in ``TargetIps``. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

          
        

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

          A code that specifies the current status of the Resolver rule.

          
        

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

          A detailed description of the status of a Resolver rule.

          
        

        - **RuleType** *(string) --* 

          When you want to forward DNS queries for specified domain name to resolvers on your network, specify ``FORWARD`` or ``DELEGATE``. If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).

           

          When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify ``SYSTEM``.

           

          For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify ``FORWARD`` for ``RuleType``. To then have Resolver process queries for apex.example.com, you create a rule and specify ``SYSTEM`` for ``RuleType``.

           

          Currently, only Resolver can create rules that have a value of ``RECURSIVE`` for ``RuleType``.

          
        

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

          The name for the Resolver rule, which you specified when you created the Resolver rule.

           

          The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.

          
        

        - **TargetIps** *(list) --* 

          An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.

          
          

          - *(dict) --* 

            In a `CreateResolverRule <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html>`__ request, an array of the IPs that you want to forward DNS queries to.

            
            

            - **Ip** *(string) --* 

              One IPv4 address that you want to forward DNS queries to.

              
            

            - **Port** *(integer) --* 

              The port at ``Ip`` that you want to forward DNS queries to.

              
            

            - **Ipv6** *(string) --* 

              One IPv6 address that you want to forward DNS queries to.

              
            

            - **Protocol** *(string) --* 

              The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.

              
            

            - **ServerNameIndication** *(string) --* 

              The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the ``TargetAddress`` is ``DoH``.

              
        
      
        

        - **ResolverEndpointId** *(string) --* 

          The ID of the endpoint that the rule is associated with.

          
        

        - **OwnerId** *(string) --* 

          When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

          
        

        - **ShareStatus** *(string) --* 

          Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

          
        

        - **CreationTime** *(string) --* 

          The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

          
        

        - **ModificationTime** *(string) --* 

          The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

          
        

        - **DelegationRecord** *(string) --* 

          DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.

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

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

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

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

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

  