Microsoft. SQL instancePools 2025-02-01-preview

Bicep kaynak tanımı

instancePools kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

Her API sürümünde değiştirilen özelliklerin listesi için bkz. değişiklik günlüğü.

Kullanım Örnekleri

Bicep Örnekleri

SQL Örnek Havuzlarını dağıtmanın temel bir örneği.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2023-04-01' existing = {
  name: resourceName
  parent: virtualNetwork
}

resource networkSecurityGroup 'Microsoft.Network/networkSecurityGroups@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    securityRules: [
      {
        name: 'allow_tds_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow access to data'
          destinationAddressPrefix: '*'
          destinationPortRange: '1433'
          direction: 'Inbound'
          priority: 1000
          protocol: 'TCP'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_redirect_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow inbound redirect traffic to Managed Instance inside the virtual network'
          destinationAddressPrefix: '*'
          destinationPortRange: '11000-11999'
          direction: 'Inbound'
          priority: 1100
          protocol: 'Tcp'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_geodr_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow inbound geodr traffic inside the virtual network'
          destinationAddressPrefix: '*'
          destinationPortRange: '5022'
          direction: 'Inbound'
          priority: 1200
          protocol: 'Tcp'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'deny_all_inbound'
        properties: {
          access: 'Deny'
          description: 'Deny all other inbound traffic'
          destinationAddressPrefix: '*'
          destinationPortRange: '*'
          direction: 'Inbound'
          priority: 4096
          protocol: '*'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_linkedserver_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound linkedserver traffic inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '1433'
          direction: 'Outbound'
          priority: 1000
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_redirect_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound redirect traffic to Managed Instance inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '11000-11999'
          direction: 'Outbound'
          priority: 1100
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_geodr_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound geodr traffic inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '5022'
          direction: 'Outbound'
          priority: 1200
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'deny_all_outbound'
        properties: {
          access: 'Deny'
          description: 'Deny all other outbound traffic'
          destinationAddressPrefix: '*'
          destinationPortRange: '*'
          direction: 'Outbound'
          priority: 4096
          protocol: '*'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
    ]
  }
}

resource routeTable 'Microsoft.Network/routeTables@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    disableBgpRoutePropagation: false
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Default'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: resourceName
        properties: {
          addressPrefix: '10.0.1.0/24'
          networkSecurityGroup: {
            id: networkSecurityGroup.id
          }
          routeTable: {
            id: routeTable.id
          }
          delegations: [
            {
              name: 'miDelegation'
              properties: {
                serviceName: 'Microsoft.Sql/managedInstances'
              }
            }
          ]
        }
      }
    ]
  }
}

resource instancePool 'Microsoft.Sql/instancePools@2022-05-01-preview' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  sku: {
    family: 'Gen5'
    name: 'GP_Gen5'
    tier: 'GeneralPurpose'
  }
  properties: {
    licenseType: 'LicenseIncluded'
    subnetId: subnet.id
    vCores: 8
  }
}

Azure Doğrulanmış Modülleri

Aşağıdaki Azure Doğrulanmış Modüller bu kaynak türünü dağıtmak için kullanılabilir.

Modül Açıklama
SQL Instance Pool SQL Örnek Havuzu için AVM Kaynak Modülü

Kaynak biçimi

Bir Microsoft yaratmak için. Sql/instancePools kaynağı için aşağıdaki Bicep'i şablonunuza ekleyin.

resource symbolicname 'Microsoft.Sql/instancePools@2025-02-01-preview' = {
  location: 'string'
  name: 'string'
  properties: {
    licenseType: 'string'
    maintenanceConfigurationId: 'string'
    subnetId: 'string'
    vCores: int
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Özellik Değerleri

Microsoft. Sql/instancePools

İsim Açıklama Değer
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
isim Kaynak adı dize (gerekli)
properties Kaynak özellikleri. InstancePoolProperties
sku SKU'nun adı ve katmanı. Sku
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri

InstancePoolProperties

İsim Açıklama Değer
licenseType Lisans türü. Olası değerler şunlardır: 'LicenseIncluded' (SQL lisansı için fiyat dahildir) ve 'BasePrice' (SQL lisans fiyatı olmadan). 'BasePrice'
'LicenseIncluded' (gerekli)
maintenanceConfigurationId Bu yönetilen örneğe uygulanacak bakım yapılandırma kimliğini belirtir. dize
subnetId (Alt Ağ Kimliği) Bu örnek havuzunu yerleştirecek alt ağın kaynak kimliği. dize (gerekli)
vCores Bu örnek havuzuna ait sanal çekirdek sayısı. int (gerekli)

Sku

İsim Açıklama Değer
capacity Belirli bir SKU'nun kapasitesi. Int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. dize
isim SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
boyut Belirli SKU'nun boyutu dize
seviye Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. dize

TrackedResourceTags

İsim Açıklama Değer

ARM şablonu kaynak tanımı

instancePools kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

Kullanım Örnekleri

Kaynak biçimi

Bir Microsoft yaratmak için. Sql/instancePools kaynağı için aşağıdaki JSON'u şablonunuza ekleyin.

{
  "type": "Microsoft.Sql/instancePools",
  "apiVersion": "2025-02-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "licenseType": "string",
    "maintenanceConfigurationId": "string",
    "subnetId": "string",
    "vCores": "int"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Özellik Değerleri

Microsoft. Sql/instancePools

İsim Açıklama Değer
apiVersion API sürümü '2025-02-01-önizleme'
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
isim Kaynak adı dize (gerekli)
properties Kaynak özellikleri. InstancePoolProperties
sku SKU'nun adı ve katmanı. Sku
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri
türü Kaynak türü 'Microsoft. Sql/instancePools'

InstancePoolProperties

İsim Açıklama Değer
licenseType Lisans türü. Olası değerler şunlardır: 'LicenseIncluded' (SQL lisansı için fiyat dahildir) ve 'BasePrice' (SQL lisans fiyatı olmadan). 'BasePrice'
'LicenseIncluded' (gerekli)
maintenanceConfigurationId Bu yönetilen örneğe uygulanacak bakım yapılandırma kimliğini belirtir. dize
subnetId (Alt Ağ Kimliği) Bu örnek havuzunu yerleştirecek alt ağın kaynak kimliği. dize (gerekli)
vCores Bu örnek havuzuna ait sanal çekirdek sayısı. int (gerekli)

Sku

İsim Açıklama Değer
capacity Belirli bir SKU'nun kapasitesi. Int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. dize
isim SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
boyut Belirli SKU'nun boyutu dize
seviye Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. dize

TrackedResourceTags

İsim Açıklama Değer

Terraform (AzAPI sağlayıcısı) kaynak tanımı

instancePools kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

Kullanım Örnekleri

Terraform Örnekleri

SQL Örnek Havuzlarını dağıtmanın temel bir örneği.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2022-09-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "networkSecurityGroup" {
  type      = "Microsoft.Network/networkSecurityGroups@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      securityRules = [
        {
          name = "allow_tds_inbound"
          properties = {
            description              = "Allow access to data"
            protocol                 = "TCP"
            sourcePortRange          = "*"
            destinationPortRange     = "1433"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1000
            direction                = "Inbound"
          }
        },
        {
          name = "allow_redirect_inbound"
          properties = {
            description              = "Allow inbound redirect traffic to Managed Instance inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "11000-11999"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1100
            direction                = "Inbound"
          }
        },
        {
          name = "allow_geodr_inbound"
          properties = {
            description              = "Allow inbound geodr traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "5022"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1200
            direction                = "Inbound"
          }
        },
        {
          name = "deny_all_inbound"
          properties = {
            description              = "Deny all other inbound traffic"
            protocol                 = "*"
            sourcePortRange          = "*"
            destinationPortRange     = "*"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "*"
            access                   = "Deny"
            priority                 = 4096
            direction                = "Inbound"
          }
        },
        {
          name = "allow_linkedserver_outbound"
          properties = {
            description              = "Allow outbound linkedserver traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "1433"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1000
            direction                = "Outbound"
          }
        },
        {
          name = "allow_redirect_outbound"
          properties = {
            description              = "Allow outbound redirect traffic to Managed Instance inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "11000-11999"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1100
            direction                = "Outbound"
          }
        },
        {
          name = "allow_geodr_outbound"
          properties = {
            description              = "Allow outbound geodr traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "5022"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1200
            direction                = "Outbound"
          }
        },
        {
          name = "deny_all_outbound"
          properties = {
            description              = "Deny all other outbound traffic"
            protocol                 = "*"
            sourcePortRange          = "*"
            destinationPortRange     = "*"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "*"
            access                   = "Deny"
            priority                 = 4096
            direction                = "Outbound"
          }
        }
      ]
    }
  }
}

resource "azapi_resource" "routeTable" {
  type      = "Microsoft.Network/routeTables@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      disableBgpRoutePropagation = false
    }
  }
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = ["10.0.0.0/16"]
      }
      subnets = [
        {
          name = "Default"
          properties = {
            addressPrefix = "10.0.0.0/24"
          }
        },
        {
          name = var.resource_name
          properties = {
            addressPrefix = "10.0.1.0/24"
            networkSecurityGroup = {
              id = azapi_resource.networkSecurityGroup.id
            }
            routeTable = {
              id = azapi_resource.routeTable.id
            }
            delegations = [
              {
                name = "miDelegation"
                properties = {
                  serviceName = "Microsoft.Sql/managedInstances"
                }
              }
            ]
          }
        }
      ]
    }
  }
}

data "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2023-04-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = var.resource_name
}


resource "azapi_resource" "instancePool" {
  type      = "Microsoft.Sql/instancePools@2022-05-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      licenseType = "LicenseIncluded"
      subnetId    = data.azapi_resource.subnet.id
      vCores      = 8
    }
    sku = {
      family = "Gen5"
      name   = "GP_Gen5"
      tier   = "GeneralPurpose"
    }
  }

  timeouts {
    create = "300m"
    update = "300m"
    delete = "300m"
  }
}

Kaynak biçimi

Bir Microsoft yaratmak için. Sql/instancePools kaynağı için aşağıdaki Terraform'u şablonunuza ekleyin.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/instancePools@2025-02-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      licenseType = "string"
      maintenanceConfigurationId = "string"
      subnetId = "string"
      vCores = int
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Özellik Değerleri

Microsoft. Sql/instancePools

İsim Açıklama Değer
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
isim Kaynak adı dize (gerekli)
properties Kaynak özellikleri. InstancePoolProperties
sku SKU'nun adı ve katmanı. Sku
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü.
türü Kaynak türü "Microsoft. Sql/instancePools@2025-02-01-önizleme"

InstancePoolProperties

İsim Açıklama Değer
licenseType Lisans türü. Olası değerler şunlardır: 'LicenseIncluded' (SQL lisansı için fiyat dahildir) ve 'BasePrice' (SQL lisans fiyatı olmadan). 'BasePrice'
'LicenseIncluded' (gerekli)
maintenanceConfigurationId Bu yönetilen örneğe uygulanacak bakım yapılandırma kimliğini belirtir. dize
subnetId (Alt Ağ Kimliği) Bu örnek havuzunu yerleştirecek alt ağın kaynak kimliği. dize (gerekli)
vCores Bu örnek havuzuna ait sanal çekirdek sayısı. int (gerekli)

Sku

İsim Açıklama Değer
capacity Belirli bir SKU'nun kapasitesi. Int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. dize
isim SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
boyut Belirli SKU'nun boyutu dize
seviye Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. dize

TrackedResourceTags

İsim Açıklama Değer