Package com.pulumi.aws.s3control
Class AccessGrant
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.s3control.AccessGrant
-
public class AccessGrant extends com.pulumi.resources.CustomResourceProvides a resource to manage an S3 Access Grant. Each access grant has its own ID and gives an IAM user or role or a directory user, or group (the grantee) access to a registered location. You determine the level of access, such as `READ` or `READWRITE`. Before you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data. ## Example Usage
## Import Using `pulumi import`, import S3 Access Grants using the `accountId` and `accessGrantId`, separated by a comma (`,`). For example: ```sh $ pulumi import aws:s3control/accessGrant:AccessGrant example 123456789012,04549c5e-2f3c-4a07-824d-2cafe720aa22 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3control.AccessGrantsInstance; import com.pulumi.aws.s3control.AccessGrantsLocation; import com.pulumi.aws.s3control.AccessGrantsLocationArgs; import com.pulumi.aws.s3control.AccessGrant; import com.pulumi.aws.s3control.AccessGrantArgs; import com.pulumi.aws.s3control.inputs.AccessGrantAccessGrantsLocationConfigurationArgs; import com.pulumi.aws.s3control.inputs.AccessGrantGranteeArgs; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new AccessGrantsInstance("example"); var exampleAccessGrantsLocation = new AccessGrantsLocation("exampleAccessGrantsLocation", AccessGrantsLocationArgs.builder() .iamRoleArn(exampleAwsIamRole.arn()) .locationScope(String.format("s3://%s/prefixA*", exampleAwsS3Bucket.bucket())) .build(), CustomResourceOptions.builder() .dependsOn(example) .build()); var exampleAccessGrant = new AccessGrant("exampleAccessGrant", AccessGrantArgs.builder() .accessGrantsLocationConfiguration(AccessGrantAccessGrantsLocationConfigurationArgs.builder() .s3SubPrefix("prefixB*") .build()) .grantee(AccessGrantGranteeArgs.builder() .granteeType("IAM") .granteeIdentifier(exampleAwsIamUser.arn()) .build()) .accessGrantsLocationId(exampleAccessGrantsLocation.accessGrantsLocationId()) .permission("READ") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AccessGrant(java.lang.String name)AccessGrant(java.lang.String name, AccessGrantArgs args)AccessGrant(java.lang.String name, AccessGrantArgs 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>accessGrantArn()com.pulumi.core.Output<java.lang.String>accessGrantId()com.pulumi.core.Output<java.util.Optional<AccessGrantAccessGrantsLocationConfiguration>>accessGrantsLocationConfiguration()com.pulumi.core.Output<java.lang.String>accessGrantsLocationId()com.pulumi.core.Output<java.lang.String>accountId()static AccessGrantget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AccessGrantState 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<AccessGrantGrantee>grantee()com.pulumi.core.Output<java.lang.String>grantScope()com.pulumi.core.Output<java.lang.String>permission()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.lang.String>>s3PrefixType()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()
-
-
-
Constructor Detail
-
AccessGrant
public AccessGrant(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
AccessGrant
public AccessGrant(java.lang.String name, AccessGrantArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
AccessGrant
public AccessGrant(java.lang.String name, AccessGrantArgs 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
-
accessGrantArn
public com.pulumi.core.Output<java.lang.String> accessGrantArn()
- Returns:
- ARN of the S3 Access Grant.
-
accessGrantId
public com.pulumi.core.Output<java.lang.String> accessGrantId()
- Returns:
- Unique ID of the S3 Access Grant.
-
accessGrantsLocationConfiguration
public com.pulumi.core.Output<java.util.Optional<AccessGrantAccessGrantsLocationConfiguration>> accessGrantsLocationConfiguration()
- Returns:
- See `accessGrantsLocationConfiguration` Block below for more details.
-
accessGrantsLocationId
public com.pulumi.core.Output<java.lang.String> accessGrantsLocationId()
- Returns:
- ID of the S3 Access Grants location to with the access grant is giving access.
-
accountId
public com.pulumi.core.Output<java.lang.String> accountId()
- Returns:
- AWS account ID for the S3 Access Grants location. Defaults to automatically determined account ID of the Terraform AWS provider.
-
grantScope
public com.pulumi.core.Output<java.lang.String> grantScope()
- Returns:
- Access grant's scope.
-
grantee
public com.pulumi.core.Output<AccessGrantGrantee> grantee()
- Returns:
- See `grantee` Block below for more details.
-
permission
public com.pulumi.core.Output<java.lang.String> permission()
- Returns:
- Access grant's level of access. Valid values: `READ`, `WRITE`, `READWRITE`.
-
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.
-
s3PrefixType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> s3PrefixType()
- Returns:
- If you are creating an access grant that grants access to only one object, set this to `Object`. Valid values: `Object`.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
get
public static AccessGrant get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AccessGrantState 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.
-
-