VirtualMachineArgs

data class VirtualMachineArgs(val assessment: Output<VirtualMachineAssessmentArgs>? = null, val autoBackup: Output<VirtualMachineAutoBackupArgs>? = null, val autoPatching: Output<VirtualMachineAutoPatchingArgs>? = null, val keyVaultCredential: Output<VirtualMachineKeyVaultCredentialArgs>? = null, val rServicesEnabled: Output<Boolean>? = null, val sqlConnectivityPort: Output<Int>? = null, val sqlConnectivityType: Output<String>? = null, val sqlConnectivityUpdatePassword: Output<String>? = null, val sqlConnectivityUpdateUsername: Output<String>? = null, val sqlInstance: Output<VirtualMachineSqlInstanceArgs>? = null, val sqlLicenseType: Output<String>? = null, val sqlVirtualMachineGroupId: Output<String>? = null, val storageConfiguration: Output<VirtualMachineStorageConfigurationArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualMachineId: Output<String>? = null, val wsfcDomainCredential: Output<VirtualMachineWsfcDomainCredentialArgs>? = null) : ConvertibleToJava<VirtualMachineArgs>

Manages a Microsoft SQL Virtual Machine

Example Usage

This example provisions a brief Managed Microsoft SQL Virtual Machine.

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.compute.getVirtualMachine({
name: "example-vm",
resourceGroupName: "example-resources",
});
const exampleVirtualMachine = new azure.mssql.VirtualMachine("example", {
virtualMachineId: example.then(example => example.id),
sqlLicenseType: "PAYG",
rServicesEnabled: true,
sqlConnectivityPort: 1433,
sqlConnectivityType: "PRIVATE",
sqlConnectivityUpdatePassword: "Password1234!",
sqlConnectivityUpdateUsername: "sqllogin",
autoPatching: {
dayOfWeek: "Sunday",
maintenanceWindowDurationInMinutes: 60,
maintenanceWindowStartingHour: 2,
},
});
import pulumi
import pulumi_azure as azure
example = azure.compute.get_virtual_machine(name="example-vm",
resource_group_name="example-resources")
example_virtual_machine = azure.mssql.VirtualMachine("example",
virtual_machine_id=example.id,
sql_license_type="PAYG",
r_services_enabled=True,
sql_connectivity_port=1433,
sql_connectivity_type="PRIVATE",
sql_connectivity_update_password="Password1234!",
sql_connectivity_update_username="sqllogin",
auto_patching={
"day_of_week": "Sunday",
"maintenance_window_duration_in_minutes": 60,
"maintenance_window_starting_hour": 2,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = Azure.Compute.GetVirtualMachine.Invoke(new()
{
Name = "example-vm",
ResourceGroupName = "example-resources",
});
var exampleVirtualMachine = new Azure.MSSql.VirtualMachine("example", new()
{
VirtualMachineId = example.Apply(getVirtualMachineResult => getVirtualMachineResult.Id),
SqlLicenseType = "PAYG",
RServicesEnabled = true,
SqlConnectivityPort = 1433,
SqlConnectivityType = "PRIVATE",
SqlConnectivityUpdatePassword = "Password1234!",
SqlConnectivityUpdateUsername = "sqllogin",
AutoPatching = new Azure.MSSql.Inputs.VirtualMachineAutoPatchingArgs
{
DayOfWeek = "Sunday",
MaintenanceWindowDurationInMinutes = 60,
MaintenanceWindowStartingHour = 2,
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := compute.LookupVirtualMachine(ctx, &compute.LookupVirtualMachineArgs{
Name: "example-vm",
ResourceGroupName: "example-resources",
}, nil)
if err != nil {
return err
}
_, err = mssql.NewVirtualMachine(ctx, "example", &mssql.VirtualMachineArgs{
VirtualMachineId: pulumi.String(example.Id),
SqlLicenseType: pulumi.String("PAYG"),
RServicesEnabled: pulumi.Bool(true),
SqlConnectivityPort: pulumi.Int(1433),
SqlConnectivityType: pulumi.String("PRIVATE"),
SqlConnectivityUpdatePassword: pulumi.String("Password1234!"),
SqlConnectivityUpdateUsername: pulumi.String("sqllogin"),
AutoPatching: &mssql.VirtualMachineAutoPatchingArgs{
DayOfWeek: pulumi.String("Sunday"),
MaintenanceWindowDurationInMinutes: pulumi.Int(60),
MaintenanceWindowStartingHour: pulumi.Int(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.compute.ComputeFunctions;
import com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;
import com.pulumi.azure.mssql.VirtualMachine;
import com.pulumi.azure.mssql.VirtualMachineArgs;
import com.pulumi.azure.mssql.inputs.VirtualMachineAutoPatchingArgs;
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) {
final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()
.name("example-vm")
.resourceGroupName("example-resources")
.build());
var exampleVirtualMachine = new VirtualMachine("exampleVirtualMachine", VirtualMachineArgs.builder()
.virtualMachineId(example.id())
.sqlLicenseType("PAYG")
.rServicesEnabled(true)
.sqlConnectivityPort(1433)
.sqlConnectivityType("PRIVATE")
.sqlConnectivityUpdatePassword("Password1234!")
.sqlConnectivityUpdateUsername("sqllogin")
.autoPatching(VirtualMachineAutoPatchingArgs.builder()
.dayOfWeek("Sunday")
.maintenanceWindowDurationInMinutes(60)
.maintenanceWindowStartingHour(2)
.build())
.build());
}
}
resources:
exampleVirtualMachine:
type: azure:mssql:VirtualMachine
name: example
properties:
virtualMachineId: ${example.id}
sqlLicenseType: PAYG
rServicesEnabled: true
sqlConnectivityPort: 1433
sqlConnectivityType: PRIVATE
sqlConnectivityUpdatePassword: Password1234!
sqlConnectivityUpdateUsername: sqllogin
autoPatching:
dayOfWeek: Sunday
maintenanceWindowDurationInMinutes: 60
maintenanceWindowStartingHour: 2
variables:
example:
fn::invoke:
function: azure:compute:getVirtualMachine
arguments:
name: example-vm
resourceGroupName: example-resources

API Providers

This resource uses the following Azure API Providers:

  • Microsoft.Compute: 2024-03-01

  • Microsoft.SqlVirtualMachine: 2023-10-01

Import

Microsoft SQL Virtual Machines can be imported using the resource id, e.g.

$ pulumi import azure:mssql/virtualMachine:VirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/example1

Constructors

Link copied to clipboard
constructor(assessment: Output<VirtualMachineAssessmentArgs>? = null, autoBackup: Output<VirtualMachineAutoBackupArgs>? = null, autoPatching: Output<VirtualMachineAutoPatchingArgs>? = null, keyVaultCredential: Output<VirtualMachineKeyVaultCredentialArgs>? = null, rServicesEnabled: Output<Boolean>? = null, sqlConnectivityPort: Output<Int>? = null, sqlConnectivityType: Output<String>? = null, sqlConnectivityUpdatePassword: Output<String>? = null, sqlConnectivityUpdateUsername: Output<String>? = null, sqlInstance: Output<VirtualMachineSqlInstanceArgs>? = null, sqlLicenseType: Output<String>? = null, sqlVirtualMachineGroupId: Output<String>? = null, storageConfiguration: Output<VirtualMachineStorageConfigurationArgs>? = null, tags: Output<Map<String, String>>? = null, virtualMachineId: Output<String>? = null, wsfcDomainCredential: Output<VirtualMachineWsfcDomainCredentialArgs>? = null)

Properties

Link copied to clipboard

An assessment block as defined below.

Link copied to clipboard

An auto_backup block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.

Link copied to clipboard

An auto_patching block as defined below.

Link copied to clipboard

An key_vault_credential block as defined below.

Link copied to clipboard
val rServicesEnabled: Output<Boolean>? = null

Should R Services be enabled?

Link copied to clipboard
val sqlConnectivityPort: Output<Int>? = null

The SQL Server port. Defaults to 1433.

Link copied to clipboard
val sqlConnectivityType: Output<String>? = null

The connectivity type used for this SQL Server. Possible values are LOCAL, PRIVATE and PUBLIC. Defaults to PRIVATE.

Link copied to clipboard

The SQL Server sysadmin login password.

Link copied to clipboard

The SQL Server sysadmin login to create.

Link copied to clipboard

A sql_instance block as defined below.

Link copied to clipboard
val sqlLicenseType: Output<String>? = null

The SQL Server license type. Possible values are AHUB (Azure Hybrid Benefit), DR (Disaster Recovery), and PAYG (Pay-As-You-Go). Changing this forces a new resource to be created.

Link copied to clipboard
val sqlVirtualMachineGroupId: Output<String>? = null

The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.

Link copied to clipboard

An storage_configuration block as defined below.

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

A mapping of tags to assign to the resource.

Link copied to clipboard
val virtualMachineId: Output<String>? = null

The ID of the Virtual Machine. Changing this forces a new resource to be created.

Link copied to clipboard

A wsfc_domain_credential block as defined below

Functions

Link copied to clipboard
open override fun toJava(): VirtualMachineArgs