Share via


Instance Pools - Create Or Update

Creates or updates an instance pool.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}?api-version=2023-08-01

URI Parameters

Name In Required Type Description
instancePoolName
path True

string

The name of the instance pool to be created or updated.

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.

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 Required Type Description
location True

string

Resource location.

properties.licenseType True

InstancePoolLicenseType

The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).

properties.subnetId True

string

Resource ID of the subnet to place this instance pool in.

properties.vCores True

integer (int32)

Count of vCores belonging to this instance pool.

properties.maintenanceConfigurationId

string (arm-id)

Specifies maintenance configuration id to apply to this managed instance.

sku

Sku

The name and tier of the SKU.

tags

object

Resource tags.

Responses

Name Type Description
200 OK

InstancePool

Successfully updated the instance pool.

201 Created

InstancePool

Successfully created the instance pool.

202 Accepted

Accepted

Headers

Location: string

Other Status Codes

ErrorResponse

*** Error Responses: ***

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

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

  • 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.

  • 400 InvalidResourceId - Invalid resource identifier.

  • 400 InvalidParameterValue - An invalid value was given to a parameter.

  • 400 DeleteOfManagedInstanceIsDisabled - Delete operation of managed instance is disabled.

  • 400 CustomMaintenanceWindowIsDisabled - Custom maintenance window is not enabled.

  • 400 MICantBeMovedFromOrToInstancePool - Existing managed instance can't be moved to managed instance pool.

  • 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.

  • 400 MissingSkuName - Sku name is required.

  • 400 InstancePoolRequestedVcoreCountIsInvalid - Requested vcore count for instance pool is invalid

  • 400 InstancePoolRequestMissingSku - Instance pool request is missing sku

  • 400 InstancePoolRequestMissingSkuTier - Instance pool request is missing sku tier

  • 400 InstancePoolRequestMissingSkuFamily - Instance pool request is missing sku family

  • 400 InstancePoolRequestedSubnetResourceIdIsInvalid - Subnet id for instance pool is null or empty

  • 400 DeploymentIntoPrivateSubnetsNotAllowed - Deploying managed instances and instance pools into private subnets is not supported.

  • 404 OperationIdNotFound - The operation with Id does not exist.

  • 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.

  • 409 InstancePoolBusy - An instance pool is busy with another ongoing operation

  • 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.

  • 409 CannotCancelOperation - The management operation is in a state that cannot be cancelled.

  • 409 OperationCancelled - The operation has been cancelled by user.

  • 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

  • 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.

  • 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

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

Examples

Create an instance pool with all properties.
Create an instance pool with min properties.

Create an instance pool with all properties.

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP?api-version=2023-08-01

{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "location": "japaneast",
  "tags": {
    "a": "b"
  },
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded",
    "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"
  }
}

Sample response

{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded",
    "dnsZone": "1234567890",
    "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"
  },
  "location": "japaneast",
  "tags": {
    "a": "b"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP",
  "name": "testIP",
  "type": "Microsoft.Sql/instancePools"
}
{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded",
    "dnsZone": "1234567890",
    "maintenanceConfigurationId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"
  },
  "location": "japaneast",
  "tags": {
    "a": "b"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP",
  "name": "testIP",
  "type": "Microsoft.Sql/instancePools"
}

Create an instance pool with min properties.

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP?api-version=2023-08-01

{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "location": "japaneast",
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded"
  }
}

Sample response

{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded"
  },
  "location": "japaneast",
  "tags": {},
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP",
  "name": "testIP",
  "type": "Microsoft.Sql/instancePools"
}
{
  "sku": {
    "name": "GP_Gen5",
    "tier": "GeneralPurpose",
    "family": "Gen5"
  },
  "properties": {
    "subnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1",
    "vCores": 8,
    "licenseType": "LicenseIncluded"
  },
  "location": "japaneast",
  "tags": {},
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP",
  "name": "testIP",
  "type": "Microsoft.Sql/instancePools"
}

Definitions

Name Description
ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

InstancePool

An Azure SQL instance pool.

InstancePoolLicenseType

The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).

Sku

An ARM Resource SKU.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

InstancePool

An Azure SQL instance pool.

Name Type Description
id

string

Resource ID.

location

string

Resource location.

name

string

Resource name.

properties.dnsZone

string

The Dns Zone that the managed instance pool is in.

properties.licenseType

InstancePoolLicenseType

The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).

properties.maintenanceConfigurationId

string (arm-id)

Specifies maintenance configuration id to apply to this managed instance.

properties.subnetId

string

Resource ID of the subnet to place this instance pool in.

properties.vCores

integer (int32)

Count of vCores belonging to this instance pool.

sku

Sku

The name and tier of the SKU.

tags

object

Resource tags.

type

string

Resource type.

InstancePoolLicenseType

The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).

Value Description
LicenseIncluded
BasePrice

Sku

An ARM Resource SKU.

Name Type Description
capacity

integer (int32)

Capacity of the particular SKU.

family

string

If the service has different generations of hardware, for the same SKU, then that can be captured here.

name

string

The name of the SKU, typically, a letter + Number code, e.g. P3.

size

string

Size of the particular SKU

tier

string

The tier or edition of the particular SKU, e.g. Basic, Premium.