Microsoft.Synapse workspaces/sqlPools/workloadGroups 2021-05-01

Bicep resource definition

The workspaces/sqlPools/workloadGroups resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Usage Examples

Bicep Samples

A basic example of deploying Synapse SQL Pool Workload Group.

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@description('The SQL administrator login for the Synapse workspace')
param sqlAdministratorLogin string
@secure()
@description('The SQL administrator login password for the Synapse workspace')
param sqlAdministratorLoginPassword string

resource blobService 'Microsoft.Storage/storageAccounts/blobServices@2022-09-01' existing = {
  name: 'default'
  parent: storageAccount
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: resourceName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {}
}

resource workspace 'Microsoft.Synapse/workspaces@2021-06-01' = {
  name: resourceName
  location: location
  properties: {
    defaultDataLakeStorage: {
      accountUrl: storageAccount.properties.primaryEndpoints.dfs
      filesystem: container.name
    }
    managedVirtualNetwork: ''
    publicNetworkAccess: 'Enabled'
    sqlAdministratorLogin: sqlAdministratorLogin
    sqlAdministratorLoginPassword: sqlAdministratorLoginPassword
  }
}

resource sqlPool 'Microsoft.Synapse/workspaces/sqlPools@2021-06-01' = {
  name: resourceName
  location: location
  parent: workspace
  sku: {
    name: 'DW100c'
  }
  properties: {
    createMode: 'Default'
  }
}

resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2022-09-01' = {
  name: resourceName
  parent: blobService
  properties: {
    metadata: {
      key: 'value'
    }
  }
}

resource workloadGroup 'Microsoft.Synapse/workspaces/sqlPools/workloadGroups@2021-06-01' = {
  name: resourceName
  parent: sqlPool
  properties: {
    importance: 'normal'
    maxResourcePercent: 100
    maxResourcePercentPerRequest: 3
    minResourcePercent: 0
    minResourcePercentPerRequest: 3
  }
}

Resource format

To create a Microsoft.Synapse/workspaces/sqlPools/workloadGroups resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Synapse/workspaces/sqlPools/workloadGroups@2021-05-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    importance: 'string'
    maxResourcePercent: int
    maxResourcePercentPerRequest: int
    minResourcePercent: int
    minResourcePercentPerRequest: int
    queryExecutionTimeout: int
  }
}

Property Values

Microsoft.Synapse/workspaces/sqlPools/workloadGroups

Name Description Value
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: workspaces/sqlPools
properties Resource properties. WorkloadGroupProperties

WorkloadGroupProperties

Name Description Value
importance The workload group importance level. string
maxResourcePercent The workload group cap percentage resource. int (required)
maxResourcePercentPerRequest The workload group request maximum grant percentage. int
minResourcePercent The workload group minimum percentage resource. int (required)
minResourcePercentPerRequest The workload group request minimum grant percentage. int (required)
queryExecutionTimeout The workload group query execution timeout. int

ARM template resource definition

The workspaces/sqlPools/workloadGroups resource type can be deployed with operations that target:

Usage Examples

Resource format

To create a Microsoft.Synapse/workspaces/sqlPools/workloadGroups resource, add the following JSON to your template.

{
  "type": "Microsoft.Synapse/workspaces/sqlPools/workloadGroups",
  "apiVersion": "2021-05-01",
  "name": "string",
  "properties": {
    "importance": "string",
    "maxResourcePercent": "int",
    "maxResourcePercentPerRequest": "int",
    "minResourcePercent": "int",
    "minResourcePercentPerRequest": "int",
    "queryExecutionTimeout": "int"
  }
}

Property Values

Microsoft.Synapse/workspaces/sqlPools/workloadGroups

Name Description Value
apiVersion The api version '2021-05-01'
name The resource name string (required)
properties Resource properties. WorkloadGroupProperties
type The resource type 'Microsoft.Synapse/workspaces/sqlPools/workloadGroups'

WorkloadGroupProperties

Name Description Value
importance The workload group importance level. string
maxResourcePercent The workload group cap percentage resource. int (required)
maxResourcePercentPerRequest The workload group request maximum grant percentage. int
minResourcePercent The workload group minimum percentage resource. int (required)
minResourcePercentPerRequest The workload group request minimum grant percentage. int (required)
queryExecutionTimeout The workload group query execution timeout. int

Terraform (AzAPI provider) resource definition

The workspaces/sqlPools/workloadGroups resource type can be deployed with operations that target:

  • Resource groups For a list of changed properties in each API version, see change log.

Usage Examples

Terraform Samples

A basic example of deploying Synapse SQL Pool Workload Group.

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

provider "azapi" {
  skip_provider_registration = false
}

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

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

variable "sql_administrator_login" {
  type        = string
  description = "The SQL administrator login for the Synapse workspace"
}

variable "sql_administrator_login_password" {
  type        = string
  description = "The SQL administrator login password for the Synapse workspace"
  sensitive   = true
}

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

resource "azapi_resource" "storageAccount" {
  type      = "Microsoft.Storage/storageAccounts@2021-09-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "StorageV2"
    properties = {
    }
    sku = {
      name = "Standard_LRS"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_action" "listKeys" {
  type                   = "Microsoft.Storage/storageAccounts@2022-09-01"
  resource_id            = azapi_resource.storageAccount.id
  action                 = "listKeys"
  response_export_values = ["*"]
}

data "azapi_resource" "blobService" {
  type      = "Microsoft.Storage/storageAccounts/blobServices@2022-09-01"
  parent_id = azapi_resource.storageAccount.id
  name      = "default"
}

resource "azapi_resource" "container" {
  type      = "Microsoft.Storage/storageAccounts/blobServices/containers@2022-09-01"
  name      = var.resource_name
  parent_id = data.azapi_resource.blobService.id
  body = {
    properties = {
      metadata = {
        key = "value"
      }
    }
  }
  response_export_values = ["*"]
}

resource "azapi_resource" "workspace" {
  type      = "Microsoft.Synapse/workspaces@2021-06-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      defaultDataLakeStorage = {
        accountUrl = azapi_resource.storageAccount.output.properties.primaryEndpoints.dfs
        filesystem = azapi_resource.container.name
      }
      managedVirtualNetwork         = ""
      publicNetworkAccess           = "Enabled"
      sqlAdministratorLogin         = var.sql_administrator_login
      sqlAdministratorLoginPassword = var.sql_administrator_login_password
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "sqlPool" {
  type      = "Microsoft.Synapse/workspaces/sqlPools@2021-06-01"
  parent_id = azapi_resource.workspace.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      createMode = "Default"
    }
    sku = {
      name = "DW100c"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "workloadGroup" {
  type      = "Microsoft.Synapse/workspaces/sqlPools/workloadGroups@2021-06-01"
  parent_id = azapi_resource.sqlPool.id
  name      = var.resource_name
  body = {
    properties = {
      importance                   = "normal"
      maxResourcePercent           = 100
      maxResourcePercentPerRequest = 3
      minResourcePercent           = 0
      minResourcePercentPerRequest = 3
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Resource format

To create a Microsoft.Synapse/workspaces/sqlPools/workloadGroups resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Synapse/workspaces/sqlPools/workloadGroups@2021-05-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      importance = "string"
      maxResourcePercent = int
      maxResourcePercentPerRequest = int
      minResourcePercent = int
      minResourcePercentPerRequest = int
      queryExecutionTimeout = int
    }
  }
}

Property Values

Microsoft.Synapse/workspaces/sqlPools/workloadGroups

Name Description Value
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: workspaces/sqlPools
properties Resource properties. WorkloadGroupProperties
type The resource type "Microsoft.Synapse/workspaces/sqlPools/workloadGroups@2021-05-01"

WorkloadGroupProperties

Name Description Value
importance The workload group importance level. string
maxResourcePercent The workload group cap percentage resource. int (required)
maxResourcePercentPerRequest The workload group request maximum grant percentage. int
minResourcePercent The workload group minimum percentage resource. int (required)
minResourcePercentPerRequest The workload group request minimum grant percentage. int (required)
queryExecutionTimeout The workload group query execution timeout. int