code: def delete_rule(self, rule_name):
          
          logger.debug('Deleting existing rule {}'.format(rule_name))
  
          # All targets must be removed before
          # we can actually delete the rule.
          try:
              targets = self.events_client.list_targets_by_rule(Rule=rule_name)
          except botocore.exceptions.ClientError as e:
              # This avoids misbehavior if low permissions, related: https://github.com/Miserlou/Zappa/issues/286
              error_code = e.response['Error']['Code']
              if error_code == 'AccessDeniedException':
                  raise
              else:
                  logger.debug('No target found for this rule: {} {}'.format(rule_name, e.args[0]))
                  return
  
          if 'Targets' in targets and targets['Targets']:
              self.events_client.remove_targets(Rule=rule_name, Ids=[x['Id'] for x in targets['Targets']])
          else:  # pragma: no cover
              logger.debug('No target to delete')
  
          # Delete our rule.
          self.events_client.delete_rule(Name=rule_name)
docs: Delete a CWE rule.
  
          This  deletes them, but they will still show up in the AWS console.
          Annoying.