aws logo
AWS Classic v5.41.0, May 15 23

aws.s3control.MultiRegionAccessPoint

Explore with Pulumi AI

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

Example Usage

Multiple AWS Buckets in Different Regions

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var primaryRegion = new Aws.Provider("primaryRegion", new()
    {
        Region = "us-east-1",
    });

    var secondaryRegion = new Aws.Provider("secondaryRegion", new()
    {
        Region = "us-west-2",
    });

    var fooBucket = new Aws.S3.BucketV2("fooBucket", new()
    {
    }, new CustomResourceOptions
    {
        Provider = aws.Primary_region,
    });

    var barBucket = new Aws.S3.BucketV2("barBucket", new()
    {
    }, new CustomResourceOptions
    {
        Provider = aws.Secondary_region,
    });

    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/v5/go/aws"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3control"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(ctx, "primaryRegion", &aws.ProviderArgs{
			Region: pulumi.String("us-east-1"),
		})
		if err != nil {
			return err
		}
		_, err = aws.NewProvider(ctx, "secondaryRegion", &aws.ProviderArgs{
			Region: pulumi.String("us-west-2"),
		})
		if err != nil {
			return err
		}
		fooBucket, err := s3.NewBucketV2(ctx, "fooBucket", nil, pulumi.Provider(aws.Primary_region))
		if err != nil {
			return err
		}
		barBucket, err := s3.NewBucketV2(ctx, "barBucket", nil, pulumi.Provider(aws.Secondary_region))
		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.Provider;
import com.pulumi.aws.ProviderArgs;
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 com.pulumi.resources.CustomResourceOptions;
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 primaryRegion = new Provider("primaryRegion", ProviderArgs.builder()        
            .region("us-east-1")
            .build());

        var secondaryRegion = new Provider("secondaryRegion", ProviderArgs.builder()        
            .region("us-west-2")
            .build());

        var fooBucket = new BucketV2("fooBucket", BucketV2Args.Empty, CustomResourceOptions.builder()
            .provider(aws.primary_region())
            .build());

        var barBucket = new BucketV2("barBucket", BucketV2Args.Empty, CustomResourceOptions.builder()
            .provider(aws.secondary_region())
            .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());

    }
}
import pulumi
import pulumi_aws as aws

primary_region = aws.Provider("primaryRegion", region="us-east-1")
secondary_region = aws.Provider("secondaryRegion", region="us-west-2")
foo_bucket = aws.s3.BucketV2("fooBucket", opts=pulumi.ResourceOptions(provider=aws["primary_region"]))
bar_bucket = aws.s3.BucketV2("barBucket", opts=pulumi.ResourceOptions(provider=aws["secondary_region"]))
example = aws.s3control.MultiRegionAccessPoint("example", details=aws.s3control.MultiRegionAccessPointDetailsArgs(
    name="example",
    regions=[
        aws.s3control.MultiRegionAccessPointDetailsRegionArgs(
            bucket=foo_bucket.id,
        ),
        aws.s3control.MultiRegionAccessPointDetailsRegionArgs(
            bucket=bar_bucket.id,
        ),
    ],
))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const primaryRegion = new aws.Provider("primaryRegion", {region: "us-east-1"});
const secondaryRegion = new aws.Provider("secondaryRegion", {region: "us-west-2"});
const fooBucket = new aws.s3.BucketV2("fooBucket", {}, {
    provider: aws.primary_region,
});
const barBucket = new aws.s3.BucketV2("barBucket", {}, {
    provider: aws.secondary_region,
});
const example = new aws.s3control.MultiRegionAccessPoint("example", {details: {
    name: "example",
    regions: [
        {
            bucket: fooBucket.id,
        },
        {
            bucket: barBucket.id,
        },
    ],
}});
resources:
  primaryRegion:
    type: pulumi:providers:aws
    properties:
      region: us-east-1
  secondaryRegion:
    type: pulumi:providers:aws
    properties:
      region: us-west-2
  fooBucket:
    type: aws:s3:BucketV2
    options:
      provider: ${aws.primary_region}
  barBucket:
    type: aws:s3:BucketV2
    options:
      provider: ${aws.secondary_region}
  example:
    type: aws:s3control:MultiRegionAccessPoint
    properties:
      details:
        name: example
        regions:
          - bucket: ${fooBucket.id}
          - bucket: ${barBucket.id}

Create MultiRegionAccessPoint Resource

new MultiRegionAccessPoint(name: string, args: MultiRegionAccessPointArgs, opts?: CustomResourceOptions);
@overload
def MultiRegionAccessPoint(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           account_id: Optional[str] = None,
                           details: Optional[MultiRegionAccessPointDetailsArgs] = None)
@overload
def MultiRegionAccessPoint(resource_name: str,
                           args: MultiRegionAccessPointArgs,
                           opts: Optional[ResourceOptions] = None)
func NewMultiRegionAccessPoint(ctx *Context, name string, args MultiRegionAccessPointArgs, opts ...ResourceOption) (*MultiRegionAccessPoint, error)
public MultiRegionAccessPoint(string name, MultiRegionAccessPointArgs args, CustomResourceOptions? opts = null)
public MultiRegionAccessPoint(String name, MultiRegionAccessPointArgs args)
public MultiRegionAccessPoint(String name, MultiRegionAccessPointArgs args, CustomResourceOptions options)
type: aws:s3control:MultiRegionAccessPoint
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args MultiRegionAccessPointArgs
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 MultiRegionAccessPointArgs
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 MultiRegionAccessPointArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args MultiRegionAccessPointArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args MultiRegionAccessPointArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

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

Details MultiRegionAccessPointDetailsArgs

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

AccountId 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.

Details MultiRegionAccessPointDetailsArgs

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

AccountId 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.

details MultiRegionAccessPointDetailsArgs

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

accountId 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.

details MultiRegionAccessPointDetailsArgs

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

accountId 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.

details MultiRegionAccessPointDetailsArgs

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

account_id str

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.

details Property Map

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

accountId 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.

Outputs

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

Alias string

The alias for the Multi-Region Access Point.

Arn string

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

DomainName 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.

Id string

The provider-assigned unique ID for this managed resource.

Status string

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

Alias string

The alias for the Multi-Region Access Point.

Arn string

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

DomainName 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.

Id string

The provider-assigned unique ID for this managed resource.

Status string

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

alias String

The alias for the Multi-Region Access Point.

arn String

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

domainName 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.

id String

The provider-assigned unique ID for this managed resource.

status String

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

alias string

The alias for the Multi-Region Access Point.

arn string

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

domainName 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.

id string

The provider-assigned unique ID for this managed resource.

status string

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

alias str

The alias for the Multi-Region Access Point.

arn str

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

domain_name str

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.

id str

The provider-assigned unique ID for this managed resource.

status str

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

alias String

The alias for the Multi-Region Access Point.

arn String

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

domainName 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.

id String

The provider-assigned unique ID for this managed resource.

status String

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

Look up Existing MultiRegionAccessPoint Resource

Get an existing MultiRegionAccessPoint 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?: MultiRegionAccessPointState, opts?: CustomResourceOptions): MultiRegionAccessPoint
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_id: Optional[str] = None,
        alias: Optional[str] = None,
        arn: Optional[str] = None,
        details: Optional[MultiRegionAccessPointDetailsArgs] = None,
        domain_name: Optional[str] = None,
        status: Optional[str] = None) -> MultiRegionAccessPoint
func GetMultiRegionAccessPoint(ctx *Context, name string, id IDInput, state *MultiRegionAccessPointState, opts ...ResourceOption) (*MultiRegionAccessPoint, error)
public static MultiRegionAccessPoint Get(string name, Input<string> id, MultiRegionAccessPointState? state, CustomResourceOptions? opts = null)
public static MultiRegionAccessPoint get(String name, Output<String> id, MultiRegionAccessPointState 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:
AccountId 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.

Alias string

The alias for the Multi-Region Access Point.

Arn string

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

Details MultiRegionAccessPointDetailsArgs

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

DomainName 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.

Status string

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

AccountId 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.

Alias string

The alias for the Multi-Region Access Point.

Arn string

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

Details MultiRegionAccessPointDetailsArgs

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

DomainName 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.

Status string

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

accountId 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.

alias String

The alias for the Multi-Region Access Point.

arn String

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

details MultiRegionAccessPointDetailsArgs

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

domainName 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.

status String

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

accountId 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.

alias string

The alias for the Multi-Region Access Point.

arn string

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

details MultiRegionAccessPointDetailsArgs

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

domainName 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.

status string

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

account_id str

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.

alias str

The alias for the Multi-Region Access Point.

arn str

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

details MultiRegionAccessPointDetailsArgs

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

domain_name str

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.

status str

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

accountId 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.

alias String

The alias for the Multi-Region Access Point.

arn String

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

details Property Map

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

domainName 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.

status String

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

Supporting Types

MultiRegionAccessPointDetails

MultiRegionAccessPointDetailsPublicAccessBlock

MultiRegionAccessPointDetailsRegion

Bucket string
Bucket string
bucket String
bucket string
bucket str
bucket String

Import

Multi-Region Access Points can be imported using the account_id and name of the Multi-Region Access Point separated by a colon (:), e.g.

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

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.