azSqlElasticPool

Use the resource azSqlElasticPool to deploy an Azure SQL Elastic Pool to the relevant subscription.

Attributes

Attribute Type Mandatory Values Default Notes
Name String Yes
ResourceGroupName String Yes
ServerName String Yes
StorageGb Number No Defaults: Basic(5), Standard(100), Premium(250) Only used for DTUModel
DtuModel Object * * Either DtuModel or VCoreModel is mandatory
VCoreModel Object * * Either DtuModel or VCoreModel is mandatory
Diagnostic Object No
Tag Object No
Lock Object No

DtuModel

Attribute Type Mandatory Values Default Notes
Edition String * Basic, Standard, Premium * Either DtuModel or VCoreModel is mandatory
Dtu Number Defaults: Basic(50), Standard(100), Premium(125)
DatabaseDtuMin Number 0
DatabaseDtuMax Number Defaults: Basic(5), Standard(100), Premium(125)

VCoreModel

Attribute Type Mandatory Values Default Notes
Edition String * GeneralPurpose * Either DtuModel or VCoreModel is mandatory
BusinessCritical
Hyperscale
VCore Number Yes
ComputeGeneration String No Gen5 (D), FSv2, DC, M Gen5
DatabaseVCoreMin Number No
DatabaseVCoreMax Number No
HighAvailabilityReplicaCount Number No Only for Hyperscale edition
LicenseType String No BasePrice, LicenseIncluded (D)
ZoneRedundant Boolean No False

Diagnostic

Attribute Type Mandatory Values Default Notes
Name String Yes
Metric Object No
Target Object No

Diagnostic Metric

Attribute Type Mandatory Values Default Notes
Enabled Boolean No * Defaults to true if Category is not null
Category Array No Basic All
InstanceAndAppAdvanced

Input by YAML

Object model for YAML deployment:

---
azSqlElasticPool:
    # Mandatory
  - Name: 'string'
    ResourceGroupName: 'string'
    ServerName: 'string'
    DtuModel: 
      # Mandatory
      Edition: 'string'                           # Basic, Standard, Premium
      # Optional
      Dtu: number                                 # Defaults Basic(50), Standard(100), Premium(125)
      DatabaseDtuMin: number                      # 0 (D)
      DatabaseDtuMax: number                      # Defaults Basic(5), Standard(100), Premium(125)
    VCoreModel: 
      # Mandatory
      Edition: 'string'                           # GeneralPurpose, BusinessCritical, Hyperscale
      VCore: number
      ComputeGeneration: 'string'                 # Gen5, FSv2, DC, M
      # Optional
      DatabaseVCoreMin: number
      DatabaseVCoreMax: number
      HighAvailabilityReplicaCount: number        # Only for Hyperscale edition
      LicenseType: 'string'                       # BasePrice, LicenseIncluded
      ZoneRedundant: boolean                      # True, False (D)
    # Optional
    StorageGb: number

    Tag: 
      'keyvalue-pairs'

    Lock:
      - Name: 'string'
        Level: 'string'                           # CanNotDelete, ReadOnly
        Notes: 'string'

    Diagnostic:
      - Name: 'string'
        Metric:
          Enabled: boolean                        # True (D if MetricCategory not null), False
          Category: [array]                       # Defaults to all if enabled
        Target:
          Blob:
            StorageAccount: 'string'
            StorageKeyType: 'string'              # Primary, Secondary
            RetentionInDays: number
            ResourceGroupName: 'string'           # Defaults to RG of resource
            SubscriptionName: 'string'            # Defaults to subscription of resource
          EventHub:
            Name: 'string'
            Namespace: 'string'
            SharedAccessPolicy: 'string'          # RootManageSharedAccessKey (D)
            ResourceGroupName: 'string'           # Defaults to RG of resource
            SubscriptionName: 'string'            # Defaults to subscription of resource
          LogAnalytics:
            Workspace: 'string'
            ResourceGroupName: 'string'           # Defaults to RG of resource
            SubscriptionName: 'string'            # Defaults to subscription of resource



Input by JSON

Object model for JSON deployment:

{
  "azSqlElasticPool": [
    {
      "Name": "string",
      "ResourceGroupName": "string",
      "ServerName": "string",
      "DtuModel": {
        "Edition": "string",
        "Dtu": number,
        "DatabaseDtuMin": number,
        "DatabaseDtuMax": number
      },
      "VCoreModel": {
        "Edition": "string",
        "VCore": number,
        "ComputeGeneration": "string",
        "DatabaseVCoreMin": number,
        "DatabaseVCoreMax": number,
        "HighAvailabilityReplicaCount": number,
        "LicenseType": "string"
      },
      "StorageMb": number,
      "ZoneRedundant": boolean,
      "Tag": {
        "key": "value"
      },
      "Lock": [
        {
          "Name": "string",
          "Level": "string",
          "Notes": "string"
        }
      ],
      "Diagnostic": [
        {
          "Name": "string",
          "Metric": {
            "Enabled": boolean,
            "Category": [array]
          },
          "Target": {
            "Blob": {
              "StorageAccount": "string",
              "StorageKeyType": "string",
              "RetentionInDays": number,
              "ResourceGroupName": "string",
              "SubscriptionName": "string"
            },
            "EventHub": {
              "Name": "string",
              "Namespace": "string",
              "SharedAccessPolicy": "string",
              "ResourceGroupName": "string",
              "SubscriptionName": "string"
            },
            "LogAnalytics": {
              "Workspace": "string",
              "ResourceGroupName": "string",
              "SubscriptionName": "string"
            }
          }
        }
      ]
    }
  ]
}