azure-native.sql.DistributedAvailabilityGroup
Explore with Pulumi AI
Distributed availability group between box and Sql Managed Instance. Azure REST API version: 2021-11-01. Prior API version in Azure Native 1.x: 2021-05-01-preview.
Other available API versions: 2022-11-01-preview, 2023-02-01-preview, 2023-05-01-preview, 2023-08-01-preview, 2024-05-01-preview.
Example Usage
Create a distributed availability group.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var distributedAvailabilityGroup = new AzureNative.Sql.DistributedAvailabilityGroup("distributedAvailabilityGroup", new()
    {
        DistributedAvailabilityGroupName = "dag",
        ManagedInstanceName = "testcl",
        PrimaryAvailabilityGroupName = "BoxLocalAg1",
        ResourceGroupName = "testrg",
        SecondaryAvailabilityGroupName = "testcl",
        SourceEndpoint = "TCP://SERVER:7022",
        TargetDatabase = "testdb",
    });
});
package main
import (
	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := sql.NewDistributedAvailabilityGroup(ctx, "distributedAvailabilityGroup", &sql.DistributedAvailabilityGroupArgs{
			DistributedAvailabilityGroupName: pulumi.String("dag"),
			ManagedInstanceName:              pulumi.String("testcl"),
			PrimaryAvailabilityGroupName:     pulumi.String("BoxLocalAg1"),
			ResourceGroupName:                pulumi.String("testrg"),
			SecondaryAvailabilityGroupName:   pulumi.String("testcl"),
			SourceEndpoint:                   pulumi.String("TCP://SERVER:7022"),
			TargetDatabase:                   pulumi.String("testdb"),
		})
		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.sql.DistributedAvailabilityGroup;
import com.pulumi.azurenative.sql.DistributedAvailabilityGroupArgs;
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 distributedAvailabilityGroup = new DistributedAvailabilityGroup("distributedAvailabilityGroup", DistributedAvailabilityGroupArgs.builder()
            .distributedAvailabilityGroupName("dag")
            .managedInstanceName("testcl")
            .primaryAvailabilityGroupName("BoxLocalAg1")
            .resourceGroupName("testrg")
            .secondaryAvailabilityGroupName("testcl")
            .sourceEndpoint("TCP://SERVER:7022")
            .targetDatabase("testdb")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const distributedAvailabilityGroup = new azure_native.sql.DistributedAvailabilityGroup("distributedAvailabilityGroup", {
    distributedAvailabilityGroupName: "dag",
    managedInstanceName: "testcl",
    primaryAvailabilityGroupName: "BoxLocalAg1",
    resourceGroupName: "testrg",
    secondaryAvailabilityGroupName: "testcl",
    sourceEndpoint: "TCP://SERVER:7022",
    targetDatabase: "testdb",
});
import pulumi
import pulumi_azure_native as azure_native
distributed_availability_group = azure_native.sql.DistributedAvailabilityGroup("distributedAvailabilityGroup",
    distributed_availability_group_name="dag",
    managed_instance_name="testcl",
    primary_availability_group_name="BoxLocalAg1",
    resource_group_name="testrg",
    secondary_availability_group_name="testcl",
    source_endpoint="TCP://SERVER:7022",
    target_database="testdb")
resources:
  distributedAvailabilityGroup:
    type: azure-native:sql:DistributedAvailabilityGroup
    properties:
      distributedAvailabilityGroupName: dag
      managedInstanceName: testcl
      primaryAvailabilityGroupName: BoxLocalAg1
      resourceGroupName: testrg
      secondaryAvailabilityGroupName: testcl
      sourceEndpoint: TCP://SERVER:7022
      targetDatabase: testdb
Create DistributedAvailabilityGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new DistributedAvailabilityGroup(name: string, args: DistributedAvailabilityGroupArgs, opts?: CustomResourceOptions);@overload
def DistributedAvailabilityGroup(resource_name: str,
                                 args: DistributedAvailabilityGroupArgs,
                                 opts: Optional[ResourceOptions] = None)
@overload
def DistributedAvailabilityGroup(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 managed_instance_name: Optional[str] = None,
                                 resource_group_name: Optional[str] = None,
                                 distributed_availability_group_name: Optional[str] = None,
                                 primary_availability_group_name: Optional[str] = None,
                                 replication_mode: Optional[Union[str, ReplicationMode]] = None,
                                 secondary_availability_group_name: Optional[str] = None,
                                 source_endpoint: Optional[str] = None,
                                 target_database: Optional[str] = None)func NewDistributedAvailabilityGroup(ctx *Context, name string, args DistributedAvailabilityGroupArgs, opts ...ResourceOption) (*DistributedAvailabilityGroup, error)public DistributedAvailabilityGroup(string name, DistributedAvailabilityGroupArgs args, CustomResourceOptions? opts = null)
public DistributedAvailabilityGroup(String name, DistributedAvailabilityGroupArgs args)
public DistributedAvailabilityGroup(String name, DistributedAvailabilityGroupArgs args, CustomResourceOptions options)
type: azure-native:sql:DistributedAvailabilityGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args DistributedAvailabilityGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args DistributedAvailabilityGroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DistributedAvailabilityGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DistributedAvailabilityGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DistributedAvailabilityGroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var distributedAvailabilityGroupResource = new AzureNative.Sql.DistributedAvailabilityGroup("distributedAvailabilityGroupResource", new()
{
    ManagedInstanceName = "string",
    ResourceGroupName = "string",
    DistributedAvailabilityGroupName = "string",
    PrimaryAvailabilityGroupName = "string",
    ReplicationMode = "string",
    SecondaryAvailabilityGroupName = "string",
    SourceEndpoint = "string",
    TargetDatabase = "string",
});
example, err := sql.NewDistributedAvailabilityGroup(ctx, "distributedAvailabilityGroupResource", &sql.DistributedAvailabilityGroupArgs{
	ManagedInstanceName:              pulumi.String("string"),
	ResourceGroupName:                pulumi.String("string"),
	DistributedAvailabilityGroupName: pulumi.String("string"),
	PrimaryAvailabilityGroupName:     pulumi.String("string"),
	ReplicationMode:                  pulumi.String("string"),
	SecondaryAvailabilityGroupName:   pulumi.String("string"),
	SourceEndpoint:                   pulumi.String("string"),
	TargetDatabase:                   pulumi.String("string"),
})
var distributedAvailabilityGroupResource = new DistributedAvailabilityGroup("distributedAvailabilityGroupResource", DistributedAvailabilityGroupArgs.builder()
    .managedInstanceName("string")
    .resourceGroupName("string")
    .distributedAvailabilityGroupName("string")
    .primaryAvailabilityGroupName("string")
    .replicationMode("string")
    .secondaryAvailabilityGroupName("string")
    .sourceEndpoint("string")
    .targetDatabase("string")
    .build());
distributed_availability_group_resource = azure_native.sql.DistributedAvailabilityGroup("distributedAvailabilityGroupResource",
    managed_instance_name="string",
    resource_group_name="string",
    distributed_availability_group_name="string",
    primary_availability_group_name="string",
    replication_mode="string",
    secondary_availability_group_name="string",
    source_endpoint="string",
    target_database="string")
const distributedAvailabilityGroupResource = new azure_native.sql.DistributedAvailabilityGroup("distributedAvailabilityGroupResource", {
    managedInstanceName: "string",
    resourceGroupName: "string",
    distributedAvailabilityGroupName: "string",
    primaryAvailabilityGroupName: "string",
    replicationMode: "string",
    secondaryAvailabilityGroupName: "string",
    sourceEndpoint: "string",
    targetDatabase: "string",
});
type: azure-native:sql:DistributedAvailabilityGroup
properties:
    distributedAvailabilityGroupName: string
    managedInstanceName: string
    primaryAvailabilityGroupName: string
    replicationMode: string
    resourceGroupName: string
    secondaryAvailabilityGroupName: string
    sourceEndpoint: string
    targetDatabase: string
DistributedAvailabilityGroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The DistributedAvailabilityGroup resource accepts the following input properties:
- ManagedInstance stringName 
- The name of the managed instance.
- ResourceGroup stringName 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- DistributedAvailability stringGroup Name 
- The distributed availability group name.
- PrimaryAvailability stringGroup Name 
- The primary availability group name
- ReplicationMode string | Pulumi.Azure Native. Sql. Replication Mode 
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- SecondaryAvailability stringGroup Name 
- The secondary availability group name
- SourceEndpoint string
- The source endpoint
- TargetDatabase string
- The name of the target database
- ManagedInstance stringName 
- The name of the managed instance.
- ResourceGroup stringName 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- DistributedAvailability stringGroup Name 
- The distributed availability group name.
- PrimaryAvailability stringGroup Name 
- The primary availability group name
- ReplicationMode string | ReplicationMode 
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- SecondaryAvailability stringGroup Name 
- The secondary availability group name
- SourceEndpoint string
- The source endpoint
- TargetDatabase string
- The name of the target database
- managedInstance StringName 
- The name of the managed instance.
- resourceGroup StringName 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- distributedAvailability StringGroup Name 
- The distributed availability group name.
- primaryAvailability StringGroup Name 
- The primary availability group name
- replicationMode String | ReplicationMode 
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- secondaryAvailability StringGroup Name 
- The secondary availability group name
- sourceEndpoint String
- The source endpoint
- targetDatabase String
- The name of the target database
- managedInstance stringName 
- The name of the managed instance.
- resourceGroup stringName 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- distributedAvailability stringGroup Name 
- The distributed availability group name.
- primaryAvailability stringGroup Name 
- The primary availability group name
- replicationMode string | ReplicationMode 
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- secondaryAvailability stringGroup Name 
- The secondary availability group name
- sourceEndpoint string
- The source endpoint
- targetDatabase string
- The name of the target database
- managed_instance_ strname 
- The name of the managed instance.
- resource_group_ strname 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- distributed_availability_ strgroup_ name 
- The distributed availability group name.
- primary_availability_ strgroup_ name 
- The primary availability group name
- replication_mode str | ReplicationMode 
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- secondary_availability_ strgroup_ name 
- The secondary availability group name
- source_endpoint str
- The source endpoint
- target_database str
- The name of the target database
- managedInstance StringName 
- The name of the managed instance.
- resourceGroup StringName 
- The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
- distributedAvailability StringGroup Name 
- The distributed availability group name.
- primaryAvailability StringGroup Name 
- The primary availability group name
- replicationMode String | "Async" | "Sync"
- The replication mode of a distributed availability group. Parameter will be ignored during link creation.
- secondaryAvailability StringGroup Name 
- The secondary availability group name
- sourceEndpoint String
- The source endpoint
- targetDatabase String
- The name of the target database
Outputs
All input properties are implicitly available as output properties. Additionally, the DistributedAvailabilityGroup resource produces the following output properties:
- DistributedAvailability stringGroup Id 
- The distributed availability group id
- Id string
- The provider-assigned unique ID for this managed resource.
- LastHardened stringLsn 
- The last hardened lsn
- LinkState string
- The link state
- Name string
- Resource name.
- SourceReplica stringId 
- The source replica id
- TargetReplica stringId 
- The target replica id
- Type string
- Resource type.
- DistributedAvailability stringGroup Id 
- The distributed availability group id
- Id string
- The provider-assigned unique ID for this managed resource.
- LastHardened stringLsn 
- The last hardened lsn
- LinkState string
- The link state
- Name string
- Resource name.
- SourceReplica stringId 
- The source replica id
- TargetReplica stringId 
- The target replica id
- Type string
- Resource type.
- distributedAvailability StringGroup Id 
- The distributed availability group id
- id String
- The provider-assigned unique ID for this managed resource.
- lastHardened StringLsn 
- The last hardened lsn
- linkState String
- The link state
- name String
- Resource name.
- sourceReplica StringId 
- The source replica id
- targetReplica StringId 
- The target replica id
- type String
- Resource type.
- distributedAvailability stringGroup Id 
- The distributed availability group id
- id string
- The provider-assigned unique ID for this managed resource.
- lastHardened stringLsn 
- The last hardened lsn
- linkState string
- The link state
- name string
- Resource name.
- sourceReplica stringId 
- The source replica id
- targetReplica stringId 
- The target replica id
- type string
- Resource type.
- distributed_availability_ strgroup_ id 
- The distributed availability group id
- id str
- The provider-assigned unique ID for this managed resource.
- last_hardened_ strlsn 
- The last hardened lsn
- link_state str
- The link state
- name str
- Resource name.
- source_replica_ strid 
- The source replica id
- target_replica_ strid 
- The target replica id
- type str
- Resource type.
- distributedAvailability StringGroup Id 
- The distributed availability group id
- id String
- The provider-assigned unique ID for this managed resource.
- lastHardened StringLsn 
- The last hardened lsn
- linkState String
- The link state
- name String
- Resource name.
- sourceReplica StringId 
- The source replica id
- targetReplica StringId 
- The target replica id
- type String
- Resource type.
Supporting Types
ReplicationMode, ReplicationModeArgs    
- Async
- Async
- Sync
- Sync
- ReplicationMode Async 
- Async
- ReplicationMode Sync 
- Sync
- Async
- Async
- Sync
- Sync
- Async
- Async
- Sync
- Sync
- ASYNC_
- Async
- SYNC
- Sync
- "Async"
- Async
- "Sync"
- Sync
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:sql:DistributedAvailabilityGroup dag /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/distributedAvailabilityGroups/{distributedAvailabilityGroupName} 
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0