MultiRegionAccessPoint

class MultiRegionAccessPoint : KotlinCustomResource

Provides a resource to manage an S3 Multi-Region Access Point associated with specified buckets.

This resource cannot be used with S3 directory buckets.

Example Usage

Multiple AWS Buckets in Different Regions

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const fooBucket = new aws.s3.BucketV2("foo_bucket", {bucket: "example-bucket-foo"});
const barBucket = new aws.s3.BucketV2("bar_bucket", {bucket: "example-bucket-bar"});
const example = new aws.s3control.MultiRegionAccessPoint("example", {details: {
name: "example",
regions: [
{
bucket: fooBucket.id,
},
{
bucket: barBucket.id,
},
],
}});
import pulumi
import pulumi_aws as aws
foo_bucket = aws.s3.BucketV2("foo_bucket", bucket="example-bucket-foo")
bar_bucket = aws.s3.BucketV2("bar_bucket", bucket="example-bucket-bar")
example = aws.s3control.MultiRegionAccessPoint("example", details={
"name": "example",
"regions": [
{
"bucket": foo_bucket.id,
},
{
"bucket": bar_bucket.id,
},
],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var fooBucket = new Aws.S3.BucketV2("foo_bucket", new()
{
Bucket = "example-bucket-foo",
});
var barBucket = new Aws.S3.BucketV2("bar_bucket", new()
{
Bucket = "example-bucket-bar",
});
var example = new Aws.S3Control.MultiRegionAccessPoint("example", new()
{
Details = new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsArgs
{
Name = "example",
Regions = new[]
{
new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs
{
Bucket = fooBucket.Id,
},
new Aws.S3Control.Inputs.MultiRegionAccessPointDetailsRegionArgs
{
Bucket = barBucket.Id,
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
fooBucket, err := s3.NewBucketV2(ctx, "foo_bucket", &s3.BucketV2Args{
Bucket: pulumi.String("example-bucket-foo"),
})
if err != nil {
return err
}
barBucket, err := s3.NewBucketV2(ctx, "bar_bucket", &s3.BucketV2Args{
Bucket: pulumi.String("example-bucket-bar"),
})
if err != nil {
return err
}
_, err = s3control.NewMultiRegionAccessPoint(ctx, "example", &s3control.MultiRegionAccessPointArgs{
Details: &s3control.MultiRegionAccessPointDetailsArgs{
Name: pulumi.String("example"),
Regions: s3control.MultiRegionAccessPointDetailsRegionArray{
&s3control.MultiRegionAccessPointDetailsRegionArgs{
Bucket: fooBucket.ID(),
},
&s3control.MultiRegionAccessPointDetailsRegionArgs{
Bucket: barBucket.ID(),
},
},
},
})
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.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3control.MultiRegionAccessPoint;
import com.pulumi.aws.s3control.MultiRegionAccessPointArgs;
import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsArgs;
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 fooBucket = new BucketV2("fooBucket", BucketV2Args.builder()
.bucket("example-bucket-foo")
.build());
var barBucket = new BucketV2("barBucket", BucketV2Args.builder()
.bucket("example-bucket-bar")
.build());
var example = new MultiRegionAccessPoint("example", MultiRegionAccessPointArgs.builder()
.details(MultiRegionAccessPointDetailsArgs.builder()
.name("example")
.regions(
MultiRegionAccessPointDetailsRegionArgs.builder()
.bucket(fooBucket.id())
.build(),
MultiRegionAccessPointDetailsRegionArgs.builder()
.bucket(barBucket.id())
.build())
.build())
.build());
}
}
resources:
fooBucket:
type: aws:s3:BucketV2
name: foo_bucket
properties:
bucket: example-bucket-foo
barBucket:
type: aws:s3:BucketV2
name: bar_bucket
properties:
bucket: example-bucket-bar
example:
type: aws:s3control:MultiRegionAccessPoint
properties:
details:
name: example
regions:
- bucket: ${fooBucket.id}
- bucket: ${barBucket.id}

Import

Using pulumi import, import Multi-Region Access Points using the account_id and name of the Multi-Region Access Point separated by a colon (:). For example:

$ pulumi import aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint example 123456789012:example

Properties

Link copied to clipboard
val accountId: Output<String>

The AWS account ID for the owner of the buckets for which you want to create a Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider.

Link copied to clipboard
val alias: Output<String>

The alias for the Multi-Region Access Point.

Link copied to clipboard
val arn: Output<String>

Amazon Resource Name (ARN) of the Multi-Region Access Point.

Link copied to clipboard

A configuration block containing details about the Multi-Region Access Point. See Details Configuration Block below for more details

Link copied to clipboard
val domainName: Output<String>

The DNS domain name of the S3 Multi-Region Access Point in the format alias.accesspoint.s3-global.amazonaws.com. For more information, see the documentation on Multi-Region Access Point Requests.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val status: Output<String>

The current status of the Multi-Region Access Point. One of: READY, INCONSISTENT_ACROSS_REGIONS, CREATING, PARTIALLY_CREATED, PARTIALLY_DELETED, DELETING.

Link copied to clipboard
val urn: Output<String>