Firewall Rules - Create Or Update

Creates or updates a firewall rule.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}?api-version=2021-11-01

URI Parameters

Name In Required Type Description
firewallRuleName
path True

string

The name of the firewall rule.

resourceGroupName
path True

string

The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.

serverName
path True

string

The name of the server.

subscriptionId
path True

string

The subscription ID that identifies an Azure subscription.

api-version
query True

string

The API version to use for the request.

Request Body

Name Type Description
name

string

Resource name.

properties.endIpAddress

string

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.

properties.startIpAddress

string

The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.

Responses

Name Type Description
200 OK

FirewallRule

Successfully updated the firewall rule.

201 Created

FirewallRule

Successfully created the firewall rule.

Other Status Codes

*** Error Responses: ***

  • 400 InvalidResourceId - Invalid resource identifier.

  • 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.

  • 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.

  • 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.

  • 400 InvalidServerFirewallRuleResourceRequest - The server firewall rule resource request is invalid.

  • 400 InvalidServerFirewallRuleResourceParameters - The server firewall rule resource parameter is invalid.

  • 400 FirewallRuleNotIPv4Address - The provided firewall rule address is not IPv4

  • 400 TooManyFirewallRules - The provided firewall rules are over the limit.

  • 400 FirewallRuleInvalidRange - The specified firewall rule range is invalid.

  • 400 FirewallRuleNameTooLong - The provided firewall rule name is too long

  • 400 FirewallRuleNameEmpty - The provided firewall rule name is empty

  • 400 DenyPublicEndpointEnabled - Unable to create or modify firewall rules when public network interface for the server is disabled. To manage server or database level firewall rules, please enable the public network interface.

  • 404 SubscriptionDoesNotHaveServer - The requested server was not found

  • 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

  • 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

  • 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

  • 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.

Examples

Create a firewall rule max/min
Update a firewall rule max/min

Create a firewall rule max/min

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370?api-version=2021-11-01

{
  "properties": {
    "startIpAddress": "0.0.0.3",
    "endIpAddress": "0.0.0.3"
  }
}

Sample response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370",
  "name": "firewallrulecrudtest-5370",
  "type": "Microsoft.Sql/servers/firewallRules",
  "properties": {
    "startIpAddress": "0.0.0.3",
    "endIpAddress": "0.0.0.3"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370",
  "name": "firewallrulecrudtest-5370",
  "properties": {
    "startIpAddress": "0.0.0.3",
    "endIpAddress": "0.0.0.3"
  }
}

Update a firewall rule max/min

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927?api-version=2021-11-01

{
  "properties": {
    "startIpAddress": "0.0.0.1",
    "endIpAddress": "0.0.0.1"
  }
}

Sample response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927",
  "name": "firewallrulecrudtest-3927",
  "type": "Microsoft.Sql/servers/firewallRules",
  "properties": {
    "startIpAddress": "0.0.0.1",
    "endIpAddress": "0.0.0.1"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927",
  "name": "firewallrulecrudtest-3927",
  "type": "Microsoft.Sql/servers/firewallRules",
  "properties": {
    "startIpAddress": "0.0.0.1",
    "endIpAddress": "0.0.0.1"
  }
}

Definitions

FirewallRule

A server firewall rule.

Name Type Description
id

string

Resource ID.

name

string

Resource name.

properties.endIpAddress

string

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.

properties.startIpAddress

string

The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.

type

string

Resource type.