'Deletes an existing rule.
topic_name:
Name of the topic.
subscription_name:
Name of the subscription.
rule_name:
Name of the rule to delete.  DEFAULT_RULE_NAME=$Default.
Use DEFAULT_RULE_NAME to delete default rule for the subscription.
fail_not_exist:
Specify whether throw exception when rule doesn\'t exist.'

def delete_rule(self, topic_name, subscription_name, rule_name, fail_not_exist=False):

    _validate_not_none('topic_name', topic_name)
    _validate_not_none('subscription_name', subscription_name)
    _validate_not_none('rule_name', rule_name)
    request = HTTPRequest()
    request.method = 'DELETE'
    request.host = self._get_host()
    request.path = (((((('/' + _str(topic_name)) + '/subscriptions/') + _str(subscription_name)) + '/rules/') + _str(rule_name)) + '')
    (request.path, request.query) = self._httpclient._update_request_uri_query(request)
    request.headers = self._update_service_bus_header(request)
    if (not fail_not_exist):
        try:
            self._perform_request(request)
            return True
        except AzureHttpError as ex:
            _dont_fail_not_exist(ex)
            return False
    else:
        self._perform_request(request)
        return True
