Microsoft.DBforMySQL servers

Bicep resource definition

The servers resource type can be deployed with operations that target:

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

Resource format

To create a Microsoft.DBforMySQL/servers resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DBforMySQL/servers@2017-12-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    infrastructureEncryption: 'string'
    minimalTlsVersion: 'string'
    publicNetworkAccess: 'string'
    sslEnforcement: 'string'
    storageProfile: {
      backupRetentionDays: int
      geoRedundantBackup: 'string'
      storageAutogrow: 'string'
      storageMB: int
    }
    version: 'string'
    createMode: 'string'
    // For remaining properties, see ServerPropertiesForCreateOrServerProperties objects
  }
}

ServerPropertiesForCreateOrServerProperties objects

Set the createMode property to specify the type of object.

For Default, use:

  createMode: 'Default'
  administratorLogin: 'string'
  administratorLoginPassword: 'string'

For GeoRestore, use:

  createMode: 'GeoRestore'
  sourceServerId: 'string'

For PointInTimeRestore, use:

  createMode: 'PointInTimeRestore'
  restorePointInTime: 'string'
  sourceServerId: 'string'

For Replica, use:

Note

Using a template to create a MySQL server with the Replica value is not idempotent. The server is created successfully the first time. However, deploying the template when the replica server already exists returns an error.

  createMode: 'Replica'
  sourceServerId: 'string'

Property values

servers

Name Description Value
name The resource name string (required)

Character limit: 3-63

Valid characters:
Lowercase letters, hyphens and numbers.

Can't start or end with hyphen.

Resource name must be unique across Azure.
location The location the resource resides in. string (required)
tags Application-specific metadata in the form of key-value pairs. Dictionary of tag names and values. See Tags in templates
sku The SKU (pricing tier) of the server. Sku
identity The Azure Active Directory identity of the server. ResourceIdentity
properties Properties of the server. ServerPropertiesForCreateOrServerProperties (required)

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. 'SystemAssigned'

ServerPropertiesForCreateOrServerProperties

Name Description Value
infrastructureEncryption Status showing whether the server enabled infrastructure encryption. 'Disabled'
'Enabled'
minimalTlsVersion Enforce a minimal Tls version for the server. 'TLS1_0'
'TLS1_1'
'TLS1_2'
'TLSEnforcementDisabled'
publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
sslEnforcement Enable ssl enforcement or not when connect to server. 'Disabled'
'Enabled'
storageProfile Storage profile of a server. StorageProfile
version Server version. '5.6'
'5.7'
'8.0'
createMode Set the object type Default
GeoRestore
PointInTimeRestore
Replica (required)

StorageProfile

Name Description Value
backupRetentionDays Backup retention days for the server. int
geoRedundantBackup Enable Geo-redundant or not for server backup. 'Disabled'
'Enabled'
storageAutogrow Enable Storage Auto Grow. 'Disabled'
'Enabled'
storageMB Max storage allowed for a server. int

ServerPropertiesForDefaultCreate

Name Description Value
createMode The mode to create a new server. 'Default' (required)
administratorLogin The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). The login name is required when updating password. string (required)
administratorLoginPassword The password of the administrator login. string (required)

Constraints:
Sensitive value. Pass in as a secure parameter.

ServerPropertiesForGeoRestore

Name Description Value
createMode The mode to create a new server. 'GeoRestore' (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForRestore

Name Description Value
createMode The mode to create a new server. 'PointInTimeRestore' (required)
restorePointInTime Restore point creation time (ISO8601 format), specifying the time to restore from. string (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForReplica

Name Description Value
createMode The mode to create a new server. 'Replica' (required)
sourceServerId The primary server id to create replica from. string (required)

Sku

Name Description Value
capacity The scale up/out capacity, representing server's compute units. int

Constraints:
Min value = 0
family The family of hardware. string
name The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8. string (required)
size The size code, to be interpreted by resource as appropriate. string
tier The tier of the particular SKU, e.g. Basic. 'Basic'
'GeneralPurpose'
'MemoryOptimized'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Buffalo Web App

Deploy to Azure
Start running your Golang Buffalo Application on Azure quickly and cheaply.
Java CI/CD using Jenkins and Azure Web Apps

Deploy to Azure
This is a sample for Java CI/CD using Jenkins and Azure Web Apps.
Deploys 1 MySQL PaaS instance and up to 5 read only replicas

Deploy to Azure
This template will deploy a MySQL PaaS Server instance, and from 0 to 5 read only replicas. They will all be set on the same location as the master and replication will be automatically configured.
Deploy Azure Database for MySQL with VNet

Deploy to Azure
This template provides a way to deploy an Azure database for MySQL with VNet integration.
Application Gateway for a Web App with IP Restriction

Deploy to Azure
This template creates an application gateway in front of an Azure Web App with IP restriction enabled on the Web App.
Build a Web App on Linux with Azure database for MySQL

Deploy to Azure
This template provides a way to deploy Web Apps on Linux with Azure database for MySQL.
Sonarqube Docker Web App on Linux with MySQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for MySQL
Web App with Azure database for MySQL

Deploy to Azure
This template provides a easy way to deploy web app on Azure App Service Web Apps with Azure database for MySQL.

ARM template resource definition

The servers resource type can be deployed with operations that target:

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

Resource format

To create a Microsoft.DBforMySQL/servers resource, add the following JSON to your template.

{
  "type": "Microsoft.DBforMySQL/servers",
  "apiVersion": "2017-12-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "identity": {
    "type": "SystemAssigned"
  },
  "properties": {
    "infrastructureEncryption": "string",
    "minimalTlsVersion": "string",
    "publicNetworkAccess": "string",
    "sslEnforcement": "string",
    "storageProfile": {
      "backupRetentionDays": "int",
      "geoRedundantBackup": "string",
      "storageAutogrow": "string",
      "storageMB": "int"
    },
    "version": "string",
    "createMode": "string"
    // For remaining properties, see ServerPropertiesForCreateOrServerProperties objects
  }
}

ServerPropertiesForCreateOrServerProperties objects

Set the createMode property to specify the type of object.

For Default, use:

  "createMode": "Default",
  "administratorLogin": "string",
  "administratorLoginPassword": "string"

For GeoRestore, use:

  "createMode": "GeoRestore",
  "sourceServerId": "string"

For PointInTimeRestore, use:

  "createMode": "PointInTimeRestore",
  "restorePointInTime": "string",
  "sourceServerId": "string"

For Replica, use:

Note

Using a template to create a MySQL server with the Replica value is not idempotent. The server is created successfully the first time. However, deploying the template when the replica server already exists returns an error.

  "createMode": "Replica",
  "sourceServerId": "string"

Property values

servers

Name Description Value
type The resource type 'Microsoft.DBforMySQL/servers'
apiVersion The resource api version '2017-12-01'
name The resource name string (required)

Character limit: 3-63

Valid characters:
Lowercase letters, hyphens and numbers.

Can't start or end with hyphen.

Resource name must be unique across Azure.
location The location the resource resides in. string (required)
tags Application-specific metadata in the form of key-value pairs. Dictionary of tag names and values. See Tags in templates
sku The SKU (pricing tier) of the server. Sku
identity The Azure Active Directory identity of the server. ResourceIdentity
properties Properties of the server. ServerPropertiesForCreateOrServerProperties (required)

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. 'SystemAssigned'

ServerPropertiesForCreateOrServerProperties

Name Description Value
infrastructureEncryption Status showing whether the server enabled infrastructure encryption. 'Disabled'
'Enabled'
minimalTlsVersion Enforce a minimal Tls version for the server. 'TLS1_0'
'TLS1_1'
'TLS1_2'
'TLSEnforcementDisabled'
publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
sslEnforcement Enable ssl enforcement or not when connect to server. 'Disabled'
'Enabled'
storageProfile Storage profile of a server. StorageProfile
version Server version. '5.6'
'5.7'
'8.0'
createMode Set the object type Default
GeoRestore
PointInTimeRestore
Replica (required)

StorageProfile

Name Description Value
backupRetentionDays Backup retention days for the server. int
geoRedundantBackup Enable Geo-redundant or not for server backup. 'Disabled'
'Enabled'
storageAutogrow Enable Storage Auto Grow. 'Disabled'
'Enabled'
storageMB Max storage allowed for a server. int

ServerPropertiesForDefaultCreate

Name Description Value
createMode The mode to create a new server. 'Default' (required)
administratorLogin The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). The login name is required when updating password. string (required)
administratorLoginPassword The password of the administrator login. string (required)

Constraints:
Sensitive value. Pass in as a secure parameter.

ServerPropertiesForGeoRestore

Name Description Value
createMode The mode to create a new server. 'GeoRestore' (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForRestore

Name Description Value
createMode The mode to create a new server. 'PointInTimeRestore' (required)
restorePointInTime Restore point creation time (ISO8601 format), specifying the time to restore from. string (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForReplica

Name Description Value
createMode The mode to create a new server. 'Replica' (required)
sourceServerId The primary server id to create replica from. string (required)

Sku

Name Description Value
capacity The scale up/out capacity, representing server's compute units. int

Constraints:
Min value = 0
family The family of hardware. string
name The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8. string (required)
size The size code, to be interpreted by resource as appropriate. string
tier The tier of the particular SKU, e.g. Basic. 'Basic'
'GeneralPurpose'
'MemoryOptimized'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Buffalo Web App

Deploy to Azure
Start running your Golang Buffalo Application on Azure quickly and cheaply.
Java CI/CD using Jenkins and Azure Web Apps

Deploy to Azure
This is a sample for Java CI/CD using Jenkins and Azure Web Apps.
Deploys 1 MySQL PaaS instance and up to 5 read only replicas

Deploy to Azure
This template will deploy a MySQL PaaS Server instance, and from 0 to 5 read only replicas. They will all be set on the same location as the master and replication will be automatically configured.
Deploy Azure Database for MySQL with VNet

Deploy to Azure
This template provides a way to deploy an Azure database for MySQL with VNet integration.
Application Gateway for a Web App with IP Restriction

Deploy to Azure
This template creates an application gateway in front of an Azure Web App with IP restriction enabled on the Web App.
Build a Web App on Linux with Azure database for MySQL

Deploy to Azure
This template provides a way to deploy Web Apps on Linux with Azure database for MySQL.
Sonarqube Docker Web App on Linux with MySQL

Deploy to Azure
This template provides a easy way to deploy a Sonarqube docker image (alpine tag) on a Linux Web App with Azure database for MySQL
Web App with Azure database for MySQL

Deploy to Azure
This template provides a easy way to deploy web app on Azure App Service Web Apps with Azure database for MySQL.

Terraform (AzAPI provider) resource definition

The servers resource type can be deployed with operations that target:

  • Resource groups

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

Resource format

To create a Microsoft.DBforMySQL/servers resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DBforMySQL/servers@2017-12-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "SystemAssigned"
  }
  body = jsonencode({
    properties = {
      infrastructureEncryption = "string"
      minimalTlsVersion = "string"
      publicNetworkAccess = "string"
      sslEnforcement = "string"
      storageProfile = {
        backupRetentionDays = int
        geoRedundantBackup = "string"
        storageAutogrow = "string"
        storageMB = int
      }
      version = "string"
      createMode = "string"
      // For remaining properties, see ServerPropertiesForCreateOrServerProperties objects
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  })
}

ServerPropertiesForCreateOrServerProperties objects

Set the createMode property to specify the type of object.

For Default, use:

  createMode = "Default"
  administratorLogin = "string"
  administratorLoginPassword = "string"

For GeoRestore, use:

  createMode = "GeoRestore"
  sourceServerId = "string"

For PointInTimeRestore, use:

  createMode = "PointInTimeRestore"
  restorePointInTime = "string"
  sourceServerId = "string"

For Replica, use:

Note

Using a template to create a MySQL server with the Replica value is not idempotent. The server is created successfully the first time. However, deploying the template when the replica server already exists returns an error.

  createMode = "Replica"
  sourceServerId = "string"

Property values

servers

Name Description Value
type The resource type "Microsoft.DBforMySQL/servers@2017-12-01"
name The resource name string (required)

Character limit: 3-63

Valid characters:
Lowercase letters, hyphens and numbers.

Can't start or end with hyphen.

Resource name must be unique across Azure.
location The location the resource resides in. string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Application-specific metadata in the form of key-value pairs. Dictionary of tag names and values.
sku The SKU (pricing tier) of the server. Sku
identity The Azure Active Directory identity of the server. ResourceIdentity
properties Properties of the server. ServerPropertiesForCreateOrServerProperties (required)

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. "SystemAssigned"

ServerPropertiesForCreateOrServerProperties

Name Description Value
infrastructureEncryption Status showing whether the server enabled infrastructure encryption. "Disabled"
"Enabled"
minimalTlsVersion Enforce a minimal Tls version for the server. "TLS1_0"
"TLS1_1"
"TLS1_2"
"TLSEnforcementDisabled"
publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' "Disabled"
"Enabled"
sslEnforcement Enable ssl enforcement or not when connect to server. "Disabled"
"Enabled"
storageProfile Storage profile of a server. StorageProfile
version Server version. "5.6"
"5.7"
"8.0"
createMode Set the object type Default
GeoRestore
PointInTimeRestore
Replica (required)

StorageProfile

Name Description Value
backupRetentionDays Backup retention days for the server. int
geoRedundantBackup Enable Geo-redundant or not for server backup. "Disabled"
"Enabled"
storageAutogrow Enable Storage Auto Grow. "Disabled"
"Enabled"
storageMB Max storage allowed for a server. int

ServerPropertiesForDefaultCreate

Name Description Value
createMode The mode to create a new server. "Default" (required)
administratorLogin The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). The login name is required when updating password. string (required)
administratorLoginPassword The password of the administrator login. string (required)

Constraints:
Sensitive value. Pass in as a secure parameter.

ServerPropertiesForGeoRestore

Name Description Value
createMode The mode to create a new server. "GeoRestore" (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForRestore

Name Description Value
createMode The mode to create a new server. "PointInTimeRestore" (required)
restorePointInTime Restore point creation time (ISO8601 format), specifying the time to restore from. string (required)
sourceServerId The source server id to restore from. string (required)

ServerPropertiesForReplica

Name Description Value
createMode The mode to create a new server. "Replica" (required)
sourceServerId The primary server id to create replica from. string (required)

Sku

Name Description Value
capacity The scale up/out capacity, representing server's compute units. int

Constraints:
Min value = 0
family The family of hardware. string
name The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8. string (required)
size The size code, to be interpreted by resource as appropriate. string
tier The tier of the particular SKU, e.g. Basic. "Basic"
"GeneralPurpose"
"MemoryOptimized"