import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. */ export declare class AccessGrant extends pulumi.CustomResource { /** * Get an existing AccessGrant resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AccessGrant; /** * Returns true if the given object is an instance of AccessGrant. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AccessGrant; /** * The Amazon Resource Name (ARN) of the specified access grant. */ readonly accessGrantArn: pulumi.Output; /** * The ID assigned to this access grant. */ readonly accessGrantId: pulumi.Output; /** * The configuration options of the grant location, which is the S3 path to the data to which you are granting access. */ readonly accessGrantsLocationConfiguration: pulumi.Output; /** * The custom S3 location to be accessed by the grantee */ readonly accessGrantsLocationId: pulumi.Output; /** * The ARN of the application grantees will use to access the location */ readonly applicationArn: pulumi.Output; /** * The S3 path of the data to which you are granting access. It is a combination of the S3 path of the registered location and the subprefix. */ readonly grantScope: pulumi.Output; /** * The principal who will be granted permission to access S3. */ readonly grantee: pulumi.Output; /** * The level of access to be afforded to the grantee */ readonly permission: pulumi.Output; /** * The type of S3SubPrefix. */ readonly s3PrefixType: pulumi.Output; /** * The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources. */ readonly tags: pulumi.Output; /** * Create a AccessGrant resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AccessGrantArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a AccessGrant resource. */ export interface AccessGrantArgs { /** * The configuration options of the grant location, which is the S3 path to the data to which you are granting access. */ accessGrantsLocationConfiguration?: pulumi.Input; /** * The custom S3 location to be accessed by the grantee */ accessGrantsLocationId: pulumi.Input; /** * The ARN of the application grantees will use to access the location */ applicationArn?: pulumi.Input; /** * The principal who will be granted permission to access S3. */ grantee: pulumi.Input; /** * The level of access to be afforded to the grantee */ permission: pulumi.Input; /** * The type of S3SubPrefix. */ s3PrefixType?: pulumi.Input; /** * The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources. */ tags?: pulumi.Input[]>; }