Package com.pulumi.aws.s3control
Class MultiRegionAccessPointPolicy
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.s3control.MultiRegionAccessPointPolicy
-
public class MultiRegionAccessPointPolicy extends com.pulumi.resources.CustomResourceProvides a resource to manage an S3 Multi-Region Access Point access control policy. ## Example Usage ### Basic Example
## Import Using `pulumi import`, import Multi-Region Access Point Policies using the `accountId` and `name` of the Multi-Region Access Point separated by a colon (`:`). For example: ```sh $ pulumi import aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy example 123456789012: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.inputs.GetCallerIdentityArgs; import com.pulumi.aws.inputs.GetPartitionArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.s3control.MultiRegionAccessPoint; import com.pulumi.aws.s3control.MultiRegionAccessPointArgs; import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsArgs; import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointDetailsRegionArgs; import com.pulumi.aws.s3control.MultiRegionAccessPointPolicy; import com.pulumi.aws.s3control.MultiRegionAccessPointPolicyArgs; import com.pulumi.aws.s3control.inputs.MultiRegionAccessPointPolicyDetailsArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.SplitArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder() .build()); var fooBucket = new Bucket("fooBucket", BucketArgs.builder() .bucket("example-bucket-foo") .build()); var example = new MultiRegionAccessPoint("example", MultiRegionAccessPointArgs.builder() .details(MultiRegionAccessPointDetailsArgs.builder() .regions(MultiRegionAccessPointDetailsRegionArgs.builder() .bucket(fooBucket.id()) .build()) .name("example") .build()) .build()); var exampleMultiRegionAccessPointPolicy = new MultiRegionAccessPointPolicy("exampleMultiRegionAccessPointPolicy", MultiRegionAccessPointPolicyArgs.builder() .details(MultiRegionAccessPointPolicyDetailsArgs.builder() .name(StdFunctions.split(SplitArgs.builder() .separator(":") .text(example.id()) .build()).applyValue(_invoke -> _invoke.result())[1]) .policy(example.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", current.accountId()) )), jsonProperty("Action", jsonArray( "s3:GetObject", "s3:PutObject" )), jsonProperty("Resource", String.format("arn:%s:s3::%s:accesspoint/%s/object/*", currentGetPartition.partition(),current.accountId(),_alias)) ))) )))) .build()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description MultiRegionAccessPointPolicy(java.lang.String name)MultiRegionAccessPointPolicy(java.lang.String name, MultiRegionAccessPointPolicyArgs args)MultiRegionAccessPointPolicy(java.lang.String name, MultiRegionAccessPointPolicyArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>accountId()com.pulumi.core.Output<MultiRegionAccessPointPolicyDetails>details()com.pulumi.core.Output<java.lang.String>established()static MultiRegionAccessPointPolicyget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, MultiRegionAccessPointPolicyState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>proposed()com.pulumi.core.Output<java.lang.String>region()
-
-
-
Constructor Detail
-
MultiRegionAccessPointPolicy
public MultiRegionAccessPointPolicy(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
MultiRegionAccessPointPolicy
public MultiRegionAccessPointPolicy(java.lang.String name, MultiRegionAccessPointPolicyArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
MultiRegionAccessPointPolicy
public MultiRegionAccessPointPolicy(java.lang.String name, MultiRegionAccessPointPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
accountId
public com.pulumi.core.Output<java.lang.String> accountId()
- Returns:
- AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider.
-
details
public com.pulumi.core.Output<MultiRegionAccessPointPolicyDetails> details()
- Returns:
- Configuration block containing details about the policy for the Multi-Region Access Point. See `details` Block below for more details
-
established
public com.pulumi.core.Output<java.lang.String> established()
- Returns:
- Last established policy for the Multi-Region Access Point.
-
proposed
public com.pulumi.core.Output<java.lang.String> proposed()
- Returns:
- Proposed policy for the Multi-Region Access Point.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
get
public static MultiRegionAccessPointPolicy get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable MultiRegionAccessPointPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-