Class SqlVirtualMachine


  • public class SqlVirtualMachine
    extends com.pulumi.resources.CustomResource
    A SQL virtual machine. Azure REST API version: 2022-02-01. Prior API version in Azure Native 1.x: 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. ```java 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. ```java 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. ```java 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. ```java 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. ```java 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. ```java 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. ```sh $ pulumi import azure-native:sqlvirtualmachine:SqlVirtualMachine testvm /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName} ```
    • Constructor Detail

      • SqlVirtualMachine

        public SqlVirtualMachine​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • SqlVirtualMachine

        public SqlVirtualMachine​(java.lang.String name,
                                 SqlVirtualMachineArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • SqlVirtualMachine

        public SqlVirtualMachine​(java.lang.String name,
                                 SqlVirtualMachineArgs args,
                                 @Nullable
                                 com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • assessmentSettings

        public com.pulumi.core.Output<java.util.Optional<AssessmentSettingsResponse>> assessmentSettings()
        Returns:
        Assessment Settings.
      • autoBackupSettings

        public com.pulumi.core.Output<java.util.Optional<AutoBackupSettingsResponse>> autoBackupSettings()
        Returns:
        Auto backup settings for SQL Server.
      • autoPatchingSettings

        public com.pulumi.core.Output<java.util.Optional<AutoPatchingSettingsResponse>> autoPatchingSettings()
        Returns:
        Auto patching settings for applying critical security updates to SQL virtual machine.
      • identity

        public com.pulumi.core.Output<java.util.Optional<ResourceIdentityResponse>> identity()
        Returns:
        Azure Active Directory identity of the server.
      • keyVaultCredentialSettings

        public com.pulumi.core.Output<java.util.Optional<KeyVaultCredentialSettingsResponse>> keyVaultCredentialSettings()
        Returns:
        Key vault credential settings.
      • location

        public com.pulumi.core.Output<java.lang.String> location()
        Returns:
        Resource location.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Resource name.
      • provisioningState

        public com.pulumi.core.Output<java.lang.String> provisioningState()
        Returns:
        Provisioning state to track the async operation status.
      • serverConfigurationsManagementSettings

        public com.pulumi.core.Output<java.util.Optional<ServerConfigurationsManagementSettingsResponse>> serverConfigurationsManagementSettings()
        Returns:
        SQL Server configuration management settings.
      • sqlImageOffer

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sqlImageOffer()
        Returns:
        SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.
      • sqlImageSku

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sqlImageSku()
        Returns:
        SQL Server edition type.
      • sqlManagement

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sqlManagement()
        Returns:
        SQL Server Management type.
      • sqlServerLicenseType

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sqlServerLicenseType()
        Returns:
        SQL Server license type.
      • sqlVirtualMachineGroupResourceId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sqlVirtualMachineGroupResourceId()
        Returns:
        ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of.
      • storageConfigurationSettings

        public com.pulumi.core.Output<java.util.Optional<StorageConfigurationSettingsResponse>> storageConfigurationSettings()
        Returns:
        Storage Configuration Settings.
      • systemData

        public com.pulumi.core.Output<SystemDataResponse> systemData()
        Returns:
        Metadata pertaining to creation and last modification of the resource.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Resource tags.
      • type

        public com.pulumi.core.Output<java.lang.String> type()
        Returns:
        Resource type.
      • virtualMachineResourceId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> virtualMachineResourceId()
        Returns:
        ARM Resource id of underlying virtual machine created from SQL marketplace image.
      • wsfcDomainCredentials

        public com.pulumi.core.Output<java.util.Optional<WsfcDomainCredentialsResponse>> wsfcDomainCredentials()
        Returns:
        Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.
      • wsfcStaticIp

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> wsfcStaticIp()
        Returns:
        Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.
      • get

        public static SqlVirtualMachine get​(java.lang.String name,
                                            com.pulumi.core.Output<java.lang.String> id,
                                            @Nullable
                                            com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        options - Optional settings to control the behavior of the CustomResource.