Microsoft.DBforMySQL servers
Bicep resource definition
The servers resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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 |
Start running your Golang Buffalo Application on Azure quickly and cheaply. |
Java CI/CD using Jenkins and Azure Web Apps |
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 |
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 |
This template provides a way to deploy an Azure database for MySQL with VNet integration. |
Application Gateway for a Web App with IP Restriction |
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 |
This template provides a way to deploy Web Apps on Linux with Azure database for MySQL. |
Sonarqube Docker Web App on Linux with MySQL |
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 |
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:
- Resource groups - See resource group deployment commands
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 |
Start running your Golang Buffalo Application on Azure quickly and cheaply. |
Java CI/CD using Jenkins and Azure Web Apps |
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 |
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 |
This template provides a way to deploy an Azure database for MySQL with VNet integration. |
Application Gateway for a Web App with IP Restriction |
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 |
This template provides a way to deploy Web Apps on Linux with Azure database for MySQL. |
Sonarqube Docker Web App on Linux with MySQL |
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 |
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" |