SqlVirtualMachine

class SqlVirtualMachine : KotlinCustomResource

A SQL virtual machine. Uses Azure REST API version 2022-02-01. In version 1.x of the Azure Native provider, it used API version 2017-03-01-preview. Other available API versions: 2023-01-01-preview, 2023-10-01.

Example Usage

Creates or updates a SQL virtual machine and joins it to a SQL virtual machine group.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
Location = "northeurope",
ResourceGroupName = "testrg",
SqlVirtualMachineGroupResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup",
SqlVirtualMachineName = "testvm",
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2",
WsfcDomainCredentials = new AzureNative.SqlVirtualMachine.Inputs.WsfcDomainCredentialsArgs
{
ClusterBootstrapAccountPassword = "<Password>",
ClusterOperatorAccountPassword = "<Password>",
SqlServiceAccountPassword = "<Password>",
},
WsfcStaticIp = "10.0.0.7",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
SqlVirtualMachineGroupResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup"),
SqlVirtualMachineName: pulumi.String("testvm"),
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2"),
WsfcDomainCredentials: &sqlvirtualmachine.WsfcDomainCredentialsArgs{
ClusterBootstrapAccountPassword: pulumi.String("<Password>"),
ClusterOperatorAccountPassword: pulumi.String("<Password>"),
SqlServiceAccountPassword: pulumi.String("<Password>"),
},
WsfcStaticIp: pulumi.String("10.0.0.7"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.WsfcDomainCredentialsArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.location("northeurope")
.resourceGroupName("testrg")
.sqlVirtualMachineGroupResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup")
.sqlVirtualMachineName("testvm")
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2")
.wsfcDomainCredentials(WsfcDomainCredentialsArgs.builder()
.clusterBootstrapAccountPassword("<Password>")
.clusterOperatorAccountPassword("<Password>")
.sqlServiceAccountPassword("<Password>")
.build())
.wsfcStaticIp("10.0.0.7")
.build());
}
}

Creates or updates a SQL virtual machine for Automated Back up Settings with Weekly and Days of the week to run the back up.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
AutoBackupSettings = new AzureNative.SqlVirtualMachine.Inputs.AutoBackupSettingsArgs
{
BackupScheduleType = AzureNative.SqlVirtualMachine.BackupScheduleType.Manual,
BackupSystemDbs = true,
DaysOfWeek = new[]
{
AzureNative.SqlVirtualMachine.AutoBackupDaysOfWeek.Monday,
AzureNative.SqlVirtualMachine.AutoBackupDaysOfWeek.Friday,
},
Enable = true,
EnableEncryption = true,
FullBackupFrequency = AzureNative.SqlVirtualMachine.FullBackupFrequencyType.Weekly,
FullBackupStartTime = 6,
FullBackupWindowHours = 11,
LogBackupFrequency = 10,
Password = "<Password>",
RetentionPeriod = 17,
StorageAccessKey = "<primary storage access key>",
StorageAccountUrl = "https://teststorage.blob.core.windows.net/",
StorageContainerName = "testcontainer",
},
AutoPatchingSettings = new AzureNative.SqlVirtualMachine.Inputs.AutoPatchingSettingsArgs
{
DayOfWeek = AzureNative.SqlVirtualMachine.DayOfWeek.Sunday,
Enable = true,
MaintenanceWindowDuration = 60,
MaintenanceWindowStartingHour = 2,
},
KeyVaultCredentialSettings = new AzureNative.SqlVirtualMachine.Inputs.KeyVaultCredentialSettingsArgs
{
Enable = false,
},
Location = "northeurope",
ResourceGroupName = "testrg",
ServerConfigurationsManagementSettings = new AzureNative.SqlVirtualMachine.Inputs.ServerConfigurationsManagementSettingsArgs
{
AdditionalFeaturesServerConfigurations = new AzureNative.SqlVirtualMachine.Inputs.AdditionalFeaturesServerConfigurationsArgs
{
IsRServicesEnabled = false,
},
SqlConnectivityUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlConnectivityUpdateSettingsArgs
{
ConnectivityType = AzureNative.SqlVirtualMachine.ConnectivityType.PRIVATE,
Port = 1433,
SqlAuthUpdatePassword = "<password>",
SqlAuthUpdateUserName = "sqllogin",
},
SqlStorageUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlStorageUpdateSettingsArgs
{
DiskConfigurationType = AzureNative.SqlVirtualMachine.DiskConfigurationType.NEW,
DiskCount = 1,
StartingDeviceId = 2,
},
SqlWorkloadTypeUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlWorkloadTypeUpdateSettingsArgs
{
SqlWorkloadType = AzureNative.SqlVirtualMachine.SqlWorkloadType.OLTP,
},
},
SqlImageSku = AzureNative.SqlVirtualMachine.SqlImageSku.Enterprise,
SqlManagement = AzureNative.SqlVirtualMachine.SqlManagementMode.Full,
SqlServerLicenseType = AzureNative.SqlVirtualMachine.SqlServerLicenseType.PAYG,
SqlVirtualMachineName = "testvm",
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
AutoBackupSettings: &sqlvirtualmachine.AutoBackupSettingsArgs{
BackupScheduleType: pulumi.String(sqlvirtualmachine.BackupScheduleTypeManual),
BackupSystemDbs: pulumi.Bool(true),
DaysOfWeek: pulumi.StringArray{
pulumi.String(sqlvirtualmachine.AutoBackupDaysOfWeekMonday),
pulumi.String(sqlvirtualmachine.AutoBackupDaysOfWeekFriday),
},
Enable: pulumi.Bool(true),
EnableEncryption: pulumi.Bool(true),
FullBackupFrequency: pulumi.String(sqlvirtualmachine.FullBackupFrequencyTypeWeekly),
FullBackupStartTime: pulumi.Int(6),
FullBackupWindowHours: pulumi.Int(11),
LogBackupFrequency: pulumi.Int(10),
Password: pulumi.String("<Password>"),
RetentionPeriod: pulumi.Int(17),
StorageAccessKey: pulumi.String("<primary storage access key>"),
StorageAccountUrl: pulumi.String("https://teststorage.blob.core.windows.net/"),
StorageContainerName: pulumi.String("testcontainer"),
},
AutoPatchingSettings: &sqlvirtualmachine.AutoPatchingSettingsArgs{
DayOfWeek: sqlvirtualmachine.DayOfWeekSunday,
Enable: pulumi.Bool(true),
MaintenanceWindowDuration: pulumi.Int(60),
MaintenanceWindowStartingHour: pulumi.Int(2),
},
KeyVaultCredentialSettings: &sqlvirtualmachine.KeyVaultCredentialSettingsArgs{
Enable: pulumi.Bool(false),
},
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
ServerConfigurationsManagementSettings: &sqlvirtualmachine.ServerConfigurationsManagementSettingsArgs{
AdditionalFeaturesServerConfigurations: &sqlvirtualmachine.AdditionalFeaturesServerConfigurationsArgs{
IsRServicesEnabled: pulumi.Bool(false),
},
SqlConnectivityUpdateSettings: &sqlvirtualmachine.SqlConnectivityUpdateSettingsArgs{
ConnectivityType: pulumi.String(sqlvirtualmachine.ConnectivityTypePRIVATE),
Port: pulumi.Int(1433),
SqlAuthUpdatePassword: pulumi.String("<password>"),
SqlAuthUpdateUserName: pulumi.String("sqllogin"),
},
SqlStorageUpdateSettings: &sqlvirtualmachine.SqlStorageUpdateSettingsArgs{
DiskConfigurationType: pulumi.String(sqlvirtualmachine.DiskConfigurationTypeNEW),
DiskCount: pulumi.Int(1),
StartingDeviceId: pulumi.Int(2),
},
SqlWorkloadTypeUpdateSettings: &sqlvirtualmachine.SqlWorkloadTypeUpdateSettingsArgs{
SqlWorkloadType: pulumi.String(sqlvirtualmachine.SqlWorkloadTypeOLTP),
},
},
SqlImageSku: pulumi.String(sqlvirtualmachine.SqlImageSkuEnterprise),
SqlManagement: pulumi.String(sqlvirtualmachine.SqlManagementModeFull),
SqlServerLicenseType: pulumi.String(sqlvirtualmachine.SqlServerLicenseTypePAYG),
SqlVirtualMachineName: pulumi.String("testvm"),
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoBackupSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoPatchingSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.KeyVaultCredentialSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.ServerConfigurationsManagementSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AdditionalFeaturesServerConfigurationsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlConnectivityUpdateSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlStorageUpdateSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlWorkloadTypeUpdateSettingsArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.autoBackupSettings(AutoBackupSettingsArgs.builder()
.backupScheduleType("Manual")
.backupSystemDbs(true)
.daysOfWeek(
"Monday",
"Friday")
.enable(true)
.enableEncryption(true)
.fullBackupFrequency("Weekly")
.fullBackupStartTime(6)
.fullBackupWindowHours(11)
.logBackupFrequency(10)
.password("<Password>")
.retentionPeriod(17)
.storageAccessKey("<primary storage access key>")
.storageAccountUrl("https://teststorage.blob.core.windows.net/")
.storageContainerName("testcontainer")
.build())
.autoPatchingSettings(AutoPatchingSettingsArgs.builder()
.dayOfWeek("Sunday")
.enable(true)
.maintenanceWindowDuration(60)
.maintenanceWindowStartingHour(2)
.build())
.keyVaultCredentialSettings(KeyVaultCredentialSettingsArgs.builder()
.enable(false)
.build())
.location("northeurope")
.resourceGroupName("testrg")
.serverConfigurationsManagementSettings(ServerConfigurationsManagementSettingsArgs.builder()
.additionalFeaturesServerConfigurations(AdditionalFeaturesServerConfigurationsArgs.builder()
.isRServicesEnabled(false)
.build())
.sqlConnectivityUpdateSettings(SqlConnectivityUpdateSettingsArgs.builder()
.connectivityType("PRIVATE")
.port(1433)
.sqlAuthUpdatePassword("<password>")
.sqlAuthUpdateUserName("sqllogin")
.build())
.sqlStorageUpdateSettings(SqlStorageUpdateSettingsArgs.builder()
.diskConfigurationType("NEW")
.diskCount(1)
.startingDeviceId(2)
.build())
.sqlWorkloadTypeUpdateSettings(SqlWorkloadTypeUpdateSettingsArgs.builder()
.sqlWorkloadType("OLTP")
.build())
.build())
.sqlImageSku("Enterprise")
.sqlManagement("Full")
.sqlServerLicenseType("PAYG")
.sqlVirtualMachineName("testvm")
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm")
.build());
}
}

Creates or updates a SQL virtual machine for Storage Configuration Settings to EXTEND Data, Log or TempDB storage pool.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
Location = "northeurope",
ResourceGroupName = "testrg",
SqlVirtualMachineName = "testvm",
StorageConfigurationSettings = new AzureNative.SqlVirtualMachine.Inputs.StorageConfigurationSettingsArgs
{
DiskConfigurationType = AzureNative.SqlVirtualMachine.DiskConfigurationType.EXTEND,
SqlDataSettings = new AzureNative.SqlVirtualMachine.Inputs.SQLStorageSettingsArgs
{
Luns = new[]
{
2,
},
},
},
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
SqlVirtualMachineName: pulumi.String("testvm"),
StorageConfigurationSettings: &sqlvirtualmachine.StorageConfigurationSettingsArgs{
DiskConfigurationType: pulumi.String(sqlvirtualmachine.DiskConfigurationTypeEXTEND),
SqlDataSettings: &sqlvirtualmachine.SQLStorageSettingsArgs{
Luns: pulumi.IntArray{
pulumi.Int(2),
},
},
},
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.StorageConfigurationSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SQLStorageSettingsArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.location("northeurope")
.resourceGroupName("testrg")
.sqlVirtualMachineName("testvm")
.storageConfigurationSettings(StorageConfigurationSettingsArgs.builder()
.diskConfigurationType("EXTEND")
.sqlDataSettings(SQLStorageSettingsArgs.builder()
.luns(2)
.build())
.build())
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm")
.build());
}
}

Creates or updates a SQL virtual machine for Storage Configuration Settings to NEW Data, Log and TempDB storage pool.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
Location = "northeurope",
ResourceGroupName = "testrg",
SqlVirtualMachineName = "testvm",
StorageConfigurationSettings = new AzureNative.SqlVirtualMachine.Inputs.StorageConfigurationSettingsArgs
{
DiskConfigurationType = AzureNative.SqlVirtualMachine.DiskConfigurationType.NEW,
SqlDataSettings = new AzureNative.SqlVirtualMachine.Inputs.SQLStorageSettingsArgs
{
DefaultFilePath = "F:\\folderpath\\",
Luns = new[]
{
0,
},
},
SqlLogSettings = new AzureNative.SqlVirtualMachine.Inputs.SQLStorageSettingsArgs
{
DefaultFilePath = "G:\\folderpath\\",
Luns = new[]
{
1,
},
},
SqlSystemDbOnDataDisk = true,
SqlTempDbSettings = new AzureNative.SqlVirtualMachine.Inputs.SQLTempDbSettingsArgs
{
DataFileCount = 8,
DataFileSize = 256,
DataGrowth = 512,
DefaultFilePath = "D:\\TEMP",
LogFileSize = 256,
LogGrowth = 512,
},
StorageWorkloadType = AzureNative.SqlVirtualMachine.StorageWorkloadType.OLTP,
},
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
SqlVirtualMachineName: pulumi.String("testvm"),
StorageConfigurationSettings: &sqlvirtualmachine.StorageConfigurationSettingsArgs{
DiskConfigurationType: pulumi.String(sqlvirtualmachine.DiskConfigurationTypeNEW),
SqlDataSettings: &sqlvirtualmachine.SQLStorageSettingsArgs{
DefaultFilePath: pulumi.String("F:\\folderpath\\"),
Luns: pulumi.IntArray{
pulumi.Int(0),
},
},
SqlLogSettings: &sqlvirtualmachine.SQLStorageSettingsArgs{
DefaultFilePath: pulumi.String("G:\\folderpath\\"),
Luns: pulumi.IntArray{
pulumi.Int(1),
},
},
SqlSystemDbOnDataDisk: pulumi.Bool(true),
SqlTempDbSettings: &sqlvirtualmachine.SQLTempDbSettingsArgs{
DataFileCount: pulumi.Int(8),
DataFileSize: pulumi.Int(256),
DataGrowth: pulumi.Int(512),
DefaultFilePath: pulumi.String("D:\\TEMP"),
LogFileSize: pulumi.Int(256),
LogGrowth: pulumi.Int(512),
},
StorageWorkloadType: pulumi.String(sqlvirtualmachine.StorageWorkloadTypeOLTP),
},
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.StorageConfigurationSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SQLStorageSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SQLTempDbSettingsArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.location("northeurope")
.resourceGroupName("testrg")
.sqlVirtualMachineName("testvm")
.storageConfigurationSettings(StorageConfigurationSettingsArgs.builder()
.diskConfigurationType("NEW")
.sqlDataSettings(SQLStorageSettingsArgs.builder()
.defaultFilePath("F:\\folderpath\\")
.luns(0)
.build())
.sqlLogSettings(SQLStorageSettingsArgs.builder()
.defaultFilePath("G:\\folderpath\\")
.luns(1)
.build())
.sqlSystemDbOnDataDisk(true)
.sqlTempDbSettings(SQLTempDbSettingsArgs.builder()
.dataFileCount(8)
.dataFileSize(256)
.dataGrowth(512)
.defaultFilePath("D:\\TEMP")
.logFileSize(256)
.logGrowth(512)
.build())
.storageWorkloadType("OLTP")
.build())
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm")
.build());
}
}

Creates or updates a SQL virtual machine with max parameters.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
AssessmentSettings = new AzureNative.SqlVirtualMachine.Inputs.AssessmentSettingsArgs
{
Enable = true,
RunImmediately = true,
Schedule = new AzureNative.SqlVirtualMachine.Inputs.ScheduleArgs
{
DayOfWeek = AzureNative.SqlVirtualMachine.AssessmentDayOfWeek.Sunday,
Enable = true,
StartTime = "23:17",
WeeklyInterval = 1,
},
},
AutoBackupSettings = new AzureNative.SqlVirtualMachine.Inputs.AutoBackupSettingsArgs
{
BackupScheduleType = AzureNative.SqlVirtualMachine.BackupScheduleType.Manual,
BackupSystemDbs = true,
Enable = true,
EnableEncryption = true,
FullBackupFrequency = AzureNative.SqlVirtualMachine.FullBackupFrequencyType.Daily,
FullBackupStartTime = 6,
FullBackupWindowHours = 11,
LogBackupFrequency = 10,
Password = "<Password>",
RetentionPeriod = 17,
StorageAccessKey = "<primary storage access key>",
StorageAccountUrl = "https://teststorage.blob.core.windows.net/",
StorageContainerName = "testcontainer",
},
AutoPatchingSettings = new AzureNative.SqlVirtualMachine.Inputs.AutoPatchingSettingsArgs
{
DayOfWeek = AzureNative.SqlVirtualMachine.DayOfWeek.Sunday,
Enable = true,
MaintenanceWindowDuration = 60,
MaintenanceWindowStartingHour = 2,
},
KeyVaultCredentialSettings = new AzureNative.SqlVirtualMachine.Inputs.KeyVaultCredentialSettingsArgs
{
Enable = false,
},
Location = "northeurope",
ResourceGroupName = "testrg",
ServerConfigurationsManagementSettings = new AzureNative.SqlVirtualMachine.Inputs.ServerConfigurationsManagementSettingsArgs
{
AdditionalFeaturesServerConfigurations = new AzureNative.SqlVirtualMachine.Inputs.AdditionalFeaturesServerConfigurationsArgs
{
IsRServicesEnabled = false,
},
SqlConnectivityUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlConnectivityUpdateSettingsArgs
{
ConnectivityType = AzureNative.SqlVirtualMachine.ConnectivityType.PRIVATE,
Port = 1433,
SqlAuthUpdatePassword = "<password>",
SqlAuthUpdateUserName = "sqllogin",
},
SqlInstanceSettings = new AzureNative.SqlVirtualMachine.Inputs.SQLInstanceSettingsArgs
{
Collation = "SQL_Latin1_General_CP1_CI_AS",
IsIfiEnabled = true,
IsLpimEnabled = true,
IsOptimizeForAdHocWorkloadsEnabled = true,
MaxDop = 8,
MaxServerMemoryMB = 128,
MinServerMemoryMB = 0,
},
SqlStorageUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlStorageUpdateSettingsArgs
{
DiskConfigurationType = AzureNative.SqlVirtualMachine.DiskConfigurationType.NEW,
DiskCount = 1,
StartingDeviceId = 2,
},
SqlWorkloadTypeUpdateSettings = new AzureNative.SqlVirtualMachine.Inputs.SqlWorkloadTypeUpdateSettingsArgs
{
SqlWorkloadType = AzureNative.SqlVirtualMachine.SqlWorkloadType.OLTP,
},
},
SqlImageSku = AzureNative.SqlVirtualMachine.SqlImageSku.Enterprise,
SqlManagement = AzureNative.SqlVirtualMachine.SqlManagementMode.Full,
SqlServerLicenseType = AzureNative.SqlVirtualMachine.SqlServerLicenseType.PAYG,
SqlVirtualMachineName = "testvm",
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
AssessmentSettings: &sqlvirtualmachine.AssessmentSettingsArgs{
Enable: pulumi.Bool(true),
RunImmediately: pulumi.Bool(true),
Schedule: &sqlvirtualmachine.ScheduleArgs{
DayOfWeek: sqlvirtualmachine.AssessmentDayOfWeekSunday,
Enable: pulumi.Bool(true),
StartTime: pulumi.String("23:17"),
WeeklyInterval: pulumi.Int(1),
},
},
AutoBackupSettings: &sqlvirtualmachine.AutoBackupSettingsArgs{
BackupScheduleType: pulumi.String(sqlvirtualmachine.BackupScheduleTypeManual),
BackupSystemDbs: pulumi.Bool(true),
Enable: pulumi.Bool(true),
EnableEncryption: pulumi.Bool(true),
FullBackupFrequency: pulumi.String(sqlvirtualmachine.FullBackupFrequencyTypeDaily),
FullBackupStartTime: pulumi.Int(6),
FullBackupWindowHours: pulumi.Int(11),
LogBackupFrequency: pulumi.Int(10),
Password: pulumi.String("<Password>"),
RetentionPeriod: pulumi.Int(17),
StorageAccessKey: pulumi.String("<primary storage access key>"),
StorageAccountUrl: pulumi.String("https://teststorage.blob.core.windows.net/"),
StorageContainerName: pulumi.String("testcontainer"),
},
AutoPatchingSettings: &sqlvirtualmachine.AutoPatchingSettingsArgs{
DayOfWeek: sqlvirtualmachine.DayOfWeekSunday,
Enable: pulumi.Bool(true),
MaintenanceWindowDuration: pulumi.Int(60),
MaintenanceWindowStartingHour: pulumi.Int(2),
},
KeyVaultCredentialSettings: &sqlvirtualmachine.KeyVaultCredentialSettingsArgs{
Enable: pulumi.Bool(false),
},
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
ServerConfigurationsManagementSettings: &sqlvirtualmachine.ServerConfigurationsManagementSettingsArgs{
AdditionalFeaturesServerConfigurations: &sqlvirtualmachine.AdditionalFeaturesServerConfigurationsArgs{
IsRServicesEnabled: pulumi.Bool(false),
},
SqlConnectivityUpdateSettings: &sqlvirtualmachine.SqlConnectivityUpdateSettingsArgs{
ConnectivityType: pulumi.String(sqlvirtualmachine.ConnectivityTypePRIVATE),
Port: pulumi.Int(1433),
SqlAuthUpdatePassword: pulumi.String("<password>"),
SqlAuthUpdateUserName: pulumi.String("sqllogin"),
},
SqlInstanceSettings: &sqlvirtualmachine.SQLInstanceSettingsArgs{
Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
IsIfiEnabled: pulumi.Bool(true),
IsLpimEnabled: pulumi.Bool(true),
IsOptimizeForAdHocWorkloadsEnabled: pulumi.Bool(true),
MaxDop: pulumi.Int(8),
MaxServerMemoryMB: pulumi.Int(128),
MinServerMemoryMB: pulumi.Int(0),
},
SqlStorageUpdateSettings: &sqlvirtualmachine.SqlStorageUpdateSettingsArgs{
DiskConfigurationType: pulumi.String(sqlvirtualmachine.DiskConfigurationTypeNEW),
DiskCount: pulumi.Int(1),
StartingDeviceId: pulumi.Int(2),
},
SqlWorkloadTypeUpdateSettings: &sqlvirtualmachine.SqlWorkloadTypeUpdateSettingsArgs{
SqlWorkloadType: pulumi.String(sqlvirtualmachine.SqlWorkloadTypeOLTP),
},
},
SqlImageSku: pulumi.String(sqlvirtualmachine.SqlImageSkuEnterprise),
SqlManagement: pulumi.String(sqlvirtualmachine.SqlManagementModeFull),
SqlServerLicenseType: pulumi.String(sqlvirtualmachine.SqlServerLicenseTypePAYG),
SqlVirtualMachineName: pulumi.String("testvm"),
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AssessmentSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.ScheduleArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoBackupSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoPatchingSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.KeyVaultCredentialSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.ServerConfigurationsManagementSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AdditionalFeaturesServerConfigurationsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlConnectivityUpdateSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SQLInstanceSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlStorageUpdateSettingsArgs;
import com.pulumi.azurenative.sqlvirtualmachine.inputs.SqlWorkloadTypeUpdateSettingsArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.assessmentSettings(AssessmentSettingsArgs.builder()
.enable(true)
.runImmediately(true)
.schedule(ScheduleArgs.builder()
.dayOfWeek("Sunday")
.enable(true)
.startTime("23:17")
.weeklyInterval(1)
.build())
.build())
.autoBackupSettings(AutoBackupSettingsArgs.builder()
.backupScheduleType("Manual")
.backupSystemDbs(true)
.enable(true)
.enableEncryption(true)
.fullBackupFrequency("Daily")
.fullBackupStartTime(6)
.fullBackupWindowHours(11)
.logBackupFrequency(10)
.password("<Password>")
.retentionPeriod(17)
.storageAccessKey("<primary storage access key>")
.storageAccountUrl("https://teststorage.blob.core.windows.net/")
.storageContainerName("testcontainer")
.build())
.autoPatchingSettings(AutoPatchingSettingsArgs.builder()
.dayOfWeek("Sunday")
.enable(true)
.maintenanceWindowDuration(60)
.maintenanceWindowStartingHour(2)
.build())
.keyVaultCredentialSettings(KeyVaultCredentialSettingsArgs.builder()
.enable(false)
.build())
.location("northeurope")
.resourceGroupName("testrg")
.serverConfigurationsManagementSettings(ServerConfigurationsManagementSettingsArgs.builder()
.additionalFeaturesServerConfigurations(AdditionalFeaturesServerConfigurationsArgs.builder()
.isRServicesEnabled(false)
.build())
.sqlConnectivityUpdateSettings(SqlConnectivityUpdateSettingsArgs.builder()
.connectivityType("PRIVATE")
.port(1433)
.sqlAuthUpdatePassword("<password>")
.sqlAuthUpdateUserName("sqllogin")
.build())
.sqlInstanceSettings(SQLInstanceSettingsArgs.builder()
.collation("SQL_Latin1_General_CP1_CI_AS")
.isIfiEnabled(true)
.isLpimEnabled(true)
.isOptimizeForAdHocWorkloadsEnabled(true)
.maxDop(8)
.maxServerMemoryMB(128)
.minServerMemoryMB(0)
.build())
.sqlStorageUpdateSettings(SqlStorageUpdateSettingsArgs.builder()
.diskConfigurationType("NEW")
.diskCount(1)
.startingDeviceId(2)
.build())
.sqlWorkloadTypeUpdateSettings(SqlWorkloadTypeUpdateSettingsArgs.builder()
.sqlWorkloadType("OLTP")
.build())
.build())
.sqlImageSku("Enterprise")
.sqlManagement("Full")
.sqlServerLicenseType("PAYG")
.sqlVirtualMachineName("testvm")
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm")
.build());
}
}

Creates or updates a SQL virtual machine with min parameters.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sqlVirtualMachine = new AzureNative.SqlVirtualMachine.SqlVirtualMachine("sqlVirtualMachine", new()
{
Location = "northeurope",
ResourceGroupName = "testrg",
SqlVirtualMachineName = "testvm",
VirtualMachineResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm",
});
});
package main
import (
sqlvirtualmachine "github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sqlvirtualmachine.NewSqlVirtualMachine(ctx, "sqlVirtualMachine", &sqlvirtualmachine.SqlVirtualMachineArgs{
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("testrg"),
SqlVirtualMachineName: pulumi.String("testvm"),
VirtualMachineResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm"),
})
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.azurenative.sqlvirtualmachine.SqlVirtualMachine;
import com.pulumi.azurenative.sqlvirtualmachine.SqlVirtualMachineArgs;
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 sqlVirtualMachine = new SqlVirtualMachine("sqlVirtualMachine", SqlVirtualMachineArgs.builder()
.location("northeurope")
.resourceGroupName("testrg")
.sqlVirtualMachineName("testvm")
.virtualMachineResourceId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:sqlvirtualmachine:SqlVirtualMachine testvm /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}

Properties

Link copied to clipboard

Assessment Settings.

Link copied to clipboard

Auto backup settings for SQL Server.

Link copied to clipboard

Auto patching settings for applying critical security updates to SQL virtual machine.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Azure Active Directory identity of the server.

Link copied to clipboard

Key vault credential settings.

Link copied to clipboard
val location: Output<String>

Resource location.

Link copied to clipboard
val name: Output<String>

Resource name.

Link copied to clipboard

Provisioning state to track the async operation status.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

SQL Server configuration management settings.

Link copied to clipboard
val sqlImageOffer: Output<String>?

SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.

Link copied to clipboard
val sqlImageSku: Output<String>?

SQL Server edition type.

Link copied to clipboard
val sqlManagement: Output<String>?

SQL Server Management type.

Link copied to clipboard

SQL Server license type.

Link copied to clipboard

ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of.

Link copied to clipboard

Storage Configuration Settings.

Link copied to clipboard

Metadata pertaining to creation and last modification of the resource.

Link copied to clipboard
val tags: Output<Map<String, String>>?

Resource tags.

Link copied to clipboard
val type: Output<String>

Resource type.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

ARM Resource id of underlying virtual machine created from SQL marketplace image.

Link copied to clipboard

Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.

Link copied to clipboard
val wsfcStaticIp: Output<String>?

Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.