Object Replication Policy
    The replication policy between two storage accounts. Multiple rules can be defined in one policy. Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2021-02-01. Other available API versions: 2023-01-01.
Example Usage
StorageAccountCreateObjectReplicationPolicyOnDestination
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var objectReplicationPolicy = new AzureNative.Storage.ObjectReplicationPolicy("objectReplicationPolicy", new()
    {
        AccountName = "dst112",
        DestinationAccount = "dst112",
        ObjectReplicationPolicyId = "default",
        ResourceGroupName = "res7687",
        Rules = new[]
        {
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont139",
                Filters = new AzureNative.Storage.Inputs.ObjectReplicationPolicyFilterArgs
                {
                    PrefixMatch = new[]
                    {
                        "blobA",
                        "blobB",
                    },
                },
                SourceContainer = "scont139",
            },
        },
        SourceAccount = "src1122",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewObjectReplicationPolicy(ctx, "objectReplicationPolicy", &storage.ObjectReplicationPolicyArgs{
			AccountName:               pulumi.String("dst112"),
			DestinationAccount:        pulumi.String("dst112"),
			ObjectReplicationPolicyId: pulumi.String("default"),
			ResourceGroupName:         pulumi.String("res7687"),
			Rules: []storage.ObjectReplicationPolicyRuleArgs{
				{
					DestinationContainer: pulumi.String("dcont139"),
					Filters: {
						PrefixMatch: pulumi.StringArray{
							pulumi.String("blobA"),
							pulumi.String("blobB"),
						},
					},
					SourceContainer: pulumi.String("scont139"),
				},
			},
			SourceAccount: pulumi.String("src1122"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var objectReplicationPolicy = new ObjectReplicationPolicy("objectReplicationPolicy", ObjectReplicationPolicyArgs.builder()
            .accountName("dst112")
            .destinationAccount("dst112")
            .objectReplicationPolicyId("default")
            .resourceGroupName("res7687")
            .rules(Map.ofEntries(
                Map.entry("destinationContainer", "dcont139"),
                Map.entry("filters", Map.of("prefixMatch",
                    "blobA",
                    "blobB")),
                Map.entry("sourceContainer", "scont139")
            ))
            .sourceAccount("src1122")
            .build());
    }
}Content copied to clipboard
StorageAccountCreateObjectReplicationPolicyOnSource
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var objectReplicationPolicy = new AzureNative.Storage.ObjectReplicationPolicy("objectReplicationPolicy", new()
    {
        AccountName = "src1122",
        DestinationAccount = "dst112",
        ObjectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f",
        ResourceGroupName = "res7687",
        Rules = new[]
        {
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont139",
                Filters = new AzureNative.Storage.Inputs.ObjectReplicationPolicyFilterArgs
                {
                    MinCreationTime = "2020-02-19T16:05:00Z",
                    PrefixMatch = new[]
                    {
                        "blobA",
                        "blobB",
                    },
                },
                RuleId = "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
                SourceContainer = "scont139",
            },
        },
        SourceAccount = "src1122",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewObjectReplicationPolicy(ctx, "objectReplicationPolicy", &storage.ObjectReplicationPolicyArgs{
			AccountName:               pulumi.String("src1122"),
			DestinationAccount:        pulumi.String("dst112"),
			ObjectReplicationPolicyId: pulumi.String("2a20bb73-5717-4635-985a-5d4cf777438f"),
			ResourceGroupName:         pulumi.String("res7687"),
			Rules: []storage.ObjectReplicationPolicyRuleArgs{
				{
					DestinationContainer: pulumi.String("dcont139"),
					Filters: {
						MinCreationTime: pulumi.String("2020-02-19T16:05:00Z"),
						PrefixMatch: pulumi.StringArray{
							pulumi.String("blobA"),
							pulumi.String("blobB"),
						},
					},
					RuleId:          pulumi.String("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
					SourceContainer: pulumi.String("scont139"),
				},
			},
			SourceAccount: pulumi.String("src1122"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var objectReplicationPolicy = new ObjectReplicationPolicy("objectReplicationPolicy", ObjectReplicationPolicyArgs.builder()
            .accountName("src1122")
            .destinationAccount("dst112")
            .objectReplicationPolicyId("2a20bb73-5717-4635-985a-5d4cf777438f")
            .resourceGroupName("res7687")
            .rules(Map.ofEntries(
                Map.entry("destinationContainer", "dcont139"),
                Map.entry("filters", Map.ofEntries(
                    Map.entry("minCreationTime", "2020-02-19T16:05:00Z"),
                    Map.entry("prefixMatch",
                        "blobA",
                        "blobB")
                )),
                Map.entry("ruleId", "d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
                Map.entry("sourceContainer", "scont139")
            ))
            .sourceAccount("src1122")
            .build());
    }
}Content copied to clipboard
StorageAccountUpdateObjectReplicationPolicyOnDestination
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var objectReplicationPolicy = new AzureNative.Storage.ObjectReplicationPolicy("objectReplicationPolicy", new()
    {
        AccountName = "dst112",
        DestinationAccount = "dst112",
        ObjectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f",
        ResourceGroupName = "res7687",
        Rules = new[]
        {
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont139",
                Filters = new AzureNative.Storage.Inputs.ObjectReplicationPolicyFilterArgs
                {
                    PrefixMatch = new[]
                    {
                        "blobA",
                        "blobB",
                    },
                },
                RuleId = "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
                SourceContainer = "scont139",
            },
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont179",
                SourceContainer = "scont179",
            },
        },
        SourceAccount = "src1122",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewObjectReplicationPolicy(ctx, "objectReplicationPolicy", &storage.ObjectReplicationPolicyArgs{
			AccountName:               pulumi.String("dst112"),
			DestinationAccount:        pulumi.String("dst112"),
			ObjectReplicationPolicyId: pulumi.String("2a20bb73-5717-4635-985a-5d4cf777438f"),
			ResourceGroupName:         pulumi.String("res7687"),
			Rules: []storage.ObjectReplicationPolicyRuleArgs{
				{
					DestinationContainer: pulumi.String("dcont139"),
					Filters: {
						PrefixMatch: pulumi.StringArray{
							pulumi.String("blobA"),
							pulumi.String("blobB"),
						},
					},
					RuleId:          pulumi.String("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
					SourceContainer: pulumi.String("scont139"),
				},
				{
					DestinationContainer: pulumi.String("dcont179"),
					SourceContainer:      pulumi.String("scont179"),
				},
			},
			SourceAccount: pulumi.String("src1122"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var objectReplicationPolicy = new ObjectReplicationPolicy("objectReplicationPolicy", ObjectReplicationPolicyArgs.builder()
            .accountName("dst112")
            .destinationAccount("dst112")
            .objectReplicationPolicyId("2a20bb73-5717-4635-985a-5d4cf777438f")
            .resourceGroupName("res7687")
            .rules(
                Map.ofEntries(
                    Map.entry("destinationContainer", "dcont139"),
                    Map.entry("filters", Map.of("prefixMatch",
                        "blobA",
                        "blobB")),
                    Map.entry("ruleId", "d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
                    Map.entry("sourceContainer", "scont139")
                ),
                Map.ofEntries(
                    Map.entry("destinationContainer", "dcont179"),
                    Map.entry("sourceContainer", "scont179")
                ))
            .sourceAccount("src1122")
            .build());
    }
}Content copied to clipboard
StorageAccountUpdateObjectReplicationPolicyOnSource
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var objectReplicationPolicy = new AzureNative.Storage.ObjectReplicationPolicy("objectReplicationPolicy", new()
    {
        AccountName = "src1122",
        DestinationAccount = "dst112",
        ObjectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f",
        ResourceGroupName = "res7687",
        Rules = new[]
        {
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont139",
                Filters = new AzureNative.Storage.Inputs.ObjectReplicationPolicyFilterArgs
                {
                    PrefixMatch = new[]
                    {
                        "blobA",
                        "blobB",
                    },
                },
                RuleId = "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
                SourceContainer = "scont139",
            },
            new AzureNative.Storage.Inputs.ObjectReplicationPolicyRuleArgs
            {
                DestinationContainer = "dcont179",
                RuleId = "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
                SourceContainer = "scont179",
            },
        },
        SourceAccount = "src1122",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewObjectReplicationPolicy(ctx, "objectReplicationPolicy", &storage.ObjectReplicationPolicyArgs{
			AccountName:               pulumi.String("src1122"),
			DestinationAccount:        pulumi.String("dst112"),
			ObjectReplicationPolicyId: pulumi.String("2a20bb73-5717-4635-985a-5d4cf777438f"),
			ResourceGroupName:         pulumi.String("res7687"),
			Rules: []storage.ObjectReplicationPolicyRuleArgs{
				{
					DestinationContainer: pulumi.String("dcont139"),
					Filters: {
						PrefixMatch: pulumi.StringArray{
							pulumi.String("blobA"),
							pulumi.String("blobB"),
						},
					},
					RuleId:          pulumi.String("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
					SourceContainer: pulumi.String("scont139"),
				},
				{
					DestinationContainer: pulumi.String("dcont179"),
					RuleId:               pulumi.String("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2"),
					SourceContainer:      pulumi.String("scont179"),
				},
			},
			SourceAccount: pulumi.String("src1122"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var objectReplicationPolicy = new ObjectReplicationPolicy("objectReplicationPolicy", ObjectReplicationPolicyArgs.builder()
            .accountName("src1122")
            .destinationAccount("dst112")
            .objectReplicationPolicyId("2a20bb73-5717-4635-985a-5d4cf777438f")
            .resourceGroupName("res7687")
            .rules(
                Map.ofEntries(
                    Map.entry("destinationContainer", "dcont139"),
                    Map.entry("filters", Map.of("prefixMatch",
                        "blobA",
                        "blobB")),
                    Map.entry("ruleId", "d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
                    Map.entry("sourceContainer", "scont139")
                ),
                Map.ofEntries(
                    Map.entry("destinationContainer", "dcont179"),
                    Map.entry("ruleId", "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2"),
                    Map.entry("sourceContainer", "scont179")
                ))
            .sourceAccount("src1122")
            .build());
    }
}Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:storage:ObjectReplicationPolicy 2a20bb73-5717-4635-985a-5d4cf777438f /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}Content copied to clipboard