Microsoft. SQL instancePools 2022-08-01-preview

Bicep kaynak tanımı

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

  • kaynak grupları - Bkz. kaynak grubu dağıtım komutları

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.

Module Description
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@2022-08-01-preview' = {
  location: 'string'
  name: 'string'
  properties: {
    licenseType: '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

Name Description Value
location Kaynak konumu. dize (gerekli)
name 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

Name Description Value
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)
subnetId 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

Name Description Value
capacity Belirli bir SKU'nun kapasitesi. int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. string
name SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
size Belirli SKU'nun boyutu string
tier Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. string

TrackedResourceTags

Name Description Value

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": "2022-08-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "licenseType": "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

Name Description Value
apiVersion API sürümü '2022-08-01-preview'
location Kaynak konumu. dize (gerekli)
name 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
type Kaynak türü 'Microsoft. Sql/instancePools'

InstancePoolProperties

Name Description Value
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)
subnetId 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

Name Description Value
capacity Belirli bir SKU'nun kapasitesi. int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. string
name SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
size Belirli SKU'nun boyutu string
tier Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. string

TrackedResourceTags

Name Description Value

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@2022-08-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      licenseType = "string"
      subnetId = "string"
      vCores = int
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Özellik Değerleri

Microsoft. Sql/instancePools

Name Description Value
location Kaynak konumu. dize (gerekli)
name 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üğü.
type Kaynak türü "Microsoft. Sql/instancePools@2022-08-01-önizleme"

InstancePoolProperties

Name Description Value
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)
subnetId 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

Name Description Value
capacity Belirli bir SKU'nun kapasitesi. int
family Hizmetin aynı SKU için farklı donanım nesilleri varsa, bu burada yakalanabilir. string
name SKU adı, genellikle bir harf + Sayı kodu, örneğin P3. dize (gerekli)
size Belirli SKU'nun boyutu string
tier Temel, Premium gibi belirli bir SKU'nun katmanı veya sürümü. string

TrackedResourceTags

Name Description Value