1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. DisasterRecovery
  5. DrProtectionGroup
Oracle Cloud Infrastructure v1.33.0 published on Thursday, Apr 25, 2024 by Pulumi

oci.DisasterRecovery.DrProtectionGroup

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v1.33.0 published on Thursday, Apr 25, 2024 by Pulumi

    This resource provides the Dr Protection Group resource in Oracle Cloud Infrastructure Disaster Recovery service.

    Create a DR protection group.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const config = new pulumi.Config();
    const disassociateTrigger = config.getNumber("disassociateTrigger") || 0;
    const testDrProtectionGroup = new oci.disasterrecovery.DrProtectionGroup("test_dr_protection_group", {
        compartmentId: compartmentId,
        displayName: drProtectionGroupDisplayName,
        logLocation: {
            bucket: drProtectionGroupLogLocationBucket,
            namespace: drProtectionGroupLogLocationNamespace,
        },
        association: {
            role: drProtectionGroupAssociationRole,
            peerId: drProtectionGroupAssociationPeerId,
            peerRegion: drProtectionGroupAssociationPeerRegion,
        },
        definedTags: {
            "Operations.CostCenter": "42",
        },
        freeformTags: {
            Department: "Finance",
        },
        disassociateTrigger: disassociateTrigger,
        members: [{
            memberId: drProtectionGroupMembersMemberId,
            memberType: drProtectionGroupMembersMemberType,
            backendSetMappings: [{
                destinationBackendSetName: testBackendSet.name,
                isBackendSetForNonMovable: drProtectionGroupMembersBackendSetMappingsIsBackendSetForNonMovable,
                sourceBackendSetName: testBackendSet.name,
            }],
            blockVolumeOperations: [{
                attachmentDetails: {
                    volumeAttachmentReferenceInstanceId: testInstance.id,
                },
                blockVolumeId: testVolume.id,
                mountDetails: {
                    mountPoint: drProtectionGroupMembersBlockVolumeOperationsMountDetailsMountPoint,
                },
            }],
            destinationAvailabilityDomain: drProtectionGroupMembersDestinationAvailabilityDomain,
            destinationCapacityReservationId: destinationCapacityReservationId,
            destinationCompartmentId: testCompartment.id,
            destinationDedicatedVmHostId: testDedicatedVmHost.id,
            destinationLoadBalancerId: testLoadBalancer.id,
            destinationNetworkLoadBalancerId: testNetworkLoadBalancer.id,
            exportMappings: [{
                destinationMountTargetId: testMountTarget.id,
                exportId: testExport.id,
            }],
            fileSystemOperations: [{
                exportPath: drProtectionGroupMembersFileSystemOperationsExportPath,
                mountDetails: {
                    mountTargetId: testMountTarget.id,
                },
                mountPoint: drProtectionGroupMembersFileSystemOperationsMountPoint,
                mountTargetId: testMountTarget.id,
                unmountDetails: {
                    mountTargetId: testMountTarget.id,
                },
            }],
            isMovable: drProtectionGroupMembersIsMovable,
            isRetainFaultDomain: drProtectionGroupMembersIsRetainFaultDomain,
            isStartStopEnabled: drProtectionGroupMembersIsStartStopEnabled,
            passwordVaultSecretId: passwordVaultSecretId,
            vnicMappings: [
                {
                    destinationNsgIdLists: drProtectionGroupMembersVnicMappingDestinationNsgIdList,
                    destinationPrimaryPrivateIpAddress: drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpAddress,
                    destinationPrimaryPrivateIpHostnameLabel: drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpHostnameLabel,
                    destinationSubnetId: testSubnet.id,
                    sourceVnicId: testVnic.id,
                },
                {
                    destinationNsgIdLists: drProtectionGroupMembersVnicMappingsDestinationNsgIdList,
                    destinationPrimaryPrivateIpAddress: drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpAddress,
                    destinationPrimaryPrivateIpHostnameLabel: drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpHostnameLabel,
                    destinationSubnetId: testSubnet.id,
                    sourceVnicId: testVnic.id,
                },
            ],
        }],
    });
    
    import pulumi
    import pulumi_oci as oci
    
    config = pulumi.Config()
    disassociate_trigger = config.get_float("disassociateTrigger")
    if disassociate_trigger is None:
        disassociate_trigger = 0
    test_dr_protection_group = oci.disaster_recovery.DrProtectionGroup("test_dr_protection_group",
        compartment_id=compartment_id,
        display_name=dr_protection_group_display_name,
        log_location=oci.disaster_recovery.DrProtectionGroupLogLocationArgs(
            bucket=dr_protection_group_log_location_bucket,
            namespace=dr_protection_group_log_location_namespace,
        ),
        association=oci.disaster_recovery.DrProtectionGroupAssociationArgs(
            role=dr_protection_group_association_role,
            peer_id=dr_protection_group_association_peer_id,
            peer_region=dr_protection_group_association_peer_region,
        ),
        defined_tags={
            "Operations.CostCenter": "42",
        },
        freeform_tags={
            "Department": "Finance",
        },
        disassociate_trigger=disassociate_trigger,
        members=[oci.disaster_recovery.DrProtectionGroupMemberArgs(
            member_id=dr_protection_group_members_member_id,
            member_type=dr_protection_group_members_member_type,
            backend_set_mappings=[oci.disaster_recovery.DrProtectionGroupMemberBackendSetMappingArgs(
                destination_backend_set_name=test_backend_set["name"],
                is_backend_set_for_non_movable=dr_protection_group_members_backend_set_mappings_is_backend_set_for_non_movable,
                source_backend_set_name=test_backend_set["name"],
            )],
            block_volume_operations=[oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationArgs(
                attachment_details=oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs(
                    volume_attachment_reference_instance_id=test_instance["id"],
                ),
                block_volume_id=test_volume["id"],
                mount_details=oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs(
                    mount_point=dr_protection_group_members_block_volume_operations_mount_details_mount_point,
                ),
            )],
            destination_availability_domain=dr_protection_group_members_destination_availability_domain,
            destination_capacity_reservation_id=destination_capacity_reservation_id,
            destination_compartment_id=test_compartment["id"],
            destination_dedicated_vm_host_id=test_dedicated_vm_host["id"],
            destination_load_balancer_id=test_load_balancer["id"],
            destination_network_load_balancer_id=test_network_load_balancer["id"],
            export_mappings=[oci.disaster_recovery.DrProtectionGroupMemberExportMappingArgs(
                destination_mount_target_id=test_mount_target["id"],
                export_id=test_export["id"],
            )],
            file_system_operations=[oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationArgs(
                export_path=dr_protection_group_members_file_system_operations_export_path,
                mount_details=oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs(
                    mount_target_id=test_mount_target["id"],
                ),
                mount_point=dr_protection_group_members_file_system_operations_mount_point,
                mount_target_id=test_mount_target["id"],
                unmount_details=oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs(
                    mount_target_id=test_mount_target["id"],
                ),
            )],
            is_movable=dr_protection_group_members_is_movable,
            is_retain_fault_domain=dr_protection_group_members_is_retain_fault_domain,
            is_start_stop_enabled=dr_protection_group_members_is_start_stop_enabled,
            password_vault_secret_id=password_vault_secret_id,
            vnic_mappings=[
                oci.disaster_recovery.DrProtectionGroupMemberVnicMappingArgs(
                    destination_nsg_id_lists=dr_protection_group_members_vnic_mapping_destination_nsg_id_list,
                    destination_primary_private_ip_address=dr_protection_group_members_vnic_mapping_destination_primary_private_ip_address,
                    destination_primary_private_ip_hostname_label=dr_protection_group_members_vnic_mapping_destination_primary_private_ip_hostname_label,
                    destination_subnet_id=test_subnet["id"],
                    source_vnic_id=test_vnic["id"],
                ),
                oci.disaster_recovery.DrProtectionGroupMemberVnicMappingArgs(
                    destination_nsg_id_lists=dr_protection_group_members_vnic_mappings_destination_nsg_id_list,
                    destination_primary_private_ip_address=dr_protection_group_members_vnic_mappings_destination_primary_private_ip_address,
                    destination_primary_private_ip_hostname_label=dr_protection_group_members_vnic_mappings_destination_primary_private_ip_hostname_label,
                    destination_subnet_id=test_subnet["id"],
                    source_vnic_id=test_vnic["id"],
                ),
            ],
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/go/oci/DisasterRecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		disassociateTrigger := float64(0)
    		if param := cfg.GetFloat64("disassociateTrigger"); param != 0 {
    			disassociateTrigger = param
    		}
    		_, err := DisasterRecovery.NewDrProtectionGroup(ctx, "test_dr_protection_group", &DisasterRecovery.DrProtectionGroupArgs{
    			CompartmentId: pulumi.Any(compartmentId),
    			DisplayName:   pulumi.Any(drProtectionGroupDisplayName),
    			LogLocation: &disasterrecovery.DrProtectionGroupLogLocationArgs{
    				Bucket:    pulumi.Any(drProtectionGroupLogLocationBucket),
    				Namespace: pulumi.Any(drProtectionGroupLogLocationNamespace),
    			},
    			Association: &disasterrecovery.DrProtectionGroupAssociationArgs{
    				Role:       pulumi.Any(drProtectionGroupAssociationRole),
    				PeerId:     pulumi.Any(drProtectionGroupAssociationPeerId),
    				PeerRegion: pulumi.Any(drProtectionGroupAssociationPeerRegion),
    			},
    			DefinedTags: pulumi.Map{
    				"Operations.CostCenter": pulumi.Any("42"),
    			},
    			FreeformTags: pulumi.Map{
    				"Department": pulumi.Any("Finance"),
    			},
    			DisassociateTrigger: pulumi.Float64(disassociateTrigger),
    			Members: disasterrecovery.DrProtectionGroupMemberArray{
    				&disasterrecovery.DrProtectionGroupMemberArgs{
    					MemberId:   pulumi.Any(drProtectionGroupMembersMemberId),
    					MemberType: pulumi.Any(drProtectionGroupMembersMemberType),
    					BackendSetMappings: disasterrecovery.DrProtectionGroupMemberBackendSetMappingArray{
    						&disasterrecovery.DrProtectionGroupMemberBackendSetMappingArgs{
    							DestinationBackendSetName: pulumi.Any(testBackendSet.Name),
    							IsBackendSetForNonMovable: pulumi.Any(drProtectionGroupMembersBackendSetMappingsIsBackendSetForNonMovable),
    							SourceBackendSetName:      pulumi.Any(testBackendSet.Name),
    						},
    					},
    					BlockVolumeOperations: disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationArray{
    						&disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationArgs{
    							AttachmentDetails: &disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs{
    								VolumeAttachmentReferenceInstanceId: pulumi.Any(testInstance.Id),
    							},
    							BlockVolumeId: pulumi.Any(testVolume.Id),
    							MountDetails: &disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs{
    								MountPoint: pulumi.Any(drProtectionGroupMembersBlockVolumeOperationsMountDetailsMountPoint),
    							},
    						},
    					},
    					DestinationAvailabilityDomain:    pulumi.Any(drProtectionGroupMembersDestinationAvailabilityDomain),
    					DestinationCapacityReservationId: pulumi.Any(destinationCapacityReservationId),
    					DestinationCompartmentId:         pulumi.Any(testCompartment.Id),
    					DestinationDedicatedVmHostId:     pulumi.Any(testDedicatedVmHost.Id),
    					DestinationLoadBalancerId:        pulumi.Any(testLoadBalancer.Id),
    					DestinationNetworkLoadBalancerId: pulumi.Any(testNetworkLoadBalancer.Id),
    					ExportMappings: disasterrecovery.DrProtectionGroupMemberExportMappingArray{
    						&disasterrecovery.DrProtectionGroupMemberExportMappingArgs{
    							DestinationMountTargetId: pulumi.Any(testMountTarget.Id),
    							ExportId:                 pulumi.Any(testExport.Id),
    						},
    					},
    					FileSystemOperations: disasterrecovery.DrProtectionGroupMemberFileSystemOperationArray{
    						&disasterrecovery.DrProtectionGroupMemberFileSystemOperationArgs{
    							ExportPath: pulumi.Any(drProtectionGroupMembersFileSystemOperationsExportPath),
    							MountDetails: &disasterrecovery.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs{
    								MountTargetId: pulumi.Any(testMountTarget.Id),
    							},
    							MountPoint:    pulumi.Any(drProtectionGroupMembersFileSystemOperationsMountPoint),
    							MountTargetId: pulumi.Any(testMountTarget.Id),
    							UnmountDetails: &disasterrecovery.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs{
    								MountTargetId: pulumi.Any(testMountTarget.Id),
    							},
    						},
    					},
    					IsMovable:             pulumi.Any(drProtectionGroupMembersIsMovable),
    					IsRetainFaultDomain:   pulumi.Any(drProtectionGroupMembersIsRetainFaultDomain),
    					IsStartStopEnabled:    pulumi.Any(drProtectionGroupMembersIsStartStopEnabled),
    					PasswordVaultSecretId: pulumi.Any(passwordVaultSecretId),
    					VnicMappings: disasterrecovery.DrProtectionGroupMemberVnicMappingArray{
    						&disasterrecovery.DrProtectionGroupMemberVnicMappingArgs{
    							DestinationNsgIdLists:                    pulumi.Any(drProtectionGroupMembersVnicMappingDestinationNsgIdList),
    							DestinationPrimaryPrivateIpAddress:       pulumi.Any(drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpAddress),
    							DestinationPrimaryPrivateIpHostnameLabel: pulumi.Any(drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpHostnameLabel),
    							DestinationSubnetId:                      pulumi.Any(testSubnet.Id),
    							SourceVnicId:                             pulumi.Any(testVnic.Id),
    						},
    						&disasterrecovery.DrProtectionGroupMemberVnicMappingArgs{
    							DestinationNsgIdLists:                    pulumi.Any(drProtectionGroupMembersVnicMappingsDestinationNsgIdList),
    							DestinationPrimaryPrivateIpAddress:       pulumi.Any(drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpAddress),
    							DestinationPrimaryPrivateIpHostnameLabel: pulumi.Any(drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpHostnameLabel),
    							DestinationSubnetId:                      pulumi.Any(testSubnet.Id),
    							SourceVnicId:                             pulumi.Any(testVnic.Id),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var disassociateTrigger = config.GetDouble("disassociateTrigger") ?? 0;
        var testDrProtectionGroup = new Oci.DisasterRecovery.DrProtectionGroup("test_dr_protection_group", new()
        {
            CompartmentId = compartmentId,
            DisplayName = drProtectionGroupDisplayName,
            LogLocation = new Oci.DisasterRecovery.Inputs.DrProtectionGroupLogLocationArgs
            {
                Bucket = drProtectionGroupLogLocationBucket,
                Namespace = drProtectionGroupLogLocationNamespace,
            },
            Association = new Oci.DisasterRecovery.Inputs.DrProtectionGroupAssociationArgs
            {
                Role = drProtectionGroupAssociationRole,
                PeerId = drProtectionGroupAssociationPeerId,
                PeerRegion = drProtectionGroupAssociationPeerRegion,
            },
            DefinedTags = 
            {
                { "Operations.CostCenter", "42" },
            },
            FreeformTags = 
            {
                { "Department", "Finance" },
            },
            DisassociateTrigger = disassociateTrigger,
            Members = new[]
            {
                new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberArgs
                {
                    MemberId = drProtectionGroupMembersMemberId,
                    MemberType = drProtectionGroupMembersMemberType,
                    BackendSetMappings = new[]
                    {
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBackendSetMappingArgs
                        {
                            DestinationBackendSetName = testBackendSet.Name,
                            IsBackendSetForNonMovable = drProtectionGroupMembersBackendSetMappingsIsBackendSetForNonMovable,
                            SourceBackendSetName = testBackendSet.Name,
                        },
                    },
                    BlockVolumeOperations = new[]
                    {
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationArgs
                        {
                            AttachmentDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs
                            {
                                VolumeAttachmentReferenceInstanceId = testInstance.Id,
                            },
                            BlockVolumeId = testVolume.Id,
                            MountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs
                            {
                                MountPoint = drProtectionGroupMembersBlockVolumeOperationsMountDetailsMountPoint,
                            },
                        },
                    },
                    DestinationAvailabilityDomain = drProtectionGroupMembersDestinationAvailabilityDomain,
                    DestinationCapacityReservationId = destinationCapacityReservationId,
                    DestinationCompartmentId = testCompartment.Id,
                    DestinationDedicatedVmHostId = testDedicatedVmHost.Id,
                    DestinationLoadBalancerId = testLoadBalancer.Id,
                    DestinationNetworkLoadBalancerId = testNetworkLoadBalancer.Id,
                    ExportMappings = new[]
                    {
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberExportMappingArgs
                        {
                            DestinationMountTargetId = testMountTarget.Id,
                            ExportId = testExport.Id,
                        },
                    },
                    FileSystemOperations = new[]
                    {
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationArgs
                        {
                            ExportPath = drProtectionGroupMembersFileSystemOperationsExportPath,
                            MountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs
                            {
                                MountTargetId = testMountTarget.Id,
                            },
                            MountPoint = drProtectionGroupMembersFileSystemOperationsMountPoint,
                            MountTargetId = testMountTarget.Id,
                            UnmountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs
                            {
                                MountTargetId = testMountTarget.Id,
                            },
                        },
                    },
                    IsMovable = drProtectionGroupMembersIsMovable,
                    IsRetainFaultDomain = drProtectionGroupMembersIsRetainFaultDomain,
                    IsStartStopEnabled = drProtectionGroupMembersIsStartStopEnabled,
                    PasswordVaultSecretId = passwordVaultSecretId,
                    VnicMappings = new[]
                    {
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberVnicMappingArgs
                        {
                            DestinationNsgIdLists = drProtectionGroupMembersVnicMappingDestinationNsgIdList,
                            DestinationPrimaryPrivateIpAddress = drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpAddress,
                            DestinationPrimaryPrivateIpHostnameLabel = drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpHostnameLabel,
                            DestinationSubnetId = testSubnet.Id,
                            SourceVnicId = testVnic.Id,
                        },
                        new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberVnicMappingArgs
                        {
                            DestinationNsgIdLists = drProtectionGroupMembersVnicMappingsDestinationNsgIdList,
                            DestinationPrimaryPrivateIpAddress = drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpAddress,
                            DestinationPrimaryPrivateIpHostnameLabel = drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpHostnameLabel,
                            DestinationSubnetId = testSubnet.Id,
                            SourceVnicId = testVnic.Id,
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.DisasterRecovery.DrProtectionGroup;
    import com.pulumi.oci.DisasterRecovery.DrProtectionGroupArgs;
    import com.pulumi.oci.DisasterRecovery.inputs.DrProtectionGroupLogLocationArgs;
    import com.pulumi.oci.DisasterRecovery.inputs.DrProtectionGroupAssociationArgs;
    import com.pulumi.oci.DisasterRecovery.inputs.DrProtectionGroupMemberArgs;
    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 config = ctx.config();
            final var disassociateTrigger = config.get("disassociateTrigger").orElse(0);
            var testDrProtectionGroup = new DrProtectionGroup("testDrProtectionGroup", DrProtectionGroupArgs.builder()        
                .compartmentId(compartmentId)
                .displayName(drProtectionGroupDisplayName)
                .logLocation(DrProtectionGroupLogLocationArgs.builder()
                    .bucket(drProtectionGroupLogLocationBucket)
                    .namespace(drProtectionGroupLogLocationNamespace)
                    .build())
                .association(DrProtectionGroupAssociationArgs.builder()
                    .role(drProtectionGroupAssociationRole)
                    .peerId(drProtectionGroupAssociationPeerId)
                    .peerRegion(drProtectionGroupAssociationPeerRegion)
                    .build())
                .definedTags(Map.of("Operations.CostCenter", "42"))
                .freeformTags(Map.of("Department", "Finance"))
                .disassociateTrigger(disassociateTrigger)
                .members(DrProtectionGroupMemberArgs.builder()
                    .memberId(drProtectionGroupMembersMemberId)
                    .memberType(drProtectionGroupMembersMemberType)
                    .backendSetMappings(DrProtectionGroupMemberBackendSetMappingArgs.builder()
                        .destinationBackendSetName(testBackendSet.name())
                        .isBackendSetForNonMovable(drProtectionGroupMembersBackendSetMappingsIsBackendSetForNonMovable)
                        .sourceBackendSetName(testBackendSet.name())
                        .build())
                    .blockVolumeOperations(DrProtectionGroupMemberBlockVolumeOperationArgs.builder()
                        .attachmentDetails(DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs.builder()
                            .volumeAttachmentReferenceInstanceId(testInstance.id())
                            .build())
                        .blockVolumeId(testVolume.id())
                        .mountDetails(DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs.builder()
                            .mountPoint(drProtectionGroupMembersBlockVolumeOperationsMountDetailsMountPoint)
                            .build())
                        .build())
                    .destinationAvailabilityDomain(drProtectionGroupMembersDestinationAvailabilityDomain)
                    .destinationCapacityReservationId(destinationCapacityReservationId)
                    .destinationCompartmentId(testCompartment.id())
                    .destinationDedicatedVmHostId(testDedicatedVmHost.id())
                    .destinationLoadBalancerId(testLoadBalancer.id())
                    .destinationNetworkLoadBalancerId(testNetworkLoadBalancer.id())
                    .exportMappings(DrProtectionGroupMemberExportMappingArgs.builder()
                        .destinationMountTargetId(testMountTarget.id())
                        .exportId(testExport.id())
                        .build())
                    .fileSystemOperations(DrProtectionGroupMemberFileSystemOperationArgs.builder()
                        .exportPath(drProtectionGroupMembersFileSystemOperationsExportPath)
                        .mountDetails(DrProtectionGroupMemberFileSystemOperationMountDetailsArgs.builder()
                            .mountTargetId(testMountTarget.id())
                            .build())
                        .mountPoint(drProtectionGroupMembersFileSystemOperationsMountPoint)
                        .mountTargetId(testMountTarget.id())
                        .unmountDetails(DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs.builder()
                            .mountTargetId(testMountTarget.id())
                            .build())
                        .build())
                    .isMovable(drProtectionGroupMembersIsMovable)
                    .isRetainFaultDomain(drProtectionGroupMembersIsRetainFaultDomain)
                    .isStartStopEnabled(drProtectionGroupMembersIsStartStopEnabled)
                    .passwordVaultSecretId(passwordVaultSecretId)
                    .vnicMappings(                
                        DrProtectionGroupMemberVnicMappingArgs.builder()
                            .destinationNsgIdLists(drProtectionGroupMembersVnicMappingDestinationNsgIdList)
                            .destinationPrimaryPrivateIpAddress(drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpAddress)
                            .destinationPrimaryPrivateIpHostnameLabel(drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpHostnameLabel)
                            .destinationSubnetId(testSubnet.id())
                            .sourceVnicId(testVnic.id())
                            .build(),
                        DrProtectionGroupMemberVnicMappingArgs.builder()
                            .destinationNsgIdLists(drProtectionGroupMembersVnicMappingsDestinationNsgIdList)
                            .destinationPrimaryPrivateIpAddress(drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpAddress)
                            .destinationPrimaryPrivateIpHostnameLabel(drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpHostnameLabel)
                            .destinationSubnetId(testSubnet.id())
                            .sourceVnicId(testVnic.id())
                            .build())
                    .build())
                .build());
    
        }
    }
    
    configuration:
      disassociateTrigger:
        type: number
        default: 0
    resources:
      testDrProtectionGroup:
        type: oci:DisasterRecovery:DrProtectionGroup
        name: test_dr_protection_group
        properties:
          compartmentId: ${compartmentId}
          displayName: ${drProtectionGroupDisplayName}
          logLocation:
            bucket: ${drProtectionGroupLogLocationBucket}
            namespace: ${drProtectionGroupLogLocationNamespace}
          association:
            role: ${drProtectionGroupAssociationRole}
            peerId: ${drProtectionGroupAssociationPeerId}
            peerRegion: ${drProtectionGroupAssociationPeerRegion}
          definedTags:
            Operations.CostCenter: '42'
          freeformTags:
            Department: Finance
          disassociateTrigger: ${disassociateTrigger}
          members:
            - memberId: ${drProtectionGroupMembersMemberId}
              memberType: ${drProtectionGroupMembersMemberType}
              backendSetMappings:
                - destinationBackendSetName: ${testBackendSet.name}
                  isBackendSetForNonMovable: ${drProtectionGroupMembersBackendSetMappingsIsBackendSetForNonMovable}
                  sourceBackendSetName: ${testBackendSet.name}
              blockVolumeOperations:
                - attachmentDetails:
                    volumeAttachmentReferenceInstanceId: ${testInstance.id}
                  blockVolumeId: ${testVolume.id}
                  mountDetails:
                    mountPoint: ${drProtectionGroupMembersBlockVolumeOperationsMountDetailsMountPoint}
              destinationAvailabilityDomain: ${drProtectionGroupMembersDestinationAvailabilityDomain}
              destinationCapacityReservationId: ${destinationCapacityReservationId}
              destinationCompartmentId: ${testCompartment.id}
              destinationDedicatedVmHostId: ${testDedicatedVmHost.id}
              destinationLoadBalancerId: ${testLoadBalancer.id}
              destinationNetworkLoadBalancerId: ${testNetworkLoadBalancer.id}
              exportMappings:
                - destinationMountTargetId: ${testMountTarget.id}
                  exportId: ${testExport.id}
              fileSystemOperations:
                - exportPath: ${drProtectionGroupMembersFileSystemOperationsExportPath}
                  mountDetails:
                    mountTargetId: ${testMountTarget.id}
                  mountPoint: ${drProtectionGroupMembersFileSystemOperationsMountPoint}
                  mountTargetId: ${testMountTarget.id}
                  unmountDetails:
                    mountTargetId: ${testMountTarget.id}
              isMovable: ${drProtectionGroupMembersIsMovable}
              isRetainFaultDomain: ${drProtectionGroupMembersIsRetainFaultDomain}
              isStartStopEnabled: ${drProtectionGroupMembersIsStartStopEnabled}
              passwordVaultSecretId: ${passwordVaultSecretId}
              vnicMappings:
                - destinationNsgIdLists: ${drProtectionGroupMembersVnicMappingDestinationNsgIdList}
                  destinationPrimaryPrivateIpAddress: ${drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpAddress}
                  destinationPrimaryPrivateIpHostnameLabel: ${drProtectionGroupMembersVnicMappingDestinationPrimaryPrivateIpHostnameLabel}
                  destinationSubnetId: ${testSubnet.id}
                  sourceVnicId: ${testVnic.id}
                - destinationNsgIdLists: ${drProtectionGroupMembersVnicMappingsDestinationNsgIdList}
                  destinationPrimaryPrivateIpAddress: ${drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpAddress}
                  destinationPrimaryPrivateIpHostnameLabel: ${drProtectionGroupMembersVnicMappingsDestinationPrimaryPrivateIpHostnameLabel}
                  destinationSubnetId: ${testSubnet.id}
                  sourceVnicId: ${testVnic.id}
    

    Create

    Create DR Protection Group resource with a default value of disassociate_trigger property, e.g.

    pulumi up -var "disassociate_trigger=0"
    

    Delete

    Disassociate DR Protection Group (if associated) before deleting it. Increment value of disassociate_trigger property to trigger Disassociate, e.g.

    terraform destroy -var "disassociate_trigger=1"
    

    Create DrProtectionGroup Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DrProtectionGroup(name: string, args: DrProtectionGroupArgs, opts?: CustomResourceOptions);
    @overload
    def DrProtectionGroup(resource_name: str,
                          args: DrProtectionGroupArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def DrProtectionGroup(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          compartment_id: Optional[str] = None,
                          display_name: Optional[str] = None,
                          log_location: Optional[_disasterrecovery.DrProtectionGroupLogLocationArgs] = None,
                          association: Optional[_disasterrecovery.DrProtectionGroupAssociationArgs] = None,
                          defined_tags: Optional[Mapping[str, Any]] = None,
                          disassociate_trigger: Optional[int] = None,
                          freeform_tags: Optional[Mapping[str, Any]] = None,
                          members: Optional[Sequence[_disasterrecovery.DrProtectionGroupMemberArgs]] = None)
    func NewDrProtectionGroup(ctx *Context, name string, args DrProtectionGroupArgs, opts ...ResourceOption) (*DrProtectionGroup, error)
    public DrProtectionGroup(string name, DrProtectionGroupArgs args, CustomResourceOptions? opts = null)
    public DrProtectionGroup(String name, DrProtectionGroupArgs args)
    public DrProtectionGroup(String name, DrProtectionGroupArgs args, CustomResourceOptions options)
    
    type: oci:DisasterRecovery:DrProtectionGroup
    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 DrProtectionGroupArgs
    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 DrProtectionGroupArgs
    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 DrProtectionGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DrProtectionGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DrProtectionGroupArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var drProtectionGroupResource = new Oci.DisasterRecovery.DrProtectionGroup("drProtectionGroupResource", new()
    {
        CompartmentId = "string",
        DisplayName = "string",
        LogLocation = new Oci.DisasterRecovery.Inputs.DrProtectionGroupLogLocationArgs
        {
            Bucket = "string",
            Namespace = "string",
            Object = "string",
        },
        Association = new Oci.DisasterRecovery.Inputs.DrProtectionGroupAssociationArgs
        {
            Role = "string",
            PeerId = "string",
            PeerRegion = "string",
        },
        DefinedTags = 
        {
            { "string", "any" },
        },
        DisassociateTrigger = 0,
        FreeformTags = 
        {
            { "string", "any" },
        },
        Members = new[]
        {
            new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberArgs
            {
                MemberId = "string",
                MemberType = "string",
                ExportMappings = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberExportMappingArgs
                    {
                        DestinationMountTargetId = "string",
                        ExportId = "string",
                    },
                },
                FileSystemOperations = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationArgs
                    {
                        ExportPath = "string",
                        MountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs
                        {
                            MountTargetId = "string",
                        },
                        MountPoint = "string",
                        MountTargetId = "string",
                        UnmountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs
                        {
                            MountTargetId = "string",
                        },
                    },
                },
                DestinationCompartmentId = "string",
                DestinationDedicatedVmHostId = "string",
                DestinationLoadBalancerId = "string",
                DestinationNetworkLoadBalancerId = "string",
                BackendSetMappings = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBackendSetMappingArgs
                    {
                        DestinationBackendSetName = "string",
                        IsBackendSetForNonMovable = false,
                        SourceBackendSetName = "string",
                    },
                },
                DestinationCapacityReservationId = "string",
                IsMovable = false,
                IsRetainFaultDomain = false,
                IsStartStopEnabled = false,
                DestinationAvailabilityDomain = "string",
                BlockVolumeOperations = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationArgs
                    {
                        AttachmentDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs
                        {
                            VolumeAttachmentReferenceInstanceId = "string",
                        },
                        BlockVolumeId = "string",
                        MountDetails = new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs
                        {
                            MountPoint = "string",
                        },
                    },
                },
                PasswordVaultSecretId = "string",
                VnicMapping = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberVnicMappingArgs
                    {
                        DestinationNsgIdLists = new[]
                        {
                            "string",
                        },
                        DestinationPrimaryPrivateIpAddress = "string",
                        DestinationPrimaryPrivateIpHostnameLabel = "string",
                        DestinationSubnetId = "string",
                        SourceVnicId = "string",
                    },
                },
                VnicMappings = new[]
                {
                    new Oci.DisasterRecovery.Inputs.DrProtectionGroupMemberVnicMappingArgs
                    {
                        DestinationNsgIdLists = new[]
                        {
                            "string",
                        },
                        DestinationPrimaryPrivateIpAddress = "string",
                        DestinationPrimaryPrivateIpHostnameLabel = "string",
                        DestinationSubnetId = "string",
                        SourceVnicId = "string",
                    },
                },
            },
        },
    });
    
    example, err := DisasterRecovery.NewDrProtectionGroup(ctx, "drProtectionGroupResource", &DisasterRecovery.DrProtectionGroupArgs{
    	CompartmentId: pulumi.String("string"),
    	DisplayName:   pulumi.String("string"),
    	LogLocation: &disasterrecovery.DrProtectionGroupLogLocationArgs{
    		Bucket:    pulumi.String("string"),
    		Namespace: pulumi.String("string"),
    		Object:    pulumi.String("string"),
    	},
    	Association: &disasterrecovery.DrProtectionGroupAssociationArgs{
    		Role:       pulumi.String("string"),
    		PeerId:     pulumi.String("string"),
    		PeerRegion: pulumi.String("string"),
    	},
    	DefinedTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	DisassociateTrigger: pulumi.Int(0),
    	FreeformTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Members: disasterrecovery.DrProtectionGroupMemberArray{
    		&disasterrecovery.DrProtectionGroupMemberArgs{
    			MemberId:   pulumi.String("string"),
    			MemberType: pulumi.String("string"),
    			ExportMappings: disasterrecovery.DrProtectionGroupMemberExportMappingArray{
    				&disasterrecovery.DrProtectionGroupMemberExportMappingArgs{
    					DestinationMountTargetId: pulumi.String("string"),
    					ExportId:                 pulumi.String("string"),
    				},
    			},
    			FileSystemOperations: disasterrecovery.DrProtectionGroupMemberFileSystemOperationArray{
    				&disasterrecovery.DrProtectionGroupMemberFileSystemOperationArgs{
    					ExportPath: pulumi.String("string"),
    					MountDetails: &disasterrecovery.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs{
    						MountTargetId: pulumi.String("string"),
    					},
    					MountPoint:    pulumi.String("string"),
    					MountTargetId: pulumi.String("string"),
    					UnmountDetails: &disasterrecovery.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs{
    						MountTargetId: pulumi.String("string"),
    					},
    				},
    			},
    			DestinationCompartmentId:         pulumi.String("string"),
    			DestinationDedicatedVmHostId:     pulumi.String("string"),
    			DestinationLoadBalancerId:        pulumi.String("string"),
    			DestinationNetworkLoadBalancerId: pulumi.String("string"),
    			BackendSetMappings: disasterrecovery.DrProtectionGroupMemberBackendSetMappingArray{
    				&disasterrecovery.DrProtectionGroupMemberBackendSetMappingArgs{
    					DestinationBackendSetName: pulumi.String("string"),
    					IsBackendSetForNonMovable: pulumi.Bool(false),
    					SourceBackendSetName:      pulumi.String("string"),
    				},
    			},
    			DestinationCapacityReservationId: pulumi.String("string"),
    			IsMovable:                        pulumi.Bool(false),
    			IsRetainFaultDomain:              pulumi.Bool(false),
    			IsStartStopEnabled:               pulumi.Bool(false),
    			DestinationAvailabilityDomain:    pulumi.String("string"),
    			BlockVolumeOperations: disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationArray{
    				&disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationArgs{
    					AttachmentDetails: &disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs{
    						VolumeAttachmentReferenceInstanceId: pulumi.String("string"),
    					},
    					BlockVolumeId: pulumi.String("string"),
    					MountDetails: &disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs{
    						MountPoint: pulumi.String("string"),
    					},
    				},
    			},
    			PasswordVaultSecretId: pulumi.String("string"),
    			VnicMapping: disasterrecovery.DrProtectionGroupMemberVnicMappingArray{
    				&disasterrecovery.DrProtectionGroupMemberVnicMappingArgs{
    					DestinationNsgIdLists: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationPrimaryPrivateIpAddress:       pulumi.String("string"),
    					DestinationPrimaryPrivateIpHostnameLabel: pulumi.String("string"),
    					DestinationSubnetId:                      pulumi.String("string"),
    					SourceVnicId:                             pulumi.String("string"),
    				},
    			},
    			VnicMappings: disasterrecovery.DrProtectionGroupMemberVnicMappingArray{
    				&disasterrecovery.DrProtectionGroupMemberVnicMappingArgs{
    					DestinationNsgIdLists: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationPrimaryPrivateIpAddress:       pulumi.String("string"),
    					DestinationPrimaryPrivateIpHostnameLabel: pulumi.String("string"),
    					DestinationSubnetId:                      pulumi.String("string"),
    					SourceVnicId:                             pulumi.String("string"),
    				},
    			},
    		},
    	},
    })
    
    var drProtectionGroupResource = new DrProtectionGroup("drProtectionGroupResource", DrProtectionGroupArgs.builder()        
        .compartmentId("string")
        .displayName("string")
        .logLocation(DrProtectionGroupLogLocationArgs.builder()
            .bucket("string")
            .namespace("string")
            .object("string")
            .build())
        .association(DrProtectionGroupAssociationArgs.builder()
            .role("string")
            .peerId("string")
            .peerRegion("string")
            .build())
        .definedTags(Map.of("string", "any"))
        .disassociateTrigger(0)
        .freeformTags(Map.of("string", "any"))
        .members(DrProtectionGroupMemberArgs.builder()
            .memberId("string")
            .memberType("string")
            .exportMappings(DrProtectionGroupMemberExportMappingArgs.builder()
                .destinationMountTargetId("string")
                .exportId("string")
                .build())
            .fileSystemOperations(DrProtectionGroupMemberFileSystemOperationArgs.builder()
                .exportPath("string")
                .mountDetails(DrProtectionGroupMemberFileSystemOperationMountDetailsArgs.builder()
                    .mountTargetId("string")
                    .build())
                .mountPoint("string")
                .mountTargetId("string")
                .unmountDetails(DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs.builder()
                    .mountTargetId("string")
                    .build())
                .build())
            .destinationCompartmentId("string")
            .destinationDedicatedVmHostId("string")
            .destinationLoadBalancerId("string")
            .destinationNetworkLoadBalancerId("string")
            .backendSetMappings(DrProtectionGroupMemberBackendSetMappingArgs.builder()
                .destinationBackendSetName("string")
                .isBackendSetForNonMovable(false)
                .sourceBackendSetName("string")
                .build())
            .destinationCapacityReservationId("string")
            .isMovable(false)
            .isRetainFaultDomain(false)
            .isStartStopEnabled(false)
            .destinationAvailabilityDomain("string")
            .blockVolumeOperations(DrProtectionGroupMemberBlockVolumeOperationArgs.builder()
                .attachmentDetails(DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs.builder()
                    .volumeAttachmentReferenceInstanceId("string")
                    .build())
                .blockVolumeId("string")
                .mountDetails(DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs.builder()
                    .mountPoint("string")
                    .build())
                .build())
            .passwordVaultSecretId("string")
            .vnicMapping(DrProtectionGroupMemberVnicMappingArgs.builder()
                .destinationNsgIdLists("string")
                .destinationPrimaryPrivateIpAddress("string")
                .destinationPrimaryPrivateIpHostnameLabel("string")
                .destinationSubnetId("string")
                .sourceVnicId("string")
                .build())
            .vnicMappings(DrProtectionGroupMemberVnicMappingArgs.builder()
                .destinationNsgIdLists("string")
                .destinationPrimaryPrivateIpAddress("string")
                .destinationPrimaryPrivateIpHostnameLabel("string")
                .destinationSubnetId("string")
                .sourceVnicId("string")
                .build())
            .build())
        .build());
    
    dr_protection_group_resource = oci.disaster_recovery.DrProtectionGroup("drProtectionGroupResource",
        compartment_id="string",
        display_name="string",
        log_location=oci.disaster_recovery.DrProtectionGroupLogLocationArgs(
            bucket="string",
            namespace="string",
            object="string",
        ),
        association=oci.disaster_recovery.DrProtectionGroupAssociationArgs(
            role="string",
            peer_id="string",
            peer_region="string",
        ),
        defined_tags={
            "string": "any",
        },
        disassociate_trigger=0,
        freeform_tags={
            "string": "any",
        },
        members=[oci.disaster_recovery.DrProtectionGroupMemberArgs(
            member_id="string",
            member_type="string",
            export_mappings=[oci.disaster_recovery.DrProtectionGroupMemberExportMappingArgs(
                destination_mount_target_id="string",
                export_id="string",
            )],
            file_system_operations=[oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationArgs(
                export_path="string",
                mount_details=oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationMountDetailsArgs(
                    mount_target_id="string",
                ),
                mount_point="string",
                mount_target_id="string",
                unmount_details=oci.disaster_recovery.DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs(
                    mount_target_id="string",
                ),
            )],
            destination_compartment_id="string",
            destination_dedicated_vm_host_id="string",
            destination_load_balancer_id="string",
            destination_network_load_balancer_id="string",
            backend_set_mappings=[oci.disaster_recovery.DrProtectionGroupMemberBackendSetMappingArgs(
                destination_backend_set_name="string",
                is_backend_set_for_non_movable=False,
                source_backend_set_name="string",
            )],
            destination_capacity_reservation_id="string",
            is_movable=False,
            is_retain_fault_domain=False,
            is_start_stop_enabled=False,
            destination_availability_domain="string",
            block_volume_operations=[oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationArgs(
                attachment_details=oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs(
                    volume_attachment_reference_instance_id="string",
                ),
                block_volume_id="string",
                mount_details=oci.disaster_recovery.DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs(
                    mount_point="string",
                ),
            )],
            password_vault_secret_id="string",
            vnic_mapping=[oci.disaster_recovery.DrProtectionGroupMemberVnicMappingArgs(
                destination_nsg_id_lists=["string"],
                destination_primary_private_ip_address="string",
                destination_primary_private_ip_hostname_label="string",
                destination_subnet_id="string",
                source_vnic_id="string",
            )],
            vnic_mappings=[oci.disaster_recovery.DrProtectionGroupMemberVnicMappingArgs(
                destination_nsg_id_lists=["string"],
                destination_primary_private_ip_address="string",
                destination_primary_private_ip_hostname_label="string",
                destination_subnet_id="string",
                source_vnic_id="string",
            )],
        )])
    
    const drProtectionGroupResource = new oci.disasterrecovery.DrProtectionGroup("drProtectionGroupResource", {
        compartmentId: "string",
        displayName: "string",
        logLocation: {
            bucket: "string",
            namespace: "string",
            object: "string",
        },
        association: {
            role: "string",
            peerId: "string",
            peerRegion: "string",
        },
        definedTags: {
            string: "any",
        },
        disassociateTrigger: 0,
        freeformTags: {
            string: "any",
        },
        members: [{
            memberId: "string",
            memberType: "string",
            exportMappings: [{
                destinationMountTargetId: "string",
                exportId: "string",
            }],
            fileSystemOperations: [{
                exportPath: "string",
                mountDetails: {
                    mountTargetId: "string",
                },
                mountPoint: "string",
                mountTargetId: "string",
                unmountDetails: {
                    mountTargetId: "string",
                },
            }],
            destinationCompartmentId: "string",
            destinationDedicatedVmHostId: "string",
            destinationLoadBalancerId: "string",
            destinationNetworkLoadBalancerId: "string",
            backendSetMappings: [{
                destinationBackendSetName: "string",
                isBackendSetForNonMovable: false,
                sourceBackendSetName: "string",
            }],
            destinationCapacityReservationId: "string",
            isMovable: false,
            isRetainFaultDomain: false,
            isStartStopEnabled: false,
            destinationAvailabilityDomain: "string",
            blockVolumeOperations: [{
                attachmentDetails: {
                    volumeAttachmentReferenceInstanceId: "string",
                },
                blockVolumeId: "string",
                mountDetails: {
                    mountPoint: "string",
                },
            }],
            passwordVaultSecretId: "string",
            vnicMapping: [{
                destinationNsgIdLists: ["string"],
                destinationPrimaryPrivateIpAddress: "string",
                destinationPrimaryPrivateIpHostnameLabel: "string",
                destinationSubnetId: "string",
                sourceVnicId: "string",
            }],
            vnicMappings: [{
                destinationNsgIdLists: ["string"],
                destinationPrimaryPrivateIpAddress: "string",
                destinationPrimaryPrivateIpHostnameLabel: "string",
                destinationSubnetId: "string",
                sourceVnicId: "string",
            }],
        }],
    });
    
    type: oci:DisasterRecovery:DrProtectionGroup
    properties:
        association:
            peerId: string
            peerRegion: string
            role: string
        compartmentId: string
        definedTags:
            string: any
        disassociateTrigger: 0
        displayName: string
        freeformTags:
            string: any
        logLocation:
            bucket: string
            namespace: string
            object: string
        members:
            - backendSetMappings:
                - destinationBackendSetName: string
                  isBackendSetForNonMovable: false
                  sourceBackendSetName: string
              blockVolumeOperations:
                - attachmentDetails:
                    volumeAttachmentReferenceInstanceId: string
                  blockVolumeId: string
                  mountDetails:
                    mountPoint: string
              destinationAvailabilityDomain: string
              destinationCapacityReservationId: string
              destinationCompartmentId: string
              destinationDedicatedVmHostId: string
              destinationLoadBalancerId: string
              destinationNetworkLoadBalancerId: string
              exportMappings:
                - destinationMountTargetId: string
                  exportId: string
              fileSystemOperations:
                - exportPath: string
                  mountDetails:
                    mountTargetId: string
                  mountPoint: string
                  mountTargetId: string
                  unmountDetails:
                    mountTargetId: string
              isMovable: false
              isRetainFaultDomain: false
              isStartStopEnabled: false
              memberId: string
              memberType: string
              passwordVaultSecretId: string
              vnicMapping:
                - destinationNsgIdLists:
                    - string
                  destinationPrimaryPrivateIpAddress: string
                  destinationPrimaryPrivateIpHostnameLabel: string
                  destinationSubnetId: string
                  sourceVnicId: string
              vnicMappings:
                - destinationNsgIdLists:
                    - string
                  destinationPrimaryPrivateIpAddress: string
                  destinationPrimaryPrivateIpHostnameLabel: string
                  destinationSubnetId: string
                  sourceVnicId: string
    

    DrProtectionGroup Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The DrProtectionGroup resource accepts the following input properties:

    CompartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    DisplayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    LogLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    Association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    DefinedTags Dictionary<string, object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    DisassociateTrigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    FreeformTags Dictionary<string, object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    Members List<DrProtectionGroupMember>
    (Updatable) A list of DR protection group members.
    CompartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    DisplayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    LogLocation DrProtectionGroupLogLocationArgs
    (Updatable) The details for creating an object storage log location for a DR protection group.
    Association DrProtectionGroupAssociationArgs
    The details for associating a DR protection group with a peer DR protection group.
    DefinedTags map[string]interface{}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    DisassociateTrigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    FreeformTags map[string]interface{}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    Members []DrProtectionGroupMemberArgs
    (Updatable) A list of DR protection group members.
    compartmentId String
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    displayName String
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    logLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    definedTags Map<String,Object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger Integer

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    freeformTags Map<String,Object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    members List<DrProtectionGroupMember>
    (Updatable) A list of DR protection group members.
    compartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    displayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    logLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    definedTags {[key: string]: any}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger number

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    freeformTags {[key: string]: any}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    members DrProtectionGroupMember[]
    (Updatable) A list of DR protection group members.
    compartment_id str
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    display_name str
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    log_location disasterrecovery.DrProtectionGroupLogLocationArgs
    (Updatable) The details for creating an object storage log location for a DR protection group.
    association disasterrecovery.DrProtectionGroupAssociationArgs
    The details for associating a DR protection group with a peer DR protection group.
    defined_tags Mapping[str, Any]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociate_trigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    freeform_tags Mapping[str, Any]
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    members Sequence[disasterrecovery.DrProtectionGroupMemberArgs]
    (Updatable) A list of DR protection group members.
    compartmentId String
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    displayName String
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    logLocation Property Map
    (Updatable) The details for creating an object storage log location for a DR protection group.
    association Property Map
    The details for associating a DR protection group with a peer DR protection group.
    definedTags Map<Any>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger Number

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    freeformTags Map<Any>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    members List<Property Map>
    (Updatable) A list of DR protection group members.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DrProtectionGroup resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    LifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    LifecycleSubState string
    The current sub-state of the DR protection group.
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    Role string
    The role of the DR protection group. Example: STANDBY
    State string
    The current state of the DR protection group.
    SystemTags Dictionary<string, object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    TimeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    Id string
    The provider-assigned unique ID for this managed resource.
    LifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    LifecycleSubState string
    The current sub-state of the DR protection group.
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    Role string
    The role of the DR protection group. Example: STANDBY
    State string
    The current state of the DR protection group.
    SystemTags map[string]interface{}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    TimeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    id String
    The provider-assigned unique ID for this managed resource.
    lifeCycleDetails String
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState String
    The current sub-state of the DR protection group.
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    state String
    The current state of the DR protection group.
    systemTags Map<String,Object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated String
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    id string
    The provider-assigned unique ID for this managed resource.
    lifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState string
    The current sub-state of the DR protection group.
    peerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    role string
    The role of the DR protection group. Example: STANDBY
    state string
    The current state of the DR protection group.
    systemTags {[key: string]: any}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    id str
    The provider-assigned unique ID for this managed resource.
    life_cycle_details str
    A message describing the DR protection group's current state in more detail.
    lifecycle_sub_state str
    The current sub-state of the DR protection group.
    peer_id str
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peer_region str
    The region of the peer DR protection group. Example: us-ashburn-1
    role str
    The role of the DR protection group. Example: STANDBY
    state str
    The current state of the DR protection group.
    system_tags Mapping[str, Any]
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    time_created str
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    time_updated str
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    id String
    The provider-assigned unique ID for this managed resource.
    lifeCycleDetails String
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState String
    The current sub-state of the DR protection group.
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    state String
    The current state of the DR protection group.
    systemTags Map<Any>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated String
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z

    Look up Existing DrProtectionGroup Resource

    Get an existing DrProtectionGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DrProtectionGroupState, opts?: CustomResourceOptions): DrProtectionGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            association: Optional[_disasterrecovery.DrProtectionGroupAssociationArgs] = None,
            compartment_id: Optional[str] = None,
            defined_tags: Optional[Mapping[str, Any]] = None,
            disassociate_trigger: Optional[int] = None,
            display_name: Optional[str] = None,
            freeform_tags: Optional[Mapping[str, Any]] = None,
            life_cycle_details: Optional[str] = None,
            lifecycle_sub_state: Optional[str] = None,
            log_location: Optional[_disasterrecovery.DrProtectionGroupLogLocationArgs] = None,
            members: Optional[Sequence[_disasterrecovery.DrProtectionGroupMemberArgs]] = None,
            peer_id: Optional[str] = None,
            peer_region: Optional[str] = None,
            role: Optional[str] = None,
            state: Optional[str] = None,
            system_tags: Optional[Mapping[str, Any]] = None,
            time_created: Optional[str] = None,
            time_updated: Optional[str] = None) -> DrProtectionGroup
    func GetDrProtectionGroup(ctx *Context, name string, id IDInput, state *DrProtectionGroupState, opts ...ResourceOption) (*DrProtectionGroup, error)
    public static DrProtectionGroup Get(string name, Input<string> id, DrProtectionGroupState? state, CustomResourceOptions? opts = null)
    public static DrProtectionGroup get(String name, Output<String> id, DrProtectionGroupState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    CompartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    DefinedTags Dictionary<string, object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    DisassociateTrigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    DisplayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    FreeformTags Dictionary<string, object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    LifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    LifecycleSubState string
    The current sub-state of the DR protection group.
    LogLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    Members List<DrProtectionGroupMember>
    (Updatable) A list of DR protection group members.
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    Role string
    The role of the DR protection group. Example: STANDBY
    State string
    The current state of the DR protection group.
    SystemTags Dictionary<string, object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    TimeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    Association DrProtectionGroupAssociationArgs
    The details for associating a DR protection group with a peer DR protection group.
    CompartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    DefinedTags map[string]interface{}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    DisassociateTrigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    DisplayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    FreeformTags map[string]interface{}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    LifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    LifecycleSubState string
    The current sub-state of the DR protection group.
    LogLocation DrProtectionGroupLogLocationArgs
    (Updatable) The details for creating an object storage log location for a DR protection group.
    Members []DrProtectionGroupMemberArgs
    (Updatable) A list of DR protection group members.
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    Role string
    The role of the DR protection group. Example: STANDBY
    State string
    The current state of the DR protection group.
    SystemTags map[string]interface{}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    TimeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    TimeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    compartmentId String
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    definedTags Map<String,Object>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger Integer

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    displayName String
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    freeformTags Map<String,Object>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    lifeCycleDetails String
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState String
    The current sub-state of the DR protection group.
    logLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    members List<DrProtectionGroupMember>
    (Updatable) A list of DR protection group members.
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    state String
    The current state of the DR protection group.
    systemTags Map<String,Object>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated String
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    association DrProtectionGroupAssociation
    The details for associating a DR protection group with a peer DR protection group.
    compartmentId string
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    definedTags {[key: string]: any}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger number

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    displayName string
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    freeformTags {[key: string]: any}
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    lifeCycleDetails string
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState string
    The current sub-state of the DR protection group.
    logLocation DrProtectionGroupLogLocation
    (Updatable) The details for creating an object storage log location for a DR protection group.
    members DrProtectionGroupMember[]
    (Updatable) A list of DR protection group members.
    peerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    role string
    The role of the DR protection group. Example: STANDBY
    state string
    The current state of the DR protection group.
    systemTags {[key: string]: any}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated string
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated string
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    association disasterrecovery.DrProtectionGroupAssociationArgs
    The details for associating a DR protection group with a peer DR protection group.
    compartment_id str
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    defined_tags Mapping[str, Any]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociate_trigger int

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    display_name str
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    freeform_tags Mapping[str, Any]
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    life_cycle_details str
    A message describing the DR protection group's current state in more detail.
    lifecycle_sub_state str
    The current sub-state of the DR protection group.
    log_location disasterrecovery.DrProtectionGroupLogLocationArgs
    (Updatable) The details for creating an object storage log location for a DR protection group.
    members Sequence[disasterrecovery.DrProtectionGroupMemberArgs]
    (Updatable) A list of DR protection group members.
    peer_id str
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peer_region str
    The region of the peer DR protection group. Example: us-ashburn-1
    role str
    The role of the DR protection group. Example: STANDBY
    state str
    The current state of the DR protection group.
    system_tags Mapping[str, Any]
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    time_created str
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    time_updated str
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    association Property Map
    The details for associating a DR protection group with a peer DR protection group.
    compartmentId String
    (Updatable) The OCID of the compartment in which to create the DR protection group. Example: ocid1.compartment.oc1..uniqueID
    definedTags Map<Any>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations.CostCenter": "42"}
    disassociateTrigger Number

    (Updatable) An optional property when incremented triggers Disassociate. Could be set to any integer value.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    displayName String
    (Updatable) The display name of the DR protection group. Example: EBS PHX Group
    freeformTags Map<Any>
    (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"Department": "Finance"}
    lifeCycleDetails String
    A message describing the DR protection group's current state in more detail.
    lifecycleSubState String
    The current sub-state of the DR protection group.
    logLocation Property Map
    (Updatable) The details for creating an object storage log location for a DR protection group.
    members List<Property Map>
    (Updatable) A list of DR protection group members.
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    state String
    The current state of the DR protection group.
    systemTags Map<Any>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud.free-tier-retained": "true"}
    timeCreated String
    The date and time the DR protection group was created. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z
    timeUpdated String
    The date and time the DR protection group was updated. An RFC3339 formatted datetime string. Example: 2019-03-29T09:36:42Z

    Supporting Types

    DrProtectionGroupAssociation, DrProtectionGroupAssociationArgs

    Role string
    The role of the DR protection group. Example: STANDBY
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    Role string
    The role of the DR protection group. Example: STANDBY
    PeerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    PeerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1
    role string
    The role of the DR protection group. Example: STANDBY
    peerId string
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion string
    The region of the peer DR protection group. Example: us-ashburn-1
    role str
    The role of the DR protection group. Example: STANDBY
    peer_id str
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peer_region str
    The region of the peer DR protection group. Example: us-ashburn-1
    role String
    The role of the DR protection group. Example: STANDBY
    peerId String
    The OCID of the peer DR protection group. Example: ocid1.drprotectiongroup.oc1..uniqueID
    peerRegion String
    The region of the peer DR protection group. Example: us-ashburn-1

    DrProtectionGroupLogLocation, DrProtectionGroupLogLocationArgs

    Bucket string
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    Namespace string
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    Object string
    The object name inside the object storage bucket. Example: switchover_plan_executions
    Bucket string
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    Namespace string
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    Object string
    The object name inside the object storage bucket. Example: switchover_plan_executions
    bucket String
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    namespace String
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    object String
    The object name inside the object storage bucket. Example: switchover_plan_executions
    bucket string
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    namespace string
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    object string
    The object name inside the object storage bucket. Example: switchover_plan_executions
    bucket str
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    namespace str
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    object str
    The object name inside the object storage bucket. Example: switchover_plan_executions
    bucket String
    (Updatable) The bucket name inside the object storage namespace. Example: operation_logs
    namespace String
    (Updatable) The namespace in object storage (Note - this is usually the tenancy name). Example: myocitenancy
    object String
    The object name inside the object storage bucket. Example: switchover_plan_executions

    DrProtectionGroupMember, DrProtectionGroupMemberArgs

    MemberId string
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    MemberType string
    (Updatable) The type of the member.
    BackendSetMappings List<DrProtectionGroupMemberBackendSetMapping>
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    BlockVolumeOperations List<DrProtectionGroupMemberBlockVolumeOperation>
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    DestinationAvailabilityDomain string
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    DestinationCapacityReservationId string
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    DestinationCompartmentId string
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    DestinationDedicatedVmHostId string
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    DestinationLoadBalancerId string
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    DestinationNetworkLoadBalancerId string
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    ExportMappings List<DrProtectionGroupMemberExportMapping>
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    FileSystemOperations List<DrProtectionGroupMemberFileSystemOperation>
    (Updatable) A list of operations performed on file systems used by the compute instance.
    IsMovable bool
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    IsRetainFaultDomain bool
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    IsStartStopEnabled bool
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    PasswordVaultSecretId string
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    VnicMapping List<DrProtectionGroupMemberVnicMapping>
    (Updatable) A list of compute instance VNIC mappings.
    VnicMappings List<DrProtectionGroupMemberVnicMapping>
    (Updatable) A list of compute instance VNIC mappings.
    MemberId string
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    MemberType string
    (Updatable) The type of the member.
    BackendSetMappings []DrProtectionGroupMemberBackendSetMapping
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    BlockVolumeOperations []DrProtectionGroupMemberBlockVolumeOperation
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    DestinationAvailabilityDomain string
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    DestinationCapacityReservationId string
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    DestinationCompartmentId string
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    DestinationDedicatedVmHostId string
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    DestinationLoadBalancerId string
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    DestinationNetworkLoadBalancerId string
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    ExportMappings []DrProtectionGroupMemberExportMapping
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    FileSystemOperations []DrProtectionGroupMemberFileSystemOperation
    (Updatable) A list of operations performed on file systems used by the compute instance.
    IsMovable bool
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    IsRetainFaultDomain bool
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    IsStartStopEnabled bool
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    PasswordVaultSecretId string
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    VnicMapping []DrProtectionGroupMemberVnicMapping
    (Updatable) A list of compute instance VNIC mappings.
    VnicMappings []DrProtectionGroupMemberVnicMapping
    (Updatable) A list of compute instance VNIC mappings.
    memberId String
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    memberType String
    (Updatable) The type of the member.
    backendSetMappings List<DrProtectionGroupMemberBackendSetMapping>
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    blockVolumeOperations List<DrProtectionGroupMemberBlockVolumeOperation>
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    destinationAvailabilityDomain String
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    destinationCapacityReservationId String
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    destinationCompartmentId String
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    destinationDedicatedVmHostId String
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    destinationLoadBalancerId String
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    destinationNetworkLoadBalancerId String
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    exportMappings List<DrProtectionGroupMemberExportMapping>
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    fileSystemOperations List<DrProtectionGroupMemberFileSystemOperation>
    (Updatable) A list of operations performed on file systems used by the compute instance.
    isMovable Boolean
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    isRetainFaultDomain Boolean
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    isStartStopEnabled Boolean
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    passwordVaultSecretId String
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    vnicMapping List<DrProtectionGroupMemberVnicMapping>
    (Updatable) A list of compute instance VNIC mappings.
    vnicMappings List<DrProtectionGroupMemberVnicMapping>
    (Updatable) A list of compute instance VNIC mappings.
    memberId string
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    memberType string
    (Updatable) The type of the member.
    backendSetMappings DrProtectionGroupMemberBackendSetMapping[]
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    blockVolumeOperations DrProtectionGroupMemberBlockVolumeOperation[]
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    destinationAvailabilityDomain string
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    destinationCapacityReservationId string
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    destinationCompartmentId string
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    destinationDedicatedVmHostId string
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    destinationLoadBalancerId string
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    destinationNetworkLoadBalancerId string
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    exportMappings DrProtectionGroupMemberExportMapping[]
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    fileSystemOperations DrProtectionGroupMemberFileSystemOperation[]
    (Updatable) A list of operations performed on file systems used by the compute instance.
    isMovable boolean
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    isRetainFaultDomain boolean
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    isStartStopEnabled boolean
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    passwordVaultSecretId string
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    vnicMapping DrProtectionGroupMemberVnicMapping[]
    (Updatable) A list of compute instance VNIC mappings.
    vnicMappings DrProtectionGroupMemberVnicMapping[]
    (Updatable) A list of compute instance VNIC mappings.
    member_id str
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    member_type str
    (Updatable) The type of the member.
    backend_set_mappings Sequence[disasterrecovery.DrProtectionGroupMemberBackendSetMapping]
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    block_volume_operations Sequence[disasterrecovery.DrProtectionGroupMemberBlockVolumeOperation]
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    destination_availability_domain str
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    destination_capacity_reservation_id str
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    destination_compartment_id str
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    destination_dedicated_vm_host_id str
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    destination_load_balancer_id str
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    destination_network_load_balancer_id str
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    export_mappings Sequence[disasterrecovery.DrProtectionGroupMemberExportMapping]
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    file_system_operations Sequence[disasterrecovery.DrProtectionGroupMemberFileSystemOperation]
    (Updatable) A list of operations performed on file systems used by the compute instance.
    is_movable bool
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    is_retain_fault_domain bool
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    is_start_stop_enabled bool
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    password_vault_secret_id str
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    vnic_mapping Sequence[disasterrecovery.DrProtectionGroupMemberVnicMapping]
    (Updatable) A list of compute instance VNIC mappings.
    vnic_mappings Sequence[disasterrecovery.DrProtectionGroupMemberVnicMapping]
    (Updatable) A list of compute instance VNIC mappings.
    memberId String
    (Updatable) The OCID of the member. Example: ocid1.instance.oc1..uniqueID
    memberType String
    (Updatable) The type of the member.
    backendSetMappings List<Property Map>
    (Updatable) A list of backend set mappings that are used to transfer or update backends during DR.
    blockVolumeOperations List<Property Map>
    (Updatable) A list of operations performed on block volumes used by the compute instance.
    destinationAvailabilityDomain String
    (Updatable) The availability domain of the destination mount target. Example: BBTh:region-AD
    destinationCapacityReservationId String
    (Updatable) The OCID of a capacity reservation in the destination region which will be used to launch the compute instance. Example: ocid1.capacityreservation.oc1..uniqueID
    destinationCompartmentId String
    (Updatable) The OCID of a compartment in the destination region in which the compute instance should be launched. Example: ocid1.compartment.oc1..uniqueID
    destinationDedicatedVmHostId String
    (Updatable) The OCID of a dedicated VM host in the destination region where the compute instance should be launched. Example: ocid1.dedicatedvmhost.oc1..uniqueID
    destinationLoadBalancerId String
    (Updatable) The OCID of the destination load balancer. Example: ocid1.loadbalancer.oc1..uniqueID
    destinationNetworkLoadBalancerId String
    (Updatable) The OCID of the destination network load balancer. Example: ocid1.networkloadbalancer.oc1..uniqueID
    exportMappings List<Property Map>
    (Updatable) A list of mappings between file system exports in the primary region and mount targets in the standby region.
    fileSystemOperations List<Property Map>
    (Updatable) A list of operations performed on file systems used by the compute instance.
    isMovable Boolean
    (Updatable) A flag indicating if the compute instance should be moved during DR operations. Example: false
    isRetainFaultDomain Boolean
    (Updatable) A flag indicating if the compute instance should be moved to the same fault domain in the destination region. The compute instance launch will fail if this flag is set to true and capacity is not available in the specified fault domain in the destination region. Example: false
    isStartStopEnabled Boolean
    (Updatable) A flag indicating whether the non-movable compute instance should be started and stopped during DR operations. Prechecks cannot be executed on stopped instances that are configured to be started.
    passwordVaultSecretId String
    (Updatable) The OCID of the vault secret where the database SYSDBA password is stored. Example: ocid1.vaultsecret.oc1..uniqueID
    vnicMapping List<Property Map>
    (Updatable) A list of compute instance VNIC mappings.
    vnicMappings List<Property Map>
    (Updatable) A list of compute instance VNIC mappings.

    DrProtectionGroupMemberBackendSetMapping, DrProtectionGroupMemberBackendSetMappingArgs

    DestinationBackendSetName string
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    IsBackendSetForNonMovable bool
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    SourceBackendSetName string
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1
    DestinationBackendSetName string
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    IsBackendSetForNonMovable bool
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    SourceBackendSetName string
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1
    destinationBackendSetName String
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    isBackendSetForNonMovable Boolean
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    sourceBackendSetName String
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1
    destinationBackendSetName string
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    isBackendSetForNonMovable boolean
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    sourceBackendSetName string
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1
    destination_backend_set_name str
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    is_backend_set_for_non_movable bool
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    source_backend_set_name str
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1
    destinationBackendSetName String
    (Updatable) The name of the destination backend set. Example: Destination-BackendSet-1
    isBackendSetForNonMovable Boolean
    (Updatable) This flag specifies if this backend set is used for traffic for non-movable compute instances. Backend sets that point to non-movable instances are only enabled or disabled during DR, their contents are not altered. For non-movable instances this flag should be set to 'true'. Backend sets that point to movable instances are emptied and their contents are transferred to the destination region load balancer. For movable instances this flag should be set to 'false'. Example: true
    sourceBackendSetName String
    (Updatable) The name of the source backend set. Example: Source-BackendSet-1

    DrProtectionGroupMemberBlockVolumeOperation, DrProtectionGroupMemberBlockVolumeOperationArgs

    AttachmentDetails DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails
    (Updatable) The details for creating a block volume attachment.
    BlockVolumeId string
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    MountDetails DrProtectionGroupMemberBlockVolumeOperationMountDetails
    (Updatable) The details for creating a file system mount.
    AttachmentDetails DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails
    (Updatable) The details for creating a block volume attachment.
    BlockVolumeId string
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    MountDetails DrProtectionGroupMemberBlockVolumeOperationMountDetails
    (Updatable) The details for creating a file system mount.
    attachmentDetails DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails
    (Updatable) The details for creating a block volume attachment.
    blockVolumeId String
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    mountDetails DrProtectionGroupMemberBlockVolumeOperationMountDetails
    (Updatable) The details for creating a file system mount.
    attachmentDetails DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails
    (Updatable) The details for creating a block volume attachment.
    blockVolumeId string
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    mountDetails DrProtectionGroupMemberBlockVolumeOperationMountDetails
    (Updatable) The details for creating a file system mount.
    attachment_details disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails
    (Updatable) The details for creating a block volume attachment.
    block_volume_id str
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    mount_details disasterrecovery.DrProtectionGroupMemberBlockVolumeOperationMountDetails
    (Updatable) The details for creating a file system mount.
    attachmentDetails Property Map
    (Updatable) The details for creating a block volume attachment.
    blockVolumeId String
    (Updatable) The OCID of the block volume. Example: ocid1.volume.oc1..uniqueID
    mountDetails Property Map
    (Updatable) The details for creating a file system mount.

    DrProtectionGroupMemberBlockVolumeOperationAttachmentDetails, DrProtectionGroupMemberBlockVolumeOperationAttachmentDetailsArgs

    VolumeAttachmentReferenceInstanceId string
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID
    VolumeAttachmentReferenceInstanceId string
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID
    volumeAttachmentReferenceInstanceId String
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID
    volumeAttachmentReferenceInstanceId string
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID
    volume_attachment_reference_instance_id str
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID
    volumeAttachmentReferenceInstanceId String
    (Updatable) The OCID of the reference compute instance from which to obtain the attachment details for the volume. This reference compute instance is from the peer DR protection group. Example: ocid1.instance.oc1..uniqueID

    DrProtectionGroupMemberBlockVolumeOperationMountDetails, DrProtectionGroupMemberBlockVolumeOperationMountDetailsArgs

    MountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    MountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountPoint String
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mount_point str
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountPoint String
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint

    DrProtectionGroupMemberExportMapping, DrProtectionGroupMemberExportMappingArgs

    DestinationMountTargetId string
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    ExportId string
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID
    DestinationMountTargetId string
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    ExportId string
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID
    destinationMountTargetId String
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    exportId String
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID
    destinationMountTargetId string
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    exportId string
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID
    destination_mount_target_id str
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    export_id str
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID
    destinationMountTargetId String
    (Updatable) The OCID of the destination mount target in the destination region which is used to export the file system. Example: ocid1.mounttarget.oc1..uniqueID
    exportId String
    (Updatable) The OCID of the export path in the primary region used to mount or unmount the file system. Example: ocid1.export.oc1..uniqueID

    DrProtectionGroupMemberFileSystemOperation, DrProtectionGroupMemberFileSystemOperationArgs

    ExportPath string
    (Updatable) The export path of the file system. Example: /fs-export-path
    MountDetails DrProtectionGroupMemberFileSystemOperationMountDetails
    (Updatable) The details for creating a file system mount.
    MountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    UnmountDetails DrProtectionGroupMemberFileSystemOperationUnmountDetails
    (Updatable) The details for creating a file system unmount.
    ExportPath string
    (Updatable) The export path of the file system. Example: /fs-export-path
    MountDetails DrProtectionGroupMemberFileSystemOperationMountDetails
    (Updatable) The details for creating a file system mount.
    MountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    UnmountDetails DrProtectionGroupMemberFileSystemOperationUnmountDetails
    (Updatable) The details for creating a file system unmount.
    exportPath String
    (Updatable) The export path of the file system. Example: /fs-export-path
    mountDetails DrProtectionGroupMemberFileSystemOperationMountDetails
    (Updatable) The details for creating a file system mount.
    mountPoint String
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    unmountDetails DrProtectionGroupMemberFileSystemOperationUnmountDetails
    (Updatable) The details for creating a file system unmount.
    exportPath string
    (Updatable) The export path of the file system. Example: /fs-export-path
    mountDetails DrProtectionGroupMemberFileSystemOperationMountDetails
    (Updatable) The details for creating a file system mount.
    mountPoint string
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    unmountDetails DrProtectionGroupMemberFileSystemOperationUnmountDetails
    (Updatable) The details for creating a file system unmount.
    export_path str
    (Updatable) The export path of the file system. Example: /fs-export-path
    mount_details disasterrecovery.DrProtectionGroupMemberFileSystemOperationMountDetails
    (Updatable) The details for creating a file system mount.
    mount_point str
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mount_target_id str
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    unmount_details disasterrecovery.DrProtectionGroupMemberFileSystemOperationUnmountDetails
    (Updatable) The details for creating a file system unmount.
    exportPath String
    (Updatable) The export path of the file system. Example: /fs-export-path
    mountDetails Property Map
    (Updatable) The details for creating a file system mount.
    mountPoint String
    (Updatable) The physical mount point of the file system on a host. Example: /mnt/yourmountpoint
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    unmountDetails Property Map
    (Updatable) The details for creating a file system unmount.

    DrProtectionGroupMemberFileSystemOperationMountDetails, DrProtectionGroupMemberFileSystemOperationMountDetailsArgs

    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mount_target_id str
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID

    DrProtectionGroupMemberFileSystemOperationUnmountDetails, DrProtectionGroupMemberFileSystemOperationUnmountDetailsArgs

    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    MountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId string
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mount_target_id str
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID
    mountTargetId String
    (Updatable) The OCID of the mount target. Example: ocid1.mounttarget.oc1..uniqueID

    DrProtectionGroupMemberVnicMapping, DrProtectionGroupMemberVnicMappingArgs

    DestinationNsgIdLists List<string>
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    DestinationPrimaryPrivateIpAddress string
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    DestinationPrimaryPrivateIpHostnameLabel string
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    DestinationSubnetId string
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    SourceVnicId string
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID
    DestinationNsgIdLists []string
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    DestinationPrimaryPrivateIpAddress string
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    DestinationPrimaryPrivateIpHostnameLabel string
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    DestinationSubnetId string
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    SourceVnicId string
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID
    destinationNsgIdLists List<String>
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    destinationPrimaryPrivateIpAddress String
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    destinationPrimaryPrivateIpHostnameLabel String
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    destinationSubnetId String
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    sourceVnicId String
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID
    destinationNsgIdLists string[]
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    destinationPrimaryPrivateIpAddress string
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    destinationPrimaryPrivateIpHostnameLabel string
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    destinationSubnetId string
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    sourceVnicId string
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID
    destination_nsg_id_lists Sequence[str]
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    destination_primary_private_ip_address str
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    destination_primary_private_ip_hostname_label str
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    destination_subnet_id str
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    source_vnic_id str
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID
    destinationNsgIdLists List<String>
    (Updatable) A list of OCIDs of network security groups (NSG) in the destination region which should be assigned to the source VNIC. Example: [ ocid1.networksecuritygroup.oc1..uniqueID, ocid1.networksecuritygroup.oc1..uniqueID ]
    destinationPrimaryPrivateIpAddress String
    (Updatable) The primary private IP address to be assigned to the source VNIC in the destination subnet. This IP address must belong to the destination subnet. Example: 10.0.3.3
    destinationPrimaryPrivateIpHostnameLabel String
    (Updatable) The hostname label to be assigned in the destination subnet for the primary private IP of the source VNIC. This label is the hostname portion of the private IP's fully qualified domain name (FQDN) (for example, 'myhost1' in the FQDN 'myhost1.subnet123.vcn1.oraclevcn.com'). Example: myhost1
    destinationSubnetId String
    (Updatable) The OCID of the destination subnet to which the source VNIC should connect. Example: ocid1.subnet.oc1..uniqueID
    sourceVnicId String
    (Updatable) The OCID of the source VNIC. Example: ocid1.vnic.oc1..uniqueID

    Import

    DrProtectionGroups can be imported using the id, e.g.

    $ pulumi import oci:DisasterRecovery/drProtectionGroup:DrProtectionGroup test_dr_protection_group "id"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Oracle Cloud Infrastructure v1.33.0 published on Thursday, Apr 25, 2024 by Pulumi