{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-sql-database/json-schema/microsoft-azure-sql-database-firewall-rule-schema.json",
  "title": "FirewallRule",
  "description": "A server firewall rule.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-sql-database-firewall-rules-api-openapi.yml#/components/schemas/FirewallRule",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/ServerFirewallRuleProperties"
    }
  },
  "allOf": [
    {
      "type": "object",
      "description": "ARM proxy resource.",
      "allOf": [
        {
          "type": "object",
          "description": "ARM resource.",
          "properties": {
            "id": {
              "type": "string",
              "description": "Resource ID.",
              "readOnly": true
            },
            "name": {
              "type": "string",
              "description": "Resource name."
            },
            "type": {
              "type": "string",
              "description": "Resource type.",
              "readOnly": true
            }
          }
        }
      ]
    }
  ],
  "$defs": {
    "ServerFirewallRuleProperties": {
      "type": "object",
      "description": "The properties of a server firewall rule.",
      "properties": {
        "startIpAddress": {
          "type": "string",
          "description": "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses."
        },
        "endIpAddress": {
          "type": "string",
          "description": "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses."
        }
      }
    }
  }
}