Provides a resource to manage tos bucket replication
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as volcengine from "@volcengine/pulumi";
const foo = new volcengine.tos.BucketReplication("foo", {
bucketName: "tflyb78",
role: "ServiceRoleforReplicationAccessTOS",
rules: [
{
accessControlTranslation: {
owner: "BucketOwnerEntrusted",
},
destination: {
bucket: "tflyb7-replica1",
location: "cn-beijing",
storageClass: "STANDARD",
storageClassInheritDirective: "SOURCE_OBJECT",
},
historicalObjectReplication: "Enabled",
id: "rule3",
prefixSets: [
"documents/",
"images/",
],
status: "Enabled",
transferType: "internal",
},
{
accessControlTranslation: {
owner: "BucketOwnerEntrusted",
},
destination: {
bucket: "tflyb7-replica2",
location: "cn-beijing",
storageClass: "IA",
storageClassInheritDirective: "DESTINATION_BUCKET",
},
id: "rule2",
status: "Disabled",
},
],
});
import pulumi
import pulumi_volcengine as volcengine
foo = volcengine.tos.BucketReplication("foo",
bucket_name="tflyb78",
role="ServiceRoleforReplicationAccessTOS",
rules=[
volcengine.tos.BucketReplicationRuleArgs(
access_control_translation=volcengine.tos.BucketReplicationRuleAccessControlTranslationArgs(
owner="BucketOwnerEntrusted",
),
destination=volcengine.tos.BucketReplicationRuleDestinationArgs(
bucket="tflyb7-replica1",
location="cn-beijing",
storage_class="STANDARD",
storage_class_inherit_directive="SOURCE_OBJECT",
),
historical_object_replication="Enabled",
id="rule3",
prefix_sets=[
"documents/",
"images/",
],
status="Enabled",
transfer_type="internal",
),
volcengine.tos.BucketReplicationRuleArgs(
access_control_translation=volcengine.tos.BucketReplicationRuleAccessControlTranslationArgs(
owner="BucketOwnerEntrusted",
),
destination=volcengine.tos.BucketReplicationRuleDestinationArgs(
bucket="tflyb7-replica2",
location="cn-beijing",
storage_class="IA",
storage_class_inherit_directive="DESTINATION_BUCKET",
),
id="rule2",
status="Disabled",
),
])
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/tos"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := tos.NewBucketReplication(ctx, "foo", &tos.BucketReplicationArgs{
BucketName: pulumi.String("tflyb78"),
Role: pulumi.String("ServiceRoleforReplicationAccessTOS"),
Rules: tos.BucketReplicationRuleArray{
&tos.BucketReplicationRuleArgs{
AccessControlTranslation: &tos.BucketReplicationRuleAccessControlTranslationArgs{
Owner: pulumi.String("BucketOwnerEntrusted"),
},
Destination: &tos.BucketReplicationRuleDestinationArgs{
Bucket: pulumi.String("tflyb7-replica1"),
Location: pulumi.String("cn-beijing"),
StorageClass: pulumi.String("STANDARD"),
StorageClassInheritDirective: pulumi.String("SOURCE_OBJECT"),
},
HistoricalObjectReplication: pulumi.String("Enabled"),
Id: pulumi.String("rule3"),
PrefixSets: pulumi.StringArray{
pulumi.String("documents/"),
pulumi.String("images/"),
},
Status: pulumi.String("Enabled"),
TransferType: pulumi.String("internal"),
},
&tos.BucketReplicationRuleArgs{
AccessControlTranslation: &tos.BucketReplicationRuleAccessControlTranslationArgs{
Owner: pulumi.String("BucketOwnerEntrusted"),
},
Destination: &tos.BucketReplicationRuleDestinationArgs{
Bucket: pulumi.String("tflyb7-replica2"),
Location: pulumi.String("cn-beijing"),
StorageClass: pulumi.String("IA"),
StorageClassInheritDirective: pulumi.String("DESTINATION_BUCKET"),
},
Id: pulumi.String("rule2"),
Status: pulumi.String("Disabled"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Volcengine = Pulumi.Volcengine;
return await Deployment.RunAsync(() =>
{
var foo = new Volcengine.Tos.BucketReplication("foo", new()
{
BucketName = "tflyb78",
Role = "ServiceRoleforReplicationAccessTOS",
Rules = new[]
{
new Volcengine.Tos.Inputs.BucketReplicationRuleArgs
{
AccessControlTranslation = new Volcengine.Tos.Inputs.BucketReplicationRuleAccessControlTranslationArgs
{
Owner = "BucketOwnerEntrusted",
},
Destination = new Volcengine.Tos.Inputs.BucketReplicationRuleDestinationArgs
{
Bucket = "tflyb7-replica1",
Location = "cn-beijing",
StorageClass = "STANDARD",
StorageClassInheritDirective = "SOURCE_OBJECT",
},
HistoricalObjectReplication = "Enabled",
Id = "rule3",
PrefixSets = new[]
{
"documents/",
"images/",
},
Status = "Enabled",
TransferType = "internal",
},
new Volcengine.Tos.Inputs.BucketReplicationRuleArgs
{
AccessControlTranslation = new Volcengine.Tos.Inputs.BucketReplicationRuleAccessControlTranslationArgs
{
Owner = "BucketOwnerEntrusted",
},
Destination = new Volcengine.Tos.Inputs.BucketReplicationRuleDestinationArgs
{
Bucket = "tflyb7-replica2",
Location = "cn-beijing",
StorageClass = "IA",
StorageClassInheritDirective = "DESTINATION_BUCKET",
},
Id = "rule2",
Status = "Disabled",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.volcengine.tos.BucketReplication;
import com.pulumi.volcengine.tos.BucketReplicationArgs;
import com.pulumi.volcengine.tos.inputs.BucketReplicationRuleArgs;
import com.pulumi.volcengine.tos.inputs.BucketReplicationRuleAccessControlTranslationArgs;
import com.pulumi.volcengine.tos.inputs.BucketReplicationRuleDestinationArgs;
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 foo = new BucketReplication("foo", BucketReplicationArgs.builder()
.bucketName("tflyb78")
.role("ServiceRoleforReplicationAccessTOS")
.rules(
BucketReplicationRuleArgs.builder()
.accessControlTranslation(BucketReplicationRuleAccessControlTranslationArgs.builder()
.owner("BucketOwnerEntrusted")
.build())
.destination(BucketReplicationRuleDestinationArgs.builder()
.bucket("tflyb7-replica1")
.location("cn-beijing")
.storageClass("STANDARD")
.storageClassInheritDirective("SOURCE_OBJECT")
.build())
.historicalObjectReplication("Enabled")
.id("rule3")
.prefixSets(
"documents/",
"images/")
.status("Enabled")
.transferType("internal")
.build(),
BucketReplicationRuleArgs.builder()
.accessControlTranslation(BucketReplicationRuleAccessControlTranslationArgs.builder()
.owner("BucketOwnerEntrusted")
.build())
.destination(BucketReplicationRuleDestinationArgs.builder()
.bucket("tflyb7-replica2")
.location("cn-beijing")
.storageClass("IA")
.storageClassInheritDirective("DESTINATION_BUCKET")
.build())
.id("rule2")
.status("Disabled")
.build())
.build());
}
}
resources:
foo:
type: volcengine:tos:BucketReplication
properties:
bucketName: tflyb78
role: ServiceRoleforReplicationAccessTOS
rules:
- accessControlTranslation:
owner: BucketOwnerEntrusted
destination:
bucket: tflyb7-replica1
location: cn-beijing
storageClass: STANDARD
storageClassInheritDirective: SOURCE_OBJECT
historicalObjectReplication: Enabled
id: rule3
prefixSets:
- documents/
- images/
status: Enabled
transferType: internal
- accessControlTranslation:
owner: BucketOwnerEntrusted
destination:
bucket: tflyb7-replica2
location: cn-beijing
storageClass: IA
storageClassInheritDirective: DESTINATION_BUCKET
id: rule2
status: Disabled
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_name: Optional[str] = None,
role: Optional[str] = None,
rules: Optional[Sequence[BucketReplicationRuleArgs]] = 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: volcengine:tos: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 Volcengine.Tos.BucketReplication("bucketReplicationResource", new()
{
BucketName = "string",
Role = "string",
Rules = new[]
{
new Volcengine.Tos.Inputs.BucketReplicationRuleArgs
{
AccessControlTranslation = new Volcengine.Tos.Inputs.BucketReplicationRuleAccessControlTranslationArgs
{
Owner = "string",
},
Destination = new Volcengine.Tos.Inputs.BucketReplicationRuleDestinationArgs
{
Bucket = "string",
Location = "string",
StorageClass = "string",
StorageClassInheritDirective = "string",
},
Status = "string",
HistoricalObjectReplication = "string",
Id = "string",
PrefixSets = new[]
{
"string",
},
TransferType = "string",
},
},
});
example, err := tos.NewBucketReplication(ctx, "bucketReplicationResource", &tos.BucketReplicationArgs{
BucketName: pulumi.String("string"),
Role: pulumi.String("string"),
Rules: tos.BucketReplicationRuleArray{
&tos.BucketReplicationRuleArgs{
AccessControlTranslation: &tos.BucketReplicationRuleAccessControlTranslationArgs{
Owner: pulumi.String("string"),
},
Destination: &tos.BucketReplicationRuleDestinationArgs{
Bucket: pulumi.String("string"),
Location: pulumi.String("string"),
StorageClass: pulumi.String("string"),
StorageClassInheritDirective: pulumi.String("string"),
},
Status: pulumi.String("string"),
HistoricalObjectReplication: pulumi.String("string"),
Id: pulumi.String("string"),
PrefixSets: pulumi.StringArray{
pulumi.String("string"),
},
TransferType: pulumi.String("string"),
},
},
})
var bucketReplicationResource = new BucketReplication("bucketReplicationResource", BucketReplicationArgs.builder()
.bucketName("string")
.role("string")
.rules(BucketReplicationRuleArgs.builder()
.accessControlTranslation(BucketReplicationRuleAccessControlTranslationArgs.builder()
.owner("string")
.build())
.destination(BucketReplicationRuleDestinationArgs.builder()
.bucket("string")
.location("string")
.storageClass("string")
.storageClassInheritDirective("string")
.build())
.status("string")
.historicalObjectReplication("string")
.id("string")
.prefixSets("string")
.transferType("string")
.build())
.build());
bucket_replication_resource = volcengine.tos.BucketReplication("bucketReplicationResource",
bucket_name="string",
role="string",
rules=[{
"access_control_translation": {
"owner": "string",
},
"destination": {
"bucket": "string",
"location": "string",
"storage_class": "string",
"storage_class_inherit_directive": "string",
},
"status": "string",
"historical_object_replication": "string",
"id": "string",
"prefix_sets": ["string"],
"transfer_type": "string",
}])
const bucketReplicationResource = new volcengine.tos.BucketReplication("bucketReplicationResource", {
bucketName: "string",
role: "string",
rules: [{
accessControlTranslation: {
owner: "string",
},
destination: {
bucket: "string",
location: "string",
storageClass: "string",
storageClassInheritDirective: "string",
},
status: "string",
historicalObjectReplication: "string",
id: "string",
prefixSets: ["string"],
transferType: "string",
}],
});
type: volcengine:tos:BucketReplication
properties:
bucketName: string
role: string
rules:
- accessControlTranslation:
owner: string
destination:
bucket: string
location: string
storageClass: string
storageClassInheritDirective: string
historicalObjectReplication: string
id: string
prefixSets:
- string
status: string
transferType: 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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BucketReplication resource accepts the following input properties:
- Bucket
Name string - The name of the TOS bucket.
- Role string
- The IAM role for replication.
- Rules
List<Bucket
Replication Rule> - The replication rules of the bucket.
- Bucket
Name string - The name of the TOS bucket.
- Role string
- The IAM role for replication.
- Rules
[]Bucket
Replication Rule Args - The replication rules of the bucket.
- bucket
Name String - The name of the TOS bucket.
- role String
- The IAM role for replication.
- rules
List<Bucket
Replication Rule> - The replication rules of the bucket.
- bucket
Name string - The name of the TOS bucket.
- role string
- The IAM role for replication.
- rules
Bucket
Replication Rule[] - The replication rules of the bucket.
- bucket_
name str - The name of the TOS bucket.
- role str
- The IAM role for replication.
- rules
Sequence[Bucket
Replication Rule Args] - The replication rules of the bucket.
- bucket
Name String - The name of the TOS bucket.
- role String
- The IAM role for replication.
- rules List<Property Map>
- The replication rules of the bucket.
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.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
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,
bucket_name: Optional[str] = None,
role: Optional[str] = None,
rules: Optional[Sequence[BucketReplicationRuleArgs]] = None) -> BucketReplicationfunc 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)resources: _: type: volcengine:tos:BucketReplication get: id: ${id}- 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.
- Bucket
Name string - The name of the TOS bucket.
- Role string
- The IAM role for replication.
- Rules
List<Bucket
Replication Rule> - The replication rules of the bucket.
- Bucket
Name string - The name of the TOS bucket.
- Role string
- The IAM role for replication.
- Rules
[]Bucket
Replication Rule Args - The replication rules of the bucket.
- bucket
Name String - The name of the TOS bucket.
- role String
- The IAM role for replication.
- rules
List<Bucket
Replication Rule> - The replication rules of the bucket.
- bucket
Name string - The name of the TOS bucket.
- role string
- The IAM role for replication.
- rules
Bucket
Replication Rule[] - The replication rules of the bucket.
- bucket_
name str - The name of the TOS bucket.
- role str
- The IAM role for replication.
- rules
Sequence[Bucket
Replication Rule Args] - The replication rules of the bucket.
- bucket
Name String - The name of the TOS bucket.
- role String
- The IAM role for replication.
- rules List<Property Map>
- The replication rules of the bucket.
Supporting Types
BucketReplicationRule, BucketReplicationRuleArgs
- Access
Control BucketTranslation Replication Rule Access Control Translation - The access control translation configuration of the replication rule.
- Destination
Bucket
Replication Rule Destination - The destination configuration of the replication rule.
- Status string
- The status of the replication rule. Valid values: Enabled, Disabled.
- Historical
Object stringReplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- Id string
- The ID of the replication rule.
- Prefix
Sets List<string> - The prefix set for the replication rule.
- Transfer
Type string - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
- Access
Control BucketTranslation Replication Rule Access Control Translation - The access control translation configuration of the replication rule.
- Destination
Bucket
Replication Rule Destination - The destination configuration of the replication rule.
- Status string
- The status of the replication rule. Valid values: Enabled, Disabled.
- Historical
Object stringReplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- Id string
- The ID of the replication rule.
- Prefix
Sets []string - The prefix set for the replication rule.
- Transfer
Type string - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
- access
Control BucketTranslation Replication Rule Access Control Translation - The access control translation configuration of the replication rule.
- destination
Bucket
Replication Rule Destination - The destination configuration of the replication rule.
- status String
- The status of the replication rule. Valid values: Enabled, Disabled.
- historical
Object StringReplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- id String
- The ID of the replication rule.
- prefix
Sets List<String> - The prefix set for the replication rule.
- transfer
Type String - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
- access
Control BucketTranslation Replication Rule Access Control Translation - The access control translation configuration of the replication rule.
- destination
Bucket
Replication Rule Destination - The destination configuration of the replication rule.
- status string
- The status of the replication rule. Valid values: Enabled, Disabled.
- historical
Object stringReplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- id string
- The ID of the replication rule.
- prefix
Sets string[] - The prefix set for the replication rule.
- transfer
Type string - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
- access_
control_ Buckettranslation Replication Rule Access Control Translation - The access control translation configuration of the replication rule.
- destination
Bucket
Replication Rule Destination - The destination configuration of the replication rule.
- status str
- The status of the replication rule. Valid values: Enabled, Disabled.
- historical_
object_ strreplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- id str
- The ID of the replication rule.
- prefix_
sets Sequence[str] - The prefix set for the replication rule.
- transfer_
type str - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
- access
Control Property MapTranslation - The access control translation configuration of the replication rule.
- destination Property Map
- The destination configuration of the replication rule.
- status String
- The status of the replication rule. Valid values: Enabled, Disabled.
- historical
Object StringReplication - Whether to replicate historical objects. Valid values: Enabled, Disabled.
- id String
- The ID of the replication rule.
- prefix
Sets List<String> - The prefix set for the replication rule.
- transfer
Type String - Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
BucketReplicationRuleAccessControlTranslation, BucketReplicationRuleAccessControlTranslationArgs
- Owner string
- The owner of the destination object.
- Owner string
- The owner of the destination object.
- owner String
- The owner of the destination object.
- owner string
- The owner of the destination object.
- owner str
- The owner of the destination object.
- owner String
- The owner of the destination object.
BucketReplicationRuleDestination, BucketReplicationRuleDestinationArgs
- Bucket string
- The destination bucket name.
- Location string
- The destination bucket location.
- Storage
Class string - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- Storage
Class stringInherit Directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
- Bucket string
- The destination bucket name.
- Location string
- The destination bucket location.
- Storage
Class string - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- Storage
Class stringInherit Directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
- bucket String
- The destination bucket name.
- location String
- The destination bucket location.
- storage
Class String - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- storage
Class StringInherit Directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
- bucket string
- The destination bucket name.
- location string
- The destination bucket location.
- storage
Class string - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- storage
Class stringInherit Directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
- bucket str
- The destination bucket name.
- location str
- The destination bucket location.
- storage_
class str - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- storage_
class_ strinherit_ directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
- bucket String
- The destination bucket name.
- location String
- The destination bucket location.
- storage
Class String - The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
- storage
Class StringInherit Directive - The storage class inherit directive. Valid values: COPY, OVERRIDE.
Import
TosBucketReplication can be imported using the bucketName, e.g.
$ pulumi import volcengine:tos/bucketReplication:BucketReplication default bucket_name
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- volcengine volcengine/pulumi-volcengine
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
volcengineTerraform Provider.
