ObjectReplicationPolicy

class ObjectReplicationPolicy : KotlinCustomResource

The replication policy between two storage accounts. Multiple rules can be defined in one policy. Uses Azure REST API version 2022-09-01. In version 1.x of the Azure Native provider, it used API version 2021-02-01. Other available API versions: 2023-01-01, 2023-04-01, 2023-05-01, 2024-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",
});
});
package main
import (
storage "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.ObjectReplicationPolicyRuleArray{
&storage.ObjectReplicationPolicyRuleArgs{
DestinationContainer: pulumi.String("dcont139"),
Filters: &storage.ObjectReplicationPolicyFilterArgs{
PrefixMatch: pulumi.StringArray{
pulumi.String("blobA"),
pulumi.String("blobB"),
},
},
SourceContainer: pulumi.String("scont139"),
},
},
SourceAccount: pulumi.String("src1122"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyRuleArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyFilterArgs;
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(ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont139")
.filters(ObjectReplicationPolicyFilterArgs.builder()
.prefixMatch(
"blobA",
"blobB")
.build())
.sourceContainer("scont139")
.build())
.sourceAccount("src1122")
.build());
}
}

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",
});
});
package main
import (
storage "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.ObjectReplicationPolicyRuleArray{
&storage.ObjectReplicationPolicyRuleArgs{
DestinationContainer: pulumi.String("dcont139"),
Filters: &storage.ObjectReplicationPolicyFilterArgs{
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
})
}
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 com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyRuleArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyFilterArgs;
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(ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont139")
.filters(ObjectReplicationPolicyFilterArgs.builder()
.minCreationTime("2020-02-19T16:05:00Z")
.prefixMatch(
"blobA",
"blobB")
.build())
.ruleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.sourceContainer("scont139")
.build())
.sourceAccount("src1122")
.build());
}
}

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",
});
});
package main
import (
storage "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.ObjectReplicationPolicyRuleArray{
&storage.ObjectReplicationPolicyRuleArgs{
DestinationContainer: pulumi.String("dcont139"),
Filters: &storage.ObjectReplicationPolicyFilterArgs{
PrefixMatch: pulumi.StringArray{
pulumi.String("blobA"),
pulumi.String("blobB"),
},
},
RuleId: pulumi.String("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
SourceContainer: pulumi.String("scont139"),
},
&storage.ObjectReplicationPolicyRuleArgs{
DestinationContainer: pulumi.String("dcont179"),
SourceContainer: pulumi.String("scont179"),
},
},
SourceAccount: pulumi.String("src1122"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.storage.ObjectReplicationPolicy;
import com.pulumi.azurenative.storage.ObjectReplicationPolicyArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyRuleArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyFilterArgs;
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(
ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont139")
.filters(ObjectReplicationPolicyFilterArgs.builder()
.prefixMatch(
"blobA",
"blobB")
.build())
.ruleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.sourceContainer("scont139")
.build(),
ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont179")
.sourceContainer("scont179")
.build())
.sourceAccount("src1122")
.build());
}
}

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",
});
});
package main
import (
storage "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.ObjectReplicationPolicyRuleArray{
&storage.ObjectReplicationPolicyRuleArgs{
DestinationContainer: pulumi.String("dcont139"),
Filters: &storage.ObjectReplicationPolicyFilterArgs{
PrefixMatch: pulumi.StringArray{
pulumi.String("blobA"),
pulumi.String("blobB"),
},
},
RuleId: pulumi.String("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
SourceContainer: pulumi.String("scont139"),
},
&storage.ObjectReplicationPolicyRuleArgs{
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
})
}
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 com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyRuleArgs;
import com.pulumi.azurenative.storage.inputs.ObjectReplicationPolicyFilterArgs;
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(
ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont139")
.filters(ObjectReplicationPolicyFilterArgs.builder()
.prefixMatch(
"blobA",
"blobB")
.build())
.ruleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.sourceContainer("scont139")
.build(),
ObjectReplicationPolicyRuleArgs.builder()
.destinationContainer("dcont179")
.ruleId("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2")
.sourceContainer("scont179")
.build())
.sourceAccount("src1122")
.build());
}
}

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}

Properties

Link copied to clipboard

Required. Destination account name. It should be full resource id if allowCrossTenantReplication set to false.

Link copied to clipboard
val enabledTime: Output<String>

Indicates when the policy is enabled on the source account.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard
val policyId: Output<String>

A unique id for object replication policy.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The storage account object replication rules.

Link copied to clipboard
val sourceAccount: Output<String>

Required. Source account name. It should be full resource id if allowCrossTenantReplication set to false.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>