MultiRegionAccessPointPolicyArgs

data class MultiRegionAccessPointPolicyArgs(val accountId: Output<String>? = null, val details: Output<MultiRegionAccessPointPolicyDetailsArgs>? = null) : ConvertibleToJava<MultiRegionAccessPointPolicyArgs>

Provides a resource to manage an S3 Multi-Region Access Point access control policy.

Example Usage

Basic Example

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3control.MultiRegionAccessPoint;
import com.pulumi.aws.s3control.MultiRegionAccessPointArgs;
import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsArgs;
import com.pulumi.aws.s3control.MultiRegionAccessPointPolicy;
import com.pulumi.aws.s3control.MultiRegionAccessPointPolicyArgs;
import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointPolicyDetailsArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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) {
final var currentCallerIdentity = AwsFunctions.getCallerIdentity();
final var currentPartition = AwsFunctions.getPartition();
var fooBucket = new BucketV2("fooBucket");
var exampleMultiRegionAccessPoint = new MultiRegionAccessPoint("exampleMultiRegionAccessPoint", MultiRegionAccessPointArgs.builder()
.details(MultiRegionAccessPointDetailsArgs.builder()
.name("example")
.regions(MultiRegionAccessPointDetailsRegionArgs.builder()
.bucket(fooBucket.id())
.build())
.build())
.build());
var exampleMultiRegionAccessPointPolicy = new MultiRegionAccessPointPolicy("exampleMultiRegionAccessPointPolicy", MultiRegionAccessPointPolicyArgs.builder()
.details(MultiRegionAccessPointPolicyDetailsArgs.builder()
.name(exampleMultiRegionAccessPoint.id().applyValue(id -> id.split(":"))[1])
.policy(exampleMultiRegionAccessPoint.alias().applyValue(alias -> serializeJson(
jsonObject(
jsonProperty("Version", "2012-10-17"),
jsonProperty("Statement", jsonArray(jsonObject(
jsonProperty("Sid", "Example"),
jsonProperty("Effect", "Allow"),
jsonProperty("Principal", jsonObject(
jsonProperty("AWS", currentCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
)),
jsonProperty("Action", jsonArray(
"s3:GetObject",
"s3:PutObject"
)),
jsonProperty("Resource", String.format("arn:%s:s3::%s:accesspoint/%s/object/*", currentPartition.applyValue(getPartitionResult -> getPartitionResult.partition()),currentCallerIdentity.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()),alias))
)))
))))
.build())
.build());
}
}

Import

Multi-Region Access Point Policies 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/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy example 123456789012:example

Constructors

Link copied to clipboard
constructor(accountId: Output<String>? = null, details: Output<MultiRegionAccessPointPolicyDetailsArgs>? = null)

Properties

Link copied to clipboard
val accountId: Output<String>? = null

The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider.

Link copied to clipboard

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

Functions

Link copied to clipboard
open override fun toJava(): MultiRegionAccessPointPolicyArgs