Server Args
Manages a MySQL Server.
Note: Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The
azure.mysql.Server
resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use theazure.mysql.FlexibleServer
resource instead.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleServer = new azure.mysql.Server("example", {
name: "example-mysqlserver",
location: example.location,
resourceGroupName: example.name,
administratorLogin: "mysqladminun",
administratorLoginPassword: "H@Sh1CoR3!",
skuName: "B_Gen5_2",
storageMb: 5120,
version: "5.7",
autoGrowEnabled: true,
backupRetentionDays: 7,
geoRedundantBackupEnabled: false,
infrastructureEncryptionEnabled: false,
publicNetworkAccessEnabled: true,
sslEnforcementEnabled: true,
sslMinimalTlsVersionEnforced: "TLS1_2",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_server = azure.mysql.Server("example",
name="example-mysqlserver",
location=example.location,
resource_group_name=example.name,
administrator_login="mysqladminun",
administrator_login_password="H@Sh1CoR3!",
sku_name="B_Gen5_2",
storage_mb=5120,
version="5.7",
auto_grow_enabled=True,
backup_retention_days=7,
geo_redundant_backup_enabled=False,
infrastructure_encryption_enabled=False,
public_network_access_enabled=True,
ssl_enforcement_enabled=True,
ssl_minimal_tls_version_enforced="TLS1_2")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleServer = new Azure.MySql.Server("example", new()
{
Name = "example-mysqlserver",
Location = example.Location,
ResourceGroupName = example.Name,
AdministratorLogin = "mysqladminun",
AdministratorLoginPassword = "H@Sh1CoR3!",
SkuName = "B_Gen5_2",
StorageMb = 5120,
Version = "5.7",
AutoGrowEnabled = true,
BackupRetentionDays = 7,
GeoRedundantBackupEnabled = false,
InfrastructureEncryptionEnabled = false,
PublicNetworkAccessEnabled = true,
SslEnforcementEnabled = true,
SslMinimalTlsVersionEnforced = "TLS1_2",
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = mysql.NewServer(ctx, "example", &mysql.ServerArgs{
Name: pulumi.String("example-mysqlserver"),
Location: example.Location,
ResourceGroupName: example.Name,
AdministratorLogin: pulumi.String("mysqladminun"),
AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
SkuName: pulumi.String("B_Gen5_2"),
StorageMb: pulumi.Int(5120),
Version: pulumi.String("5.7"),
AutoGrowEnabled: pulumi.Bool(true),
BackupRetentionDays: pulumi.Int(7),
GeoRedundantBackupEnabled: pulumi.Bool(false),
InfrastructureEncryptionEnabled: pulumi.Bool(false),
PublicNetworkAccessEnabled: pulumi.Bool(true),
SslEnforcementEnabled: pulumi.Bool(true),
SslMinimalTlsVersionEnforced: pulumi.String("TLS1_2"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.mysql.Server;
import com.pulumi.azure.mysql.ServerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleServer = new Server("exampleServer", ServerArgs.builder()
.name("example-mysqlserver")
.location(example.location())
.resourceGroupName(example.name())
.administratorLogin("mysqladminun")
.administratorLoginPassword("H@Sh1CoR3!")
.skuName("B_Gen5_2")
.storageMb(5120)
.version("5.7")
.autoGrowEnabled(true)
.backupRetentionDays(7)
.geoRedundantBackupEnabled(false)
.infrastructureEncryptionEnabled(false)
.publicNetworkAccessEnabled(true)
.sslEnforcementEnabled(true)
.sslMinimalTlsVersionEnforced("TLS1_2")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleServer:
type: azure:mysql:Server
name: example
properties:
name: example-mysqlserver
location: ${example.location}
resourceGroupName: ${example.name}
administratorLogin: mysqladminun
administratorLoginPassword: H@Sh1CoR3!
skuName: B_Gen5_2
storageMb: 5120
version: '5.7'
autoGrowEnabled: true
backupRetentionDays: 7
geoRedundantBackupEnabled: false
infrastructureEncryptionEnabled: false
publicNetworkAccessEnabled: true
sslEnforcementEnabled: true
sslMinimalTlsVersionEnforced: TLS1_2
Import
MySQL Server's can be imported using the resource id
, e.g.
$ pulumi import azure:mysql/server:Server server1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/servers/server1
Constructors
Properties
The Administrator login for the MySQL Server. Required when create_mode
is Default
. Changing this forces a new resource to be created.
The Password associated with the administrator_login
for the MySQL Server. Required when create_mode
is Default
.
Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to true
.
Backup retention days for the server, supported values are between 7
and 35
days.
The creation mode. Can be used to restore or replicate existing servers. Possible values are Default
, Replica
, GeoRestore
, and PointInTimeRestore
. Defaults to Default
.
For creation modes other than Default
, the source server ID to use.
Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not supported for the Basic tier.
An identity
block as defined below.
Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.
Whether or not public network access is allowed for this server. Defaults to true
.
The name of the resource group in which to create the MySQL Server. Changing this forces a new resource to be created.
When create_mode
is PointInTimeRestore
, specifies the point in time to restore from creation_source_server_id
. It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z
.
Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the tier
+ family
+ cores
pattern (e.g. B_Gen4_1
, GP_Gen5_8
). For more information see the product documentation. Possible values are B_Gen4_1
, B_Gen4_2
, B_Gen5_1
, B_Gen5_2
, GP_Gen4_2
, GP_Gen4_4
, GP_Gen4_8
, GP_Gen4_16
, GP_Gen4_32
, GP_Gen5_2
, GP_Gen5_4
, GP_Gen5_8
, GP_Gen5_16
, GP_Gen5_32
, GP_Gen5_64
, MO_Gen5_2
, MO_Gen5_4
, MO_Gen5_8
, MO_Gen5_16
and MO_Gen5_32
.
Specifies if SSL should be enforced on connections. Possible values are true
and false
.
The minimum TLS version to support on the sever. Possible values are TLSEnforcementDisabled
, TLS1_0
, TLS1_1
, and TLS1_2
. Defaults to TLS1_2
.
Max storage allowed for a server. Possible values are between 5120
MB(5GB) and 1048576
MB(1TB) for the Basic SKU and between 5120
MB(5GB) and 16777216
MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the product documentation.
Threat detection policy configuration, known in the API as Server Security Alerts Policy. The threat_detection_policy
block supports fields documented below.