ManagedInstanceFailoverGroupArgs

data class ManagedInstanceFailoverGroupArgs(val location: Output<String>? = null, val managedInstanceId: Output<String>? = null, val name: Output<String>? = null, val partnerManagedInstanceId: Output<String>? = null, val readWriteEndpointFailoverPolicy: Output<ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs>? = null, val readonlyEndpointFailoverPolicyEnabled: Output<Boolean>? = null) : ConvertibleToJava<ManagedInstanceFailoverGroupArgs>

Manages an Azure SQL Managed Instance Failover Group.

Example Usage

Note: For a more complete example, see the ./examples/sql-azure/managed_instance_failover_group directory within the GitHub Repository.

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.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkSecurityGroup;
import com.pulumi.azure.network.NetworkSecurityGroupArgs;
import com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;
import com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;
import com.pulumi.azure.network.RouteTable;
import com.pulumi.azure.network.RouteTableArgs;
import com.pulumi.azure.network.SubnetRouteTableAssociation;
import com.pulumi.azure.network.SubnetRouteTableAssociationArgs;
import com.pulumi.azure.mssql.ManagedInstance;
import com.pulumi.azure.mssql.ManagedInstanceArgs;
import com.pulumi.azure.mssql.ManagedInstanceFailoverGroup;
import com.pulumi.azure.mssql.ManagedInstanceFailoverGroupArgs;
import com.pulumi.azure.mssql.inputs.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs;
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 exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example")
.location(example.location())
.resourceGroupName(example.name())
.addressSpaces("10.0.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.name("example")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleNetworkSecurityGroup = new NetworkSecurityGroup("exampleNetworkSecurityGroup", NetworkSecurityGroupArgs.builder()
.name("example")
.location(example.location())
.resourceGroupName(example.name())
.build());
var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation("exampleSubnetNetworkSecurityGroupAssociation", SubnetNetworkSecurityGroupAssociationArgs.builder()
.subnetId(exampleSubnet.id())
.networkSecurityGroupId(exampleNetworkSecurityGroup.id())
.build());
var exampleRouteTable = new RouteTable("exampleRouteTable", RouteTableArgs.builder()
.name("example")
.location(example.location())
.resourceGroupName(example.name())
.build());
var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation("exampleSubnetRouteTableAssociation", SubnetRouteTableAssociationArgs.builder()
.subnetId(exampleSubnet.id())
.routeTableId(exampleRouteTable.id())
.build());
var primary = new ManagedInstance("primary", ManagedInstanceArgs.builder()
.name("example-primary")
.resourceGroupName(example.name())
.location(example.location())
.administratorLogin("mradministrator")
.administratorLoginPassword("thisIsDog11")
.licenseType("BasePrice")
.subnetId(exampleSubnet.id())
.skuName("GP_Gen5")
.vcores(4)
.storageSizeInGb(32)
.tags(Map.of("environment", "prod"))
.build());
var secondary = new ManagedInstance("secondary", ManagedInstanceArgs.builder()
.name("example-secondary")
.resourceGroupName(example.name())
.location(example.location())
.administratorLogin("mradministrator")
.administratorLoginPassword("thisIsDog11")
.licenseType("BasePrice")
.subnetId(exampleSubnet.id())
.skuName("GP_Gen5")
.vcores(4)
.storageSizeInGb(32)
.tags(Map.of("environment", "prod"))
.build());
var exampleManagedInstanceFailoverGroup = new ManagedInstanceFailoverGroup("exampleManagedInstanceFailoverGroup", ManagedInstanceFailoverGroupArgs.builder()
.name("example-failover-group")
.location(primary.location())
.managedInstanceId(primary.id())
.partnerManagedInstanceId(secondary.id())
.readWriteEndpointFailoverPolicy(ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs.builder()
.mode("Automatic")
.graceMinutes(60)
.build())
.build());
}
}

Import

SQL Instance Failover Groups can be imported using the resource id, e.g.

$ pulumi import azure:mssql/managedInstanceFailoverGroup:ManagedInstanceFailoverGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/locations/Location/instanceFailoverGroups/failoverGroup1

Constructors

Link copied to clipboard
fun ManagedInstanceFailoverGroupArgs(location: Output<String>? = null, managedInstanceId: Output<String>? = null, name: Output<String>? = null, partnerManagedInstanceId: Output<String>? = null, readWriteEndpointFailoverPolicy: Output<ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs>? = null, readonlyEndpointFailoverPolicyEnabled: Output<Boolean>? = null)

Functions

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

Properties

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

The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.

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

The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.

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

The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.

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

The ID of the Azure SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.

Link copied to clipboard

Failover policy for the read-only endpoint. Defaults to true.

Link copied to clipboard

A read_write_endpoint_failover_policy block as defined below.