Package com.pulumi.aws.s3control
Class AccessPointPolicy
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.s3control.AccessPointPolicy
-
public class AccessPointPolicy extends com.pulumi.resources.CustomResource
Provides a resource to manage an S3 Access Point resource policy. > **NOTE on Access Points and Access Point Policies:** The provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy. ## Example Usage <!--Start PulumiCodeChooser -->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.s3.AccessPoint; import com.pulumi.aws.s3.AccessPointArgs; import com.pulumi.aws.s3.inputs.AccessPointPublicAccessBlockConfigurationArgs; import com.pulumi.aws.s3control.AccessPointPolicy; import com.pulumi.aws.s3control.AccessPointPolicyArgs; 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) { var example = new BucketV2("example", BucketV2Args.builder() .bucket("example") .build()); var exampleAccessPoint = new AccessPoint("exampleAccessPoint", AccessPointArgs.builder() .bucket(example.id()) .name("example") .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder() .blockPublicAcls(true) .blockPublicPolicy(false) .ignorePublicAcls(true) .restrictPublicBuckets(false) .build()) .build()); var exampleAccessPointPolicy = new AccessPointPolicy("exampleAccessPointPolicy", AccessPointPolicyArgs.builder() .accessPointArn(exampleAccessPoint.arn()) .policy(exampleAccessPoint.arn().applyValue(arn -> serializeJson( jsonObject( jsonProperty("Version", "2008-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Effect", "Allow"), jsonProperty("Action", "s3:GetObjectTagging"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", "*") )), jsonProperty("Resource", String.format("%s/object/*", arn)) ))) )))) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AccessPointPolicy(java.lang.String name)
AccessPointPolicy(java.lang.String name, AccessPointPolicyArgs args)
AccessPointPolicy(java.lang.String name, AccessPointPolicyArgs 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>
accessPointArn()
static AccessPointPolicy
get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AccessPointPolicyState 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.Boolean>
hasPublicAccessPolicy()
com.pulumi.core.Output<java.lang.String>
policy()
-
-
-
Constructor Detail
-
AccessPointPolicy
public AccessPointPolicy(java.lang.String name)
- Parameters:
name
- The _unique_ name of the resulting resource.
-
AccessPointPolicy
public AccessPointPolicy(java.lang.String name, AccessPointPolicyArgs args)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.
-
AccessPointPolicy
public AccessPointPolicy(java.lang.String name, AccessPointPolicyArgs 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
-
accessPointArn
public com.pulumi.core.Output<java.lang.String> accessPointArn()
- Returns:
- The ARN of the access point that you want to associate with the specified policy.
-
hasPublicAccessPolicy
public com.pulumi.core.Output<java.lang.Boolean> hasPublicAccessPolicy()
- Returns:
- Indicates whether this access point currently has a policy that allows public access.
-
policy
public com.pulumi.core.Output<java.lang.String> policy()
- Returns:
- The policy that you want to apply to the specified access point.
-
get
public static AccessPointPolicy get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AccessPointPolicyState 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.
-
-