:doc:`WAF <../../waf>` / Client / delete_byte_match_set

*********************
delete_byte_match_set
*********************



.. py:method:: WAF.Client.delete_byte_match_set(**kwargs)

  

  .. note::

    

    This is **AWS WAF Classic** documentation. For more information, see `AWS WAF Classic <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html>`__ in the developer guide.

     

    **For the latest version of AWS WAF**, use the AWS WAFV2 API and see the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`__. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    

   

  Permanently deletes a  ByteMatchSet. You can't delete a ``ByteMatchSet`` if it's still used in any ``Rules`` or if it still includes any  ByteMatchTuple objects (any filters).

   

  If you just want to remove a ``ByteMatchSet`` from a ``Rule``, use  UpdateRule.

   

  To permanently delete a ``ByteMatchSet``, perform the following steps:

   

   
  * Update the ``ByteMatchSet`` to remove filters, if any. For more information, see  UpdateByteMatchSet.
   
  * Use  GetChangeToken to get the change token that you provide in the ``ChangeToken`` parameter of a ``DeleteByteMatchSet`` request.
   
  * Submit a ``DeleteByteMatchSet`` request.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteByteMatchSet>`_  


  **Request Syntax**
  ::

    response = client.delete_byte_match_set(
        ByteMatchSetId='string',
        ChangeToken='string'
    )
    
  :type ByteMatchSetId: string
  :param ByteMatchSetId: **[REQUIRED]** 

    The ``ByteMatchSetId`` of the  ByteMatchSet that you want to delete. ``ByteMatchSetId`` is returned by  CreateByteMatchSet and by  ListByteMatchSets.

    

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

    The value returned by the most recent call to  GetChangeToken.

    

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

    
    ::

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

    

    - *(dict) --* 
      

      - **ChangeToken** *(string) --* 

        The ``ChangeToken`` that you used to submit the ``DeleteByteMatchSet`` request. You can also use this value to query the status of the request. For more information, see  GetChangeTokenStatus.

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

  
  *   :py:class:`WAF.Client.exceptions.WAFInvalidAccountException`

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

  
  *   :py:class:`WAF.Client.exceptions.WAFReferencedItemException`

  
  *   :py:class:`WAF.Client.exceptions.WAFStaleDataException`

  
  *   :py:class:`WAF.Client.exceptions.WAFNonEmptyEntityException`

  

  **Examples**

  The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.
  ::

    response = client.delete_byte_match_set(
        ByteMatchSetId='exampleIDs3t-46da-4fdb-b8d5-abc321j569j5',
        ChangeToken='abcd12f2-46da-4fdb-b8d5-fbd4c466928f',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ChangeToken': 'abcd12f2-46da-4fdb-b8d5-fbd4c466928f',
        'ResponseMetadata': {
            '...': '...',
        },
    }

  