Microsoft. Sql instancePools 2018-06-01-preview

Definice zdroje Bicep

Typ prostředku InstancePools je možné nasadit s operacemi, které cílí:

Seznam změněných vlastností v jednotlivých verzích rozhraní API najdete v protokolu změn.

Formát prostředku

Vytvořit Microsoft. Zdroj Sql/instancePools, přidejte následující Bicep do své šablony.

resource symbolicname 'Microsoft.Sql/instancePools@2018-06-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'
  }
}

Hodnoty vlastností

Microsoft. Sql/instancePools

Name Description Value
poloha Umístění prostředku string (povinné)
name Název prostředku string (povinné)
properties Vlastnosti prostředku. InstancePoolProperties
sku Název a úroveň skladové položky. Sku
tags Štítky prostředků Slovník názvů a hodnot značek Viz Značky v šablonách

InstancePoolProperties

Name Description Value
licenseType Typ licence. Možné hodnoty jsou LicenseIncluded (cena za licenci SQL je zahrnutá) a BasePrice (bez licenční ceny SQL). 'BasePrice'
"LicenseIncluded" (povinné)
subnetId ID prostředku podsítě pro umístění tohoto fondu instancí do. string (povinné)
vCores Počet virtuálních jader patřících do tohoto fondu instancí int (povinné)

Sku

Name Description Value
kapacita Kapacita konkrétní skladové položky. int
family Pokud má služba různé generace hardwaru, pro stejnou skladovou položku, můžete ji zde zachytit. řetězec
name Název skladové položky, obvykle písmeno + číslo, např. P3. string (povinné)
size Velikost konkrétní skladové položky řetězec
přesunout do jiné vrstvy Úroveň nebo edice konkrétní skladové položky, např. Basic, Premium. řetězec

TrackedResourceTags

Name Description Value

Příklady použití

Vzorky Bicepsu

Základní příklad nasazení fondů instancí SQL.

param resourceName string = 'acctest0001'

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

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

resource networkSecurityGroup 'Microsoft.Network/networkSecurityGroups@2023-04-01' = {
  name: resourceName
  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
  properties: {
    disableBgpRoutePropagation: false
  }
}

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

Azure Verified Modules

Následující Azure ověřené moduly lze použít k nasazení tohoto typu zdroje.

Module Description
SQL Instance Pool Modul zdrojů AVM pro fond instancí SQL

Definice prostředku šablony ARM

Typ prostředku InstancePools je možné nasadit s operacemi, které cílí:

Seznam změněných vlastností v jednotlivých verzích rozhraní API najdete v protokolu změn.

Formát prostředku

Vytvořit Microsoft. Zdroj pro SQL/instancePools, přidejte do šablony následující JSON.

{
  "type": "Microsoft.Sql/instancePools",
  "apiVersion": "2018-06-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"
  }
}

Hodnoty vlastností

Microsoft. Sql/instancePools

Name Description Value
apiVersion Verze rozhraní API '2018-06-01-preview'
poloha Umístění prostředku string (povinné)
name Název prostředku string (povinné)
properties Vlastnosti prostředku. InstancePoolProperties
sku Název a úroveň skladové položky. Sku
tags Štítky prostředků Slovník názvů a hodnot značek Viz Značky v šablonách
typ Typ prostředku 'Microsoft. Sql/instancePools'

InstancePoolProperties

Name Description Value
licenseType Typ licence. Možné hodnoty jsou LicenseIncluded (cena za licenci SQL je zahrnutá) a BasePrice (bez licenční ceny SQL). 'BasePrice'
"LicenseIncluded" (povinné)
subnetId ID prostředku podsítě pro umístění tohoto fondu instancí do. string (povinné)
vCores Počet virtuálních jader patřících do tohoto fondu instancí int (povinné)

Sku

Name Description Value
kapacita Kapacita konkrétní skladové položky. int
family Pokud má služba různé generace hardwaru, pro stejnou skladovou položku, můžete ji zde zachytit. řetězec
name Název skladové položky, obvykle písmeno + číslo, např. P3. string (povinné)
size Velikost konkrétní skladové položky řetězec
přesunout do jiné vrstvy Úroveň nebo edice konkrétní skladové položky, např. Basic, Premium. řetězec

TrackedResourceTags

Name Description Value

Příklady použití

Definice prostředku Terraformu (poskytovatel AzAPI)

Typ prostředku InstancePools je možné nasadit s operacemi, které cílí:

  • skupiny prostředků

Seznam změněných vlastností v jednotlivých verzích rozhraní API najdete v protokolu změn.

Formát prostředku

Vytvořit Microsoft. Zdroj Sql/instancePools, přidejte následující Terraform do své šablony.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/instancePools@2018-06-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"
    }
  }
}

Hodnoty vlastností

Microsoft. Sql/instancePools

Name Description Value
poloha Umístění prostředku string (povinné)
name Název prostředku string (povinné)
properties Vlastnosti prostředku. InstancePoolProperties
sku Název a úroveň skladové položky. Sku
tags Štítky prostředků Slovník názvů a hodnot značek
typ Typ prostředku "Microsoft. Sql/instancePools@2018-06-01-preview"

InstancePoolProperties

Name Description Value
licenseType Typ licence. Možné hodnoty jsou LicenseIncluded (cena za licenci SQL je zahrnutá) a BasePrice (bez licenční ceny SQL). 'BasePrice'
"LicenseIncluded" (povinné)
subnetId ID prostředku podsítě pro umístění tohoto fondu instancí do. string (povinné)
vCores Počet virtuálních jader patřících do tohoto fondu instancí int (povinné)

Sku

Name Description Value
kapacita Kapacita konkrétní skladové položky. int
family Pokud má služba různé generace hardwaru, pro stejnou skladovou položku, můžete ji zde zachytit. řetězec
name Název skladové položky, obvykle písmeno + číslo, např. P3. string (povinné)
size Velikost konkrétní skladové položky řetězec
přesunout do jiné vrstvy Úroveň nebo edice konkrétní skladové položky, např. Basic, Premium. řetězec

TrackedResourceTags

Name Description Value

Příklady použití

Ukázky Terraformu

Základní příklad nasazení fondů instancí SQL.

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"
  }
}