1. Packages
  2. Alibaba Cloud
  3. API Docs
  4. oss
  5. BucketReplication
Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi

alicloud.oss.BucketReplication

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi

    Provides an independent replication configuration resource for OSS bucket.

    For information about OSS replication and how to use it, see What is cross-region replication and What is same-region replication.

    NOTE: Available since v1.161.0.

    Example Usage

    Set bucket replication configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    import * as random from "@pulumi/random";
    
    const _default = new random.index.Integer("default", {
        max: 99999,
        min: 10000,
    });
    const bucketSrc = new alicloud.oss.Bucket("bucket_src", {bucket: `example-src-${_default.result}`});
    const bucketDest = new alicloud.oss.Bucket("bucket_dest", {bucket: `example-dest-${_default.result}`});
    const role = new alicloud.ram.Role("role", {
        name: `example-role-${_default.result}`,
        document: `\x09\x09{
    \x09\x09  "Statement": [
    \x09\x09\x09{
    \x09\x09\x09  "Action": "sts:AssumeRole",
    \x09\x09\x09  "Effect": "Allow",
    \x09\x09\x09  "Principal": {
    \x09\x09\x09\x09"Service": [
    \x09\x09\x09\x09  "oss.aliyuncs.com"
    \x09\x09\x09\x09]
    \x09\x09\x09  }
    \x09\x09\x09}
    \x09\x09  ],
    \x09\x09  "Version": "1"
    \x09\x09}
    `,
        description: "this is a test",
        force: true,
    });
    const policy = new alicloud.ram.Policy("policy", {
        policyName: `example-policy-${_default.result}`,
        policyDocument: `\x09\x09{
    \x09\x09  "Statement": [
    \x09\x09\x09{
    \x09\x09\x09  "Action": [
    \x09\x09\x09\x09"*"
    \x09\x09\x09  ],
    \x09\x09\x09  "Effect": "Allow",
    \x09\x09\x09  "Resource": [
    \x09\x09\x09\x09"*"
    \x09\x09\x09  ]
    \x09\x09\x09}
    \x09\x09  ],
    \x09\x09\x09"Version": "1"
    \x09\x09}
    `,
        description: "this is a policy test",
        force: true,
    });
    const attach = new alicloud.ram.RolePolicyAttachment("attach", {
        policyName: policy.name,
        policyType: policy.type,
        roleName: role.name,
    });
    const key = new alicloud.kms.Key("key", {
        description: "Hello KMS",
        pendingWindowInDays: 7,
        status: "Enabled",
    });
    const cross_region_replication = new alicloud.oss.BucketReplication("cross-region-replication", {
        bucket: bucketSrc.id,
        action: "PUT,DELETE",
        historicalObjectReplication: "enabled",
        prefixSet: {
            prefixes: [
                "prefix1/",
                "prefix2/",
            ],
        },
        destination: {
            bucket: bucketDest.id,
            location: bucketDest.location,
        },
        syncRole: role.name,
        encryptionConfiguration: {
            replicaKmsKeyId: key.id,
        },
        sourceSelectionCriteria: {
            sseKmsEncryptedObjects: {
                status: "Enabled",
            },
        },
    });
    
    import pulumi
    import pulumi_alicloud as alicloud
    import pulumi_random as random
    
    default = random.index.Integer("default",
        max=99999,
        min=10000)
    bucket_src = alicloud.oss.Bucket("bucket_src", bucket=f"example-src-{default['result']}")
    bucket_dest = alicloud.oss.Bucket("bucket_dest", bucket=f"example-dest-{default['result']}")
    role = alicloud.ram.Role("role",
        name=f"example-role-{default['result']}",
        document="""\x09\x09{
    \x09\x09  "Statement": [
    \x09\x09\x09{
    \x09\x09\x09  "Action": "sts:AssumeRole",
    \x09\x09\x09  "Effect": "Allow",
    \x09\x09\x09  "Principal": {
    \x09\x09\x09\x09"Service": [
    \x09\x09\x09\x09  "oss.aliyuncs.com"
    \x09\x09\x09\x09]
    \x09\x09\x09  }
    \x09\x09\x09}
    \x09\x09  ],
    \x09\x09  "Version": "1"
    \x09\x09}
    """,
        description="this is a test",
        force=True)
    policy = alicloud.ram.Policy("policy",
        policy_name=f"example-policy-{default['result']}",
        policy_document="""\x09\x09{
    \x09\x09  "Statement": [
    \x09\x09\x09{
    \x09\x09\x09  "Action": [
    \x09\x09\x09\x09"*"
    \x09\x09\x09  ],
    \x09\x09\x09  "Effect": "Allow",
    \x09\x09\x09  "Resource": [
    \x09\x09\x09\x09"*"
    \x09\x09\x09  ]
    \x09\x09\x09}
    \x09\x09  ],
    \x09\x09\x09"Version": "1"
    \x09\x09}
    """,
        description="this is a policy test",
        force=True)
    attach = alicloud.ram.RolePolicyAttachment("attach",
        policy_name=policy.name,
        policy_type=policy.type,
        role_name=role.name)
    key = alicloud.kms.Key("key",
        description="Hello KMS",
        pending_window_in_days=7,
        status="Enabled")
    cross_region_replication = alicloud.oss.BucketReplication("cross-region-replication",
        bucket=bucket_src.id,
        action="PUT,DELETE",
        historical_object_replication="enabled",
        prefix_set=alicloud.oss.BucketReplicationPrefixSetArgs(
            prefixes=[
                "prefix1/",
                "prefix2/",
            ],
        ),
        destination=alicloud.oss.BucketReplicationDestinationArgs(
            bucket=bucket_dest.id,
            location=bucket_dest.location,
        ),
        sync_role=role.name,
        encryption_configuration=alicloud.oss.BucketReplicationEncryptionConfigurationArgs(
            replica_kms_key_id=key.id,
        ),
        source_selection_criteria=alicloud.oss.BucketReplicationSourceSelectionCriteriaArgs(
            sse_kms_encrypted_objects=alicloud.oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs(
                status="Enabled",
            ),
        ))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
    			Max: 99999,
    			Min: 10000,
    		})
    		if err != nil {
    			return err
    		}
    		bucketSrc, err := oss.NewBucket(ctx, "bucket_src", &oss.BucketArgs{
    			Bucket: pulumi.String(fmt.Sprintf("example-src-%v", _default.Result)),
    		})
    		if err != nil {
    			return err
    		}
    		bucketDest, err := oss.NewBucket(ctx, "bucket_dest", &oss.BucketArgs{
    			Bucket: pulumi.String(fmt.Sprintf("example-dest-%v", _default.Result)),
    		})
    		if err != nil {
    			return err
    		}
    		role, err := ram.NewRole(ctx, "role", &ram.RoleArgs{
    			Name: pulumi.String(fmt.Sprintf("example-role-%v", _default.Result)),
    			Document: pulumi.String(`		{
    		  "Statement": [
    			{
    			  "Action": "sts:AssumeRole",
    			  "Effect": "Allow",
    			  "Principal": {
    				"Service": [
    				  "oss.aliyuncs.com"
    				]
    			  }
    			}
    		  ],
    		  "Version": "1"
    		}
    `),
    			Description: pulumi.String("this is a test"),
    			Force:       pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		policy, err := ram.NewPolicy(ctx, "policy", &ram.PolicyArgs{
    			PolicyName: pulumi.String(fmt.Sprintf("example-policy-%v", _default.Result)),
    			PolicyDocument: pulumi.String(`		{
    		  "Statement": [
    			{
    			  "Action": [
    				"*"
    			  ],
    			  "Effect": "Allow",
    			  "Resource": [
    				"*"
    			  ]
    			}
    		  ],
    			"Version": "1"
    		}
    `),
    			Description: pulumi.String("this is a policy test"),
    			Force:       pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ram.NewRolePolicyAttachment(ctx, "attach", &ram.RolePolicyAttachmentArgs{
    			PolicyName: policy.Name,
    			PolicyType: policy.Type,
    			RoleName:   role.Name,
    		})
    		if err != nil {
    			return err
    		}
    		key, err := kms.NewKey(ctx, "key", &kms.KeyArgs{
    			Description:         pulumi.String("Hello KMS"),
    			PendingWindowInDays: pulumi.Int(7),
    			Status:              pulumi.String("Enabled"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = oss.NewBucketReplication(ctx, "cross-region-replication", &oss.BucketReplicationArgs{
    			Bucket:                      bucketSrc.ID(),
    			Action:                      pulumi.String("PUT,DELETE"),
    			HistoricalObjectReplication: pulumi.String("enabled"),
    			PrefixSet: &oss.BucketReplicationPrefixSetArgs{
    				Prefixes: pulumi.StringArray{
    					pulumi.String("prefix1/"),
    					pulumi.String("prefix2/"),
    				},
    			},
    			Destination: &oss.BucketReplicationDestinationArgs{
    				Bucket:   bucketDest.ID(),
    				Location: bucketDest.Location,
    			},
    			SyncRole: role.Name,
    			EncryptionConfiguration: &oss.BucketReplicationEncryptionConfigurationArgs{
    				ReplicaKmsKeyId: key.ID(),
    			},
    			SourceSelectionCriteria: &oss.BucketReplicationSourceSelectionCriteriaArgs{
    				SseKmsEncryptedObjects: &oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{
    					Status: pulumi.String("Enabled"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Random.Index.Integer("default", new()
        {
            Max = 99999,
            Min = 10000,
        });
    
        var bucketSrc = new AliCloud.Oss.Bucket("bucket_src", new()
        {
            BucketName = $"example-src-{@default.Result}",
        });
    
        var bucketDest = new AliCloud.Oss.Bucket("bucket_dest", new()
        {
            BucketName = $"example-dest-{@default.Result}",
        });
    
        var role = new AliCloud.Ram.Role("role", new()
        {
            Name = $"example-role-{@default.Result}",
            Document = @"		{
    		  ""Statement"": [
    			{
    			  ""Action"": ""sts:AssumeRole"",
    			  ""Effect"": ""Allow"",
    			  ""Principal"": {
    				""Service"": [
    				  ""oss.aliyuncs.com""
    				]
    			  }
    			}
    		  ],
    		  ""Version"": ""1""
    		}
    ",
            Description = "this is a test",
            Force = true,
        });
    
        var policy = new AliCloud.Ram.Policy("policy", new()
        {
            PolicyName = $"example-policy-{@default.Result}",
            PolicyDocument = @"		{
    		  ""Statement"": [
    			{
    			  ""Action"": [
    				""*""
    			  ],
    			  ""Effect"": ""Allow"",
    			  ""Resource"": [
    				""*""
    			  ]
    			}
    		  ],
    			""Version"": ""1""
    		}
    ",
            Description = "this is a policy test",
            Force = true,
        });
    
        var attach = new AliCloud.Ram.RolePolicyAttachment("attach", new()
        {
            PolicyName = policy.Name,
            PolicyType = policy.Type,
            RoleName = role.Name,
        });
    
        var key = new AliCloud.Kms.Key("key", new()
        {
            Description = "Hello KMS",
            PendingWindowInDays = 7,
            Status = "Enabled",
        });
    
        var cross_region_replication = new AliCloud.Oss.BucketReplication("cross-region-replication", new()
        {
            Bucket = bucketSrc.Id,
            Action = "PUT,DELETE",
            HistoricalObjectReplication = "enabled",
            PrefixSet = new AliCloud.Oss.Inputs.BucketReplicationPrefixSetArgs
            {
                Prefixes = new[]
                {
                    "prefix1/",
                    "prefix2/",
                },
            },
            Destination = new AliCloud.Oss.Inputs.BucketReplicationDestinationArgs
            {
                Bucket = bucketDest.Id,
                Location = bucketDest.Location,
            },
            SyncRole = role.Name,
            EncryptionConfiguration = new AliCloud.Oss.Inputs.BucketReplicationEncryptionConfigurationArgs
            {
                ReplicaKmsKeyId = key.Id,
            },
            SourceSelectionCriteria = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaArgs
            {
                SseKmsEncryptedObjects = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs
                {
                    Status = "Enabled",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.random.integer;
    import com.pulumi.random.IntegerArgs;
    import com.pulumi.alicloud.oss.Bucket;
    import com.pulumi.alicloud.oss.BucketArgs;
    import com.pulumi.alicloud.ram.Role;
    import com.pulumi.alicloud.ram.RoleArgs;
    import com.pulumi.alicloud.ram.Policy;
    import com.pulumi.alicloud.ram.PolicyArgs;
    import com.pulumi.alicloud.ram.RolePolicyAttachment;
    import com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;
    import com.pulumi.alicloud.kms.Key;
    import com.pulumi.alicloud.kms.KeyArgs;
    import com.pulumi.alicloud.oss.BucketReplication;
    import com.pulumi.alicloud.oss.BucketReplicationArgs;
    import com.pulumi.alicloud.oss.inputs.BucketReplicationPrefixSetArgs;
    import com.pulumi.alicloud.oss.inputs.BucketReplicationDestinationArgs;
    import com.pulumi.alicloud.oss.inputs.BucketReplicationEncryptionConfigurationArgs;
    import com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaArgs;
    import com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs;
    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 default_ = new Integer("default", IntegerArgs.builder()
                .max(99999)
                .min(10000)
                .build());
    
            var bucketSrc = new Bucket("bucketSrc", BucketArgs.builder()
                .bucket(String.format("example-src-%s", default_.result()))
                .build());
    
            var bucketDest = new Bucket("bucketDest", BucketArgs.builder()
                .bucket(String.format("example-dest-%s", default_.result()))
                .build());
    
            var role = new Role("role", RoleArgs.builder()
                .name(String.format("example-role-%s", default_.result()))
                .document("""
    		{
    		  "Statement": [
    			{
    			  "Action": "sts:AssumeRole",
    			  "Effect": "Allow",
    			  "Principal": {
    				"Service": [
    				  "oss.aliyuncs.com"
    				]
    			  }
    			}
    		  ],
    		  "Version": "1"
    		}
                """)
                .description("this is a test")
                .force(true)
                .build());
    
            var policy = new Policy("policy", PolicyArgs.builder()
                .policyName(String.format("example-policy-%s", default_.result()))
                .policyDocument("""
    		{
    		  "Statement": [
    			{
    			  "Action": [
    				"*"
    			  ],
    			  "Effect": "Allow",
    			  "Resource": [
    				"*"
    			  ]
    			}
    		  ],
    			"Version": "1"
    		}
                """)
                .description("this is a policy test")
                .force(true)
                .build());
    
            var attach = new RolePolicyAttachment("attach", RolePolicyAttachmentArgs.builder()
                .policyName(policy.name())
                .policyType(policy.type())
                .roleName(role.name())
                .build());
    
            var key = new Key("key", KeyArgs.builder()
                .description("Hello KMS")
                .pendingWindowInDays("7")
                .status("Enabled")
                .build());
    
            var cross_region_replication = new BucketReplication("cross-region-replication", BucketReplicationArgs.builder()
                .bucket(bucketSrc.id())
                .action("PUT,DELETE")
                .historicalObjectReplication("enabled")
                .prefixSet(BucketReplicationPrefixSetArgs.builder()
                    .prefixes(                
                        "prefix1/",
                        "prefix2/")
                    .build())
                .destination(BucketReplicationDestinationArgs.builder()
                    .bucket(bucketDest.id())
                    .location(bucketDest.location())
                    .build())
                .syncRole(role.name())
                .encryptionConfiguration(BucketReplicationEncryptionConfigurationArgs.builder()
                    .replicaKmsKeyId(key.id())
                    .build())
                .sourceSelectionCriteria(BucketReplicationSourceSelectionCriteriaArgs.builder()
                    .sseKmsEncryptedObjects(BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs.builder()
                        .status("Enabled")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      default:
        type: random:integer
        properties:
          max: 99999
          min: 10000
      bucketSrc:
        type: alicloud:oss:Bucket
        name: bucket_src
        properties:
          bucket: example-src-${default.result}
      bucketDest:
        type: alicloud:oss:Bucket
        name: bucket_dest
        properties:
          bucket: example-dest-${default.result}
      role:
        type: alicloud:ram:Role
        properties:
          name: example-role-${default.result}
          document: |
            		{
            		  "Statement": [
            			{
            			  "Action": "sts:AssumeRole",
            			  "Effect": "Allow",
            			  "Principal": {
            				"Service": [
            				  "oss.aliyuncs.com"
            				]
            			  }
            			}
            		  ],
            		  "Version": "1"
            		}        
          description: this is a test
          force: true
      policy:
        type: alicloud:ram:Policy
        properties:
          policyName: example-policy-${default.result}
          policyDocument: |
            		{
            		  "Statement": [
            			{
            			  "Action": [
            				"*"
            			  ],
            			  "Effect": "Allow",
            			  "Resource": [
            				"*"
            			  ]
            			}
            		  ],
            			"Version": "1"
            		}        
          description: this is a policy test
          force: true
      attach:
        type: alicloud:ram:RolePolicyAttachment
        properties:
          policyName: ${policy.name}
          policyType: ${policy.type}
          roleName: ${role.name}
      key:
        type: alicloud:kms:Key
        properties:
          description: Hello KMS
          pendingWindowInDays: '7'
          status: Enabled
      cross-region-replication:
        type: alicloud:oss:BucketReplication
        properties:
          bucket: ${bucketSrc.id}
          action: PUT,DELETE
          historicalObjectReplication: enabled
          prefixSet:
            prefixes:
              - prefix1/
              - prefix2/
          destination:
            bucket: ${bucketDest.id}
            location: ${bucketDest.location}
          syncRole: ${role.name}
          encryptionConfiguration:
            replicaKmsKeyId: ${key.id}
          sourceSelectionCriteria:
            sseKmsEncryptedObjects:
              status: Enabled
    

    Create BucketReplication Resource

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

    Constructor syntax

    new BucketReplication(name: string, args: BucketReplicationArgs, opts?: CustomResourceOptions);
    @overload
    def BucketReplication(resource_name: str,
                          args: BucketReplicationArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def BucketReplication(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          bucket: Optional[str] = None,
                          destination: Optional[BucketReplicationDestinationArgs] = None,
                          action: Optional[str] = None,
                          encryption_configuration: Optional[BucketReplicationEncryptionConfigurationArgs] = None,
                          historical_object_replication: Optional[str] = None,
                          prefix_set: Optional[BucketReplicationPrefixSetArgs] = None,
                          progress: Optional[BucketReplicationProgressArgs] = None,
                          source_selection_criteria: Optional[BucketReplicationSourceSelectionCriteriaArgs] = None,
                          sync_role: Optional[str] = None)
    func NewBucketReplication(ctx *Context, name string, args BucketReplicationArgs, opts ...ResourceOption) (*BucketReplication, error)
    public BucketReplication(string name, BucketReplicationArgs args, CustomResourceOptions? opts = null)
    public BucketReplication(String name, BucketReplicationArgs args)
    public BucketReplication(String name, BucketReplicationArgs args, CustomResourceOptions options)
    
    type: alicloud:oss:BucketReplication
    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 BucketReplicationArgs
    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 BucketReplicationArgs
    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 BucketReplicationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BucketReplicationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args BucketReplicationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var bucketReplicationResource = new AliCloud.Oss.BucketReplication("bucketReplicationResource", new()
    {
        Bucket = "string",
        Destination = new AliCloud.Oss.Inputs.BucketReplicationDestinationArgs
        {
            Bucket = "string",
            Location = "string",
            TransferType = "string",
        },
        Action = "string",
        EncryptionConfiguration = new AliCloud.Oss.Inputs.BucketReplicationEncryptionConfigurationArgs
        {
            ReplicaKmsKeyId = "string",
        },
        HistoricalObjectReplication = "string",
        PrefixSet = new AliCloud.Oss.Inputs.BucketReplicationPrefixSetArgs
        {
            Prefixes = new[]
            {
                "string",
            },
        },
        Progress = new AliCloud.Oss.Inputs.BucketReplicationProgressArgs
        {
            HistoricalObject = "string",
            NewObject = "string",
        },
        SourceSelectionCriteria = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaArgs
        {
            SseKmsEncryptedObjects = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs
            {
                Status = "string",
            },
        },
        SyncRole = "string",
    });
    
    example, err := oss.NewBucketReplication(ctx, "bucketReplicationResource", &oss.BucketReplicationArgs{
    	Bucket: pulumi.String("string"),
    	Destination: &oss.BucketReplicationDestinationArgs{
    		Bucket:       pulumi.String("string"),
    		Location:     pulumi.String("string"),
    		TransferType: pulumi.String("string"),
    	},
    	Action: pulumi.String("string"),
    	EncryptionConfiguration: &oss.BucketReplicationEncryptionConfigurationArgs{
    		ReplicaKmsKeyId: pulumi.String("string"),
    	},
    	HistoricalObjectReplication: pulumi.String("string"),
    	PrefixSet: &oss.BucketReplicationPrefixSetArgs{
    		Prefixes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Progress: &oss.BucketReplicationProgressArgs{
    		HistoricalObject: pulumi.String("string"),
    		NewObject:        pulumi.String("string"),
    	},
    	SourceSelectionCriteria: &oss.BucketReplicationSourceSelectionCriteriaArgs{
    		SseKmsEncryptedObjects: &oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{
    			Status: pulumi.String("string"),
    		},
    	},
    	SyncRole: pulumi.String("string"),
    })
    
    var bucketReplicationResource = new BucketReplication("bucketReplicationResource", BucketReplicationArgs.builder()
        .bucket("string")
        .destination(BucketReplicationDestinationArgs.builder()
            .bucket("string")
            .location("string")
            .transferType("string")
            .build())
        .action("string")
        .encryptionConfiguration(BucketReplicationEncryptionConfigurationArgs.builder()
            .replicaKmsKeyId("string")
            .build())
        .historicalObjectReplication("string")
        .prefixSet(BucketReplicationPrefixSetArgs.builder()
            .prefixes("string")
            .build())
        .progress(BucketReplicationProgressArgs.builder()
            .historicalObject("string")
            .newObject("string")
            .build())
        .sourceSelectionCriteria(BucketReplicationSourceSelectionCriteriaArgs.builder()
            .sseKmsEncryptedObjects(BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs.builder()
                .status("string")
                .build())
            .build())
        .syncRole("string")
        .build());
    
    bucket_replication_resource = alicloud.oss.BucketReplication("bucketReplicationResource",
        bucket="string",
        destination=alicloud.oss.BucketReplicationDestinationArgs(
            bucket="string",
            location="string",
            transfer_type="string",
        ),
        action="string",
        encryption_configuration=alicloud.oss.BucketReplicationEncryptionConfigurationArgs(
            replica_kms_key_id="string",
        ),
        historical_object_replication="string",
        prefix_set=alicloud.oss.BucketReplicationPrefixSetArgs(
            prefixes=["string"],
        ),
        progress=alicloud.oss.BucketReplicationProgressArgs(
            historical_object="string",
            new_object="string",
        ),
        source_selection_criteria=alicloud.oss.BucketReplicationSourceSelectionCriteriaArgs(
            sse_kms_encrypted_objects=alicloud.oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs(
                status="string",
            ),
        ),
        sync_role="string")
    
    const bucketReplicationResource = new alicloud.oss.BucketReplication("bucketReplicationResource", {
        bucket: "string",
        destination: {
            bucket: "string",
            location: "string",
            transferType: "string",
        },
        action: "string",
        encryptionConfiguration: {
            replicaKmsKeyId: "string",
        },
        historicalObjectReplication: "string",
        prefixSet: {
            prefixes: ["string"],
        },
        progress: {
            historicalObject: "string",
            newObject: "string",
        },
        sourceSelectionCriteria: {
            sseKmsEncryptedObjects: {
                status: "string",
            },
        },
        syncRole: "string",
    });
    
    type: alicloud:oss:BucketReplication
    properties:
        action: string
        bucket: string
        destination:
            bucket: string
            location: string
            transferType: string
        encryptionConfiguration:
            replicaKmsKeyId: string
        historicalObjectReplication: string
        prefixSet:
            prefixes:
                - string
        progress:
            historicalObject: string
            newObject: string
        sourceSelectionCriteria:
            sseKmsEncryptedObjects:
                status: string
        syncRole: string
    

    BucketReplication 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 BucketReplication resource accepts the following input properties:

    Bucket string
    The name of the bucket.
    Destination Pulumi.AliCloud.Oss.Inputs.BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    Action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    EncryptionConfiguration Pulumi.AliCloud.Oss.Inputs.BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    HistoricalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    PrefixSet Pulumi.AliCloud.Oss.Inputs.BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    Progress Pulumi.AliCloud.Oss.Inputs.BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    SourceSelectionCriteria Pulumi.AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    SyncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    Bucket string
    The name of the bucket.
    Destination BucketReplicationDestinationArgs
    Specifies the destination for the rule. See destination below.
    Action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    EncryptionConfiguration BucketReplicationEncryptionConfigurationArgs
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    HistoricalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    PrefixSet BucketReplicationPrefixSetArgs
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    Progress BucketReplicationProgressArgs
    Specifies the progress for querying the progress of a data replication task of a bucket.
    SourceSelectionCriteria BucketReplicationSourceSelectionCriteriaArgs
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    SyncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    bucket String
    The name of the bucket.
    destination BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    action String
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    encryptionConfiguration BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication String
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    sourceSelectionCriteria BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    syncRole String
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    bucket string
    The name of the bucket.
    destination BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    encryptionConfiguration BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    sourceSelectionCriteria BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    syncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    bucket str
    The name of the bucket.
    destination BucketReplicationDestinationArgs
    Specifies the destination for the rule. See destination below.
    action str
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    encryption_configuration BucketReplicationEncryptionConfigurationArgs
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historical_object_replication str
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefix_set BucketReplicationPrefixSetArgs
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgressArgs
    Specifies the progress for querying the progress of a data replication task of a bucket.
    source_selection_criteria BucketReplicationSourceSelectionCriteriaArgs
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    sync_role str
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    bucket String
    The name of the bucket.
    destination Property Map
    Specifies the destination for the rule. See destination below.
    action String
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    encryptionConfiguration Property Map
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication String
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet Property Map
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress Property Map
    Specifies the progress for querying the progress of a data replication task of a bucket.
    sourceSelectionCriteria Property Map
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    syncRole String
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    The ID of the data replication rule.
    Status string
    The status of the data replication task. Can be starting, doing and closing.
    Id string
    The provider-assigned unique ID for this managed resource.
    RuleId string
    The ID of the data replication rule.
    Status string
    The status of the data replication task. Can be starting, doing and closing.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    The ID of the data replication rule.
    status String
    The status of the data replication task. Can be starting, doing and closing.
    id string
    The provider-assigned unique ID for this managed resource.
    ruleId string
    The ID of the data replication rule.
    status string
    The status of the data replication task. Can be starting, doing and closing.
    id str
    The provider-assigned unique ID for this managed resource.
    rule_id str
    The ID of the data replication rule.
    status str
    The status of the data replication task. Can be starting, doing and closing.
    id String
    The provider-assigned unique ID for this managed resource.
    ruleId String
    The ID of the data replication rule.
    status String
    The status of the data replication task. Can be starting, doing and closing.

    Look up Existing BucketReplication Resource

    Get an existing BucketReplication 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?: BucketReplicationState, opts?: CustomResourceOptions): BucketReplication
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            action: Optional[str] = None,
            bucket: Optional[str] = None,
            destination: Optional[BucketReplicationDestinationArgs] = None,
            encryption_configuration: Optional[BucketReplicationEncryptionConfigurationArgs] = None,
            historical_object_replication: Optional[str] = None,
            prefix_set: Optional[BucketReplicationPrefixSetArgs] = None,
            progress: Optional[BucketReplicationProgressArgs] = None,
            rule_id: Optional[str] = None,
            source_selection_criteria: Optional[BucketReplicationSourceSelectionCriteriaArgs] = None,
            status: Optional[str] = None,
            sync_role: Optional[str] = None) -> BucketReplication
    func GetBucketReplication(ctx *Context, name string, id IDInput, state *BucketReplicationState, opts ...ResourceOption) (*BucketReplication, error)
    public static BucketReplication Get(string name, Input<string> id, BucketReplicationState? state, CustomResourceOptions? opts = null)
    public static BucketReplication get(String name, Output<String> id, BucketReplicationState 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:
    Action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    Bucket string
    The name of the bucket.
    Destination Pulumi.AliCloud.Oss.Inputs.BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    EncryptionConfiguration Pulumi.AliCloud.Oss.Inputs.BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    HistoricalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    PrefixSet Pulumi.AliCloud.Oss.Inputs.BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    Progress Pulumi.AliCloud.Oss.Inputs.BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    RuleId string
    The ID of the data replication rule.
    SourceSelectionCriteria Pulumi.AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    Status string
    The status of the data replication task. Can be starting, doing and closing.
    SyncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    Action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    Bucket string
    The name of the bucket.
    Destination BucketReplicationDestinationArgs
    Specifies the destination for the rule. See destination below.
    EncryptionConfiguration BucketReplicationEncryptionConfigurationArgs
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    HistoricalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    PrefixSet BucketReplicationPrefixSetArgs
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    Progress BucketReplicationProgressArgs
    Specifies the progress for querying the progress of a data replication task of a bucket.
    RuleId string
    The ID of the data replication rule.
    SourceSelectionCriteria BucketReplicationSourceSelectionCriteriaArgs
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    Status string
    The status of the data replication task. Can be starting, doing and closing.
    SyncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    action String
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    bucket String
    The name of the bucket.
    destination BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    encryptionConfiguration BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication String
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    ruleId String
    The ID of the data replication rule.
    sourceSelectionCriteria BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    status String
    The status of the data replication task. Can be starting, doing and closing.
    syncRole String
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    action string
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    bucket string
    The name of the bucket.
    destination BucketReplicationDestination
    Specifies the destination for the rule. See destination below.
    encryptionConfiguration BucketReplicationEncryptionConfiguration
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication string
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet BucketReplicationPrefixSet
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgress
    Specifies the progress for querying the progress of a data replication task of a bucket.
    ruleId string
    The ID of the data replication rule.
    sourceSelectionCriteria BucketReplicationSourceSelectionCriteria
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    status string
    The status of the data replication task. Can be starting, doing and closing.
    syncRole string
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    action str
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    bucket str
    The name of the bucket.
    destination BucketReplicationDestinationArgs
    Specifies the destination for the rule. See destination below.
    encryption_configuration BucketReplicationEncryptionConfigurationArgs
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historical_object_replication str
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefix_set BucketReplicationPrefixSetArgs
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress BucketReplicationProgressArgs
    Specifies the progress for querying the progress of a data replication task of a bucket.
    rule_id str
    The ID of the data replication rule.
    source_selection_criteria BucketReplicationSourceSelectionCriteriaArgs
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    status str
    The status of the data replication task. Can be starting, doing and closing.
    sync_role str
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.
    action String
    The operations that can be synchronized to the destination bucket. You can set action to one or more of the following operation types. Valid values: ALL(contains PUT, DELETE, and ABORT), PUT, DELETE and ABORT. Defaults to ALL.
    bucket String
    The name of the bucket.
    destination Property Map
    Specifies the destination for the rule. See destination below.
    encryptionConfiguration Property Map
    Specifies the encryption configuration for the objects replicated to the destination bucket. See encryption_configuration below.
    historicalObjectReplication String
    Specifies whether to replicate historical data from the source bucket to the destination bucket before data replication is enabled. Can be enabled or disabled. Defaults to enabled.
    prefixSet Property Map
    The prefixes used to specify the object to replicate. Only objects that match the prefix are replicated to the destination bucket. See prefix_set below.
    progress Property Map
    Specifies the progress for querying the progress of a data replication task of a bucket.
    ruleId String
    The ID of the data replication rule.
    sourceSelectionCriteria Property Map
    Specifies other conditions used to filter the source objects to replicate. See source_selection_criteria below.
    status String
    The status of the data replication task. Can be starting, doing and closing.
    syncRole String
    Specifies the role that you authorize OSS to use to replicate data. If SSE-KMS is specified to encrypt the objects replicated to the destination bucket, it must be specified.

    Supporting Types

    BucketReplicationDestination, BucketReplicationDestinationArgs

    Bucket string
    The destination bucket to which the data is replicated.
    Location string
    The region in which the destination bucket is located.
    TransferType string

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    Bucket string
    The destination bucket to which the data is replicated.
    Location string
    The region in which the destination bucket is located.
    TransferType string

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    bucket String
    The destination bucket to which the data is replicated.
    location String
    The region in which the destination bucket is located.
    transferType String

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    bucket string
    The destination bucket to which the data is replicated.
    location string
    The region in which the destination bucket is located.
    transferType string

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    bucket str
    The destination bucket to which the data is replicated.
    location str
    The region in which the destination bucket is located.
    transfer_type str

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    bucket String
    The destination bucket to which the data is replicated.
    location String
    The region in which the destination bucket is located.
    transferType String

    The link used to transfer data in data replication.. Can be internal or oss_acc. Defaults to internal.

    NOTE: You can set transfer_type to oss_acc only when you create cross-region replication (CRR) rules.

    BucketReplicationEncryptionConfiguration, BucketReplicationEncryptionConfigurationArgs

    ReplicaKmsKeyId string

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    ReplicaKmsKeyId string

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    replicaKmsKeyId String

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    replicaKmsKeyId string

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    replica_kms_key_id str

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    replicaKmsKeyId String

    The CMK ID used in SSE-KMS.

    NOTE: If the status of sse_kms_encrypted_objects is set to Enabled, you must specify the replica_kms_key_id.

    BucketReplicationPrefixSet, BucketReplicationPrefixSetArgs

    Prefixes List<string>

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    Prefixes []string

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    prefixes List<String>

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    prefixes string[]

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    prefixes Sequence[str]

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    prefixes List<String>

    The list of object key name prefix identifying one or more objects to which the rule applies.

    NOTE: The prefix must be less than or equal to 1024 characters in length.

    BucketReplicationProgress, BucketReplicationProgressArgs

    HistoricalObject string
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    NewObject string
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.
    HistoricalObject string
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    NewObject string
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.
    historicalObject String
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    newObject String
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.
    historicalObject string
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    newObject string
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.
    historical_object str
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    new_object str
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.
    historicalObject String
    The percentage of the replicated historical data. This element is valid only when historical_object_replication is set to enabled.
    newObject String
    The time used to distinguish new data from historical data. Data that is written to the source bucket before the time is replicated to the destination bucket as new data. The value of this element is in GMT.

    BucketReplicationSourceSelectionCriteria, BucketReplicationSourceSelectionCriteriaArgs

    SseKmsEncryptedObjects Pulumi.AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.
    SseKmsEncryptedObjects BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.
    sseKmsEncryptedObjects BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.
    sseKmsEncryptedObjects BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.
    sse_kms_encrypted_objects BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.
    sseKmsEncryptedObjects Property Map
    Filter source objects encrypted by using SSE-KMS. See sse_kms_encrypted_objects below.

    BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjects, BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs

    Status string
    The status of the data replication task. Can be starting, doing and closing.
    Status string
    The status of the data replication task. Can be starting, doing and closing.
    status String
    The status of the data replication task. Can be starting, doing and closing.
    status string
    The status of the data replication task. Can be starting, doing and closing.
    status str
    The status of the data replication task. Can be starting, doing and closing.
    status String
    The status of the data replication task. Can be starting, doing and closing.

    Import

    Timeouts

    The timeouts block allows you to specify timeouts for certain actions:

    • delete - (Defaults to 30 mins) Used when delete a data replication rule (until the data replication task is cleared).

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

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.57.1 published on Wednesday, Jun 26, 2024 by Pulumi