docs: def create_firewall_rule(protocol, action, profile=None, **kwargs):
      '''
      Creates a new firewall rule
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' neutron.create_firewall_rule protocol action
                  tenant_id=TENANT_ID name=NAME description=DESCRIPTION ip_version=IP_VERSION
                  source_ip_address=SOURCE_IP_ADDRESS destination_ip_address=DESTINATION_IP_ADDRESS source_port=SOURCE_PORT
                  destination_port=DESTINATION_PORT shared=SHARED enabled=ENABLED
  
      :param protocol: Protocol for the firewall rule, choose "tcp","udp","icmp" or "None".
      :param action: Action for the firewall rule, choose "allow" or "deny".
      :param tenant_id: The owner tenant ID. (Optional)
      :param name: Name for the firewall rule. (Optional)
      :param description: Description for the firewall rule. (Optional)
      :param ip_version: IP protocol version, default: 4. (Optional)
      :param source_ip_address: Source IP address or subnet. (Optional)
      :param destination_ip_address: Destination IP address or subnet. (Optional)
      :param source_port: Source port (integer in [1, 65535] or range in a:b). (Optional)
      :param destination_port: Destination port (integer in [1, 65535] or range in a:b). (Optional)
      :param shared: Set shared to True, default: False. (Optional)
      :param enabled: To enable this rule, default: True. (Optional)
      '''
      conn = _auth(profile)
      return conn.create_firewall_rule(protocol, action, **kwargs)