s3

package
v7.0.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: Apache-2.0 Imports: 8 Imported by: 11

Documentation

Index

Constants

View Source
const (
	CannedAclPrivate                = CannedAcl("private")
	CannedAclPublicRead             = CannedAcl("public-read")
	CannedAclPublicReadWrite        = CannedAcl("public-read-write")
	CannedAclAwsExecRead            = CannedAcl("aws-exec-read")
	CannedAclAuthenticatedRead      = CannedAcl("authenticated-read")
	CannedAclBucketOwnerRead        = CannedAcl("bucket-owner-read")
	CannedAclBucketOwnerFullControl = CannedAcl("bucket-owner-full-control")
	CannedAclLogDeliveryWrite       = CannedAcl("log-delivery-write")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessPoint

type AccessPoint struct {
	pulumi.CustomResourceState

	// AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// Alias of the S3 Access Point.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// ARN of the S3 Access Point.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// AWS account ID associated with the S3 bucket associated with this access point.
	BucketAccountId pulumi.StringOutput `pulumi:"bucketAccountId"`
	// DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com.
	// Note: S3 access points only support secure access by HTTPS. HTTP isn't supported.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// VPC endpoints for the S3 Access Point.
	Endpoints pulumi.StringMapOutput `pulumi:"endpoints"`
	// Indicates whether this access point currently has a policy that allows public access.
	HasPublicAccessPolicy pulumi.BoolOutput `pulumi:"hasPublicAccessPolicy"`
	// Name you want to assign to this access point. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html?icmpid=docs_amazons3_console#access-points-names) for naming conditions.
	//
	// The following arguments are optional:
	Name pulumi.StringOutput `pulumi:"name"`
	// Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies).
	NetworkOrigin pulumi.StringOutput `pulumi:"networkOrigin"`
	// Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document).
	Policy pulumi.StringOutput `pulumi:"policy"`
	// Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below.
	PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrOutput `pulumi:"publicAccessBlockConfiguration"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below.
	VpcConfiguration AccessPointVpcConfigurationPtrOutput `pulumi:"vpcConfiguration"`
}

Provides a resource to manage an S3 Access Point.

> **NOTE on Access Points and Access Point Policies:** This 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.

> Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration), not the `s3` endpoint provider configuration.

> This resource can be used with s3 directory buckets. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html) for more information.

## Example Usage

### AWS Partition General Purpose Bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewAccessPoint(ctx, "example", &s3.AccessPointArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### S3 on Outposts Bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3control"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3control.NewBucket(ctx, "example", &s3control.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		exampleVpc, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewAccessPoint(ctx, "example", &s3.AccessPointArgs{
			Bucket: example.Arn,
			Name:   pulumi.String("example"),
			VpcConfiguration: &s3.AccessPointVpcConfigurationArgs{
				VpcId: exampleVpc.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### AWS Partition Directory Bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		available, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{
			State: pulumi.StringRef("available"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewDirectoryBucket(ctx, "example", &s3.DirectoryBucketArgs{
			Bucket: pulumi.String("example--zoneId--x-s3"),
			Location: &s3.DirectoryBucketLocationArgs{
				Name: pulumi.String(available.ZoneIds[0]),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewAccessPoint(ctx, "example", &s3.AccessPointArgs{
			Bucket: pulumi.Any(test.Bucket),
			Name:   pulumi.String("example--zoneId--xa-s3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Import using the ARN for Access Points associated with an S3 on Outposts Bucket:

__Using `pulumi import` to import.__ For example:

Import using the `account_id` and `name` separated by a colon (`:`) for Access Points associated with an AWS Partition S3 Bucket:

```sh $ pulumi import aws:s3/accessPoint:AccessPoint example 123456789012:example ``` Import using the ARN for Access Points associated with an S3 on Outposts Bucket:

```sh $ pulumi import aws:s3/accessPoint:AccessPoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example ```

func GetAccessPoint

func GetAccessPoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessPointState, opts ...pulumi.ResourceOption) (*AccessPoint, error)

GetAccessPoint gets an existing AccessPoint resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessPoint

func NewAccessPoint(ctx *pulumi.Context,
	name string, args *AccessPointArgs, opts ...pulumi.ResourceOption) (*AccessPoint, error)

NewAccessPoint registers a new resource with the given unique name, arguments, and options.

func (*AccessPoint) ElementType

func (*AccessPoint) ElementType() reflect.Type

func (*AccessPoint) ToAccessPointOutput

func (i *AccessPoint) ToAccessPointOutput() AccessPointOutput

func (*AccessPoint) ToAccessPointOutputWithContext

func (i *AccessPoint) ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput

type AccessPointArgs

type AccessPointArgs struct {
	// AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider.
	AccountId pulumi.StringPtrInput
	// Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringInput
	// AWS account ID associated with the S3 bucket associated with this access point.
	BucketAccountId pulumi.StringPtrInput
	// Name you want to assign to this access point. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html?icmpid=docs_amazons3_console#access-points-names) for naming conditions.
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document).
	Policy pulumi.StringPtrInput
	// Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below.
	PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below.
	VpcConfiguration AccessPointVpcConfigurationPtrInput
}

The set of arguments for constructing a AccessPoint resource.

func (AccessPointArgs) ElementType

func (AccessPointArgs) ElementType() reflect.Type

type AccessPointArray

type AccessPointArray []AccessPointInput

func (AccessPointArray) ElementType

func (AccessPointArray) ElementType() reflect.Type

func (AccessPointArray) ToAccessPointArrayOutput

func (i AccessPointArray) ToAccessPointArrayOutput() AccessPointArrayOutput

func (AccessPointArray) ToAccessPointArrayOutputWithContext

func (i AccessPointArray) ToAccessPointArrayOutputWithContext(ctx context.Context) AccessPointArrayOutput

type AccessPointArrayInput

type AccessPointArrayInput interface {
	pulumi.Input

	ToAccessPointArrayOutput() AccessPointArrayOutput
	ToAccessPointArrayOutputWithContext(context.Context) AccessPointArrayOutput
}

AccessPointArrayInput is an input type that accepts AccessPointArray and AccessPointArrayOutput values. You can construct a concrete instance of `AccessPointArrayInput` via:

AccessPointArray{ AccessPointArgs{...} }

type AccessPointArrayOutput

type AccessPointArrayOutput struct{ *pulumi.OutputState }

func (AccessPointArrayOutput) ElementType

func (AccessPointArrayOutput) ElementType() reflect.Type

func (AccessPointArrayOutput) Index

func (AccessPointArrayOutput) ToAccessPointArrayOutput

func (o AccessPointArrayOutput) ToAccessPointArrayOutput() AccessPointArrayOutput

func (AccessPointArrayOutput) ToAccessPointArrayOutputWithContext

func (o AccessPointArrayOutput) ToAccessPointArrayOutputWithContext(ctx context.Context) AccessPointArrayOutput

type AccessPointInput

type AccessPointInput interface {
	pulumi.Input

	ToAccessPointOutput() AccessPointOutput
	ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput
}

type AccessPointMap

type AccessPointMap map[string]AccessPointInput

func (AccessPointMap) ElementType

func (AccessPointMap) ElementType() reflect.Type

func (AccessPointMap) ToAccessPointMapOutput

func (i AccessPointMap) ToAccessPointMapOutput() AccessPointMapOutput

func (AccessPointMap) ToAccessPointMapOutputWithContext

func (i AccessPointMap) ToAccessPointMapOutputWithContext(ctx context.Context) AccessPointMapOutput

type AccessPointMapInput

type AccessPointMapInput interface {
	pulumi.Input

	ToAccessPointMapOutput() AccessPointMapOutput
	ToAccessPointMapOutputWithContext(context.Context) AccessPointMapOutput
}

AccessPointMapInput is an input type that accepts AccessPointMap and AccessPointMapOutput values. You can construct a concrete instance of `AccessPointMapInput` via:

AccessPointMap{ "key": AccessPointArgs{...} }

type AccessPointMapOutput

type AccessPointMapOutput struct{ *pulumi.OutputState }

func (AccessPointMapOutput) ElementType

func (AccessPointMapOutput) ElementType() reflect.Type

func (AccessPointMapOutput) MapIndex

func (AccessPointMapOutput) ToAccessPointMapOutput

func (o AccessPointMapOutput) ToAccessPointMapOutput() AccessPointMapOutput

func (AccessPointMapOutput) ToAccessPointMapOutputWithContext

func (o AccessPointMapOutput) ToAccessPointMapOutputWithContext(ctx context.Context) AccessPointMapOutput

type AccessPointOutput

type AccessPointOutput struct{ *pulumi.OutputState }

func (AccessPointOutput) AccountId

func (o AccessPointOutput) AccountId() pulumi.StringOutput

AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider.

func (AccessPointOutput) Alias

Alias of the S3 Access Point.

func (AccessPointOutput) Arn

ARN of the S3 Access Point.

func (AccessPointOutput) Bucket

Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with.

func (AccessPointOutput) BucketAccountId

func (o AccessPointOutput) BucketAccountId() pulumi.StringOutput

AWS account ID associated with the S3 bucket associated with this access point.

func (AccessPointOutput) DomainName

func (o AccessPointOutput) DomainName() pulumi.StringOutput

DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com. Note: S3 access points only support secure access by HTTPS. HTTP isn't supported.

func (AccessPointOutput) ElementType

func (AccessPointOutput) ElementType() reflect.Type

func (AccessPointOutput) Endpoints

VPC endpoints for the S3 Access Point.

func (AccessPointOutput) HasPublicAccessPolicy

func (o AccessPointOutput) HasPublicAccessPolicy() pulumi.BoolOutput

Indicates whether this access point currently has a policy that allows public access.

func (AccessPointOutput) Name

Name you want to assign to this access point. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html?icmpid=docs_amazons3_console#access-points-names) for naming conditions.

The following arguments are optional:

func (AccessPointOutput) NetworkOrigin

func (o AccessPointOutput) NetworkOrigin() pulumi.StringOutput

Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies).

func (AccessPointOutput) Policy

Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document).

func (AccessPointOutput) PublicAccessBlockConfiguration

func (o AccessPointOutput) PublicAccessBlockConfiguration() AccessPointPublicAccessBlockConfigurationPtrOutput

Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below.

func (AccessPointOutput) Region

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.

func (AccessPointOutput) ToAccessPointOutput

func (o AccessPointOutput) ToAccessPointOutput() AccessPointOutput

func (AccessPointOutput) ToAccessPointOutputWithContext

func (o AccessPointOutput) ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput

func (AccessPointOutput) VpcConfiguration

Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below.

type AccessPointPublicAccessBlockConfiguration

type AccessPointPublicAccessBlockConfiguration struct {
	// Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.
	// * PUT Object calls fail if the request includes a public ACL.
	// * PUT Bucket calls fail if the request includes a public ACL.
	BlockPublicAcls *bool `pulumi:"blockPublicAcls"`
	// Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy *bool `pulumi:"blockPublicPolicy"`
	// Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls *bool `pulumi:"ignorePublicAcls"`
	// Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access buckets with public policies.
	RestrictPublicBuckets *bool `pulumi:"restrictPublicBuckets"`
}

type AccessPointPublicAccessBlockConfigurationArgs

type AccessPointPublicAccessBlockConfigurationArgs struct {
	// Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.
	// * PUT Object calls fail if the request includes a public ACL.
	// * PUT Bucket calls fail if the request includes a public ACL.
	BlockPublicAcls pulumi.BoolPtrInput `pulumi:"blockPublicAcls"`
	// Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrInput `pulumi:"blockPublicPolicy"`
	// Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls pulumi.BoolPtrInput `pulumi:"ignorePublicAcls"`
	// Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access buckets with public policies.
	RestrictPublicBuckets pulumi.BoolPtrInput `pulumi:"restrictPublicBuckets"`
}

func (AccessPointPublicAccessBlockConfigurationArgs) ElementType

func (AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationOutput

func (i AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationOutput() AccessPointPublicAccessBlockConfigurationOutput

func (AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationOutputWithContext

func (i AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationOutputWithContext(ctx context.Context) AccessPointPublicAccessBlockConfigurationOutput

func (AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationPtrOutput

func (i AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationPtrOutput() AccessPointPublicAccessBlockConfigurationPtrOutput

func (AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext

func (i AccessPointPublicAccessBlockConfigurationArgs) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext(ctx context.Context) AccessPointPublicAccessBlockConfigurationPtrOutput

type AccessPointPublicAccessBlockConfigurationInput

type AccessPointPublicAccessBlockConfigurationInput interface {
	pulumi.Input

	ToAccessPointPublicAccessBlockConfigurationOutput() AccessPointPublicAccessBlockConfigurationOutput
	ToAccessPointPublicAccessBlockConfigurationOutputWithContext(context.Context) AccessPointPublicAccessBlockConfigurationOutput
}

AccessPointPublicAccessBlockConfigurationInput is an input type that accepts AccessPointPublicAccessBlockConfigurationArgs and AccessPointPublicAccessBlockConfigurationOutput values. You can construct a concrete instance of `AccessPointPublicAccessBlockConfigurationInput` via:

AccessPointPublicAccessBlockConfigurationArgs{...}

type AccessPointPublicAccessBlockConfigurationOutput

type AccessPointPublicAccessBlockConfigurationOutput struct{ *pulumi.OutputState }

func (AccessPointPublicAccessBlockConfigurationOutput) BlockPublicAcls

Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior: * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public. * PUT Object calls fail if the request includes a public ACL. * PUT Bucket calls fail if the request includes a public ACL.

func (AccessPointPublicAccessBlockConfigurationOutput) BlockPublicPolicy

Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to: * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.

func (AccessPointPublicAccessBlockConfigurationOutput) ElementType

func (AccessPointPublicAccessBlockConfigurationOutput) IgnorePublicAcls

Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to: * Ignore all public ACLs on buckets in this account and any objects that they contain.

func (AccessPointPublicAccessBlockConfigurationOutput) RestrictPublicBuckets

Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`: * Only the bucket owner and AWS Services can access buckets with public policies.

func (AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationOutput

func (o AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationOutput() AccessPointPublicAccessBlockConfigurationOutput

func (AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationOutputWithContext

func (o AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationOutputWithContext(ctx context.Context) AccessPointPublicAccessBlockConfigurationOutput

func (AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutput

func (o AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutput() AccessPointPublicAccessBlockConfigurationPtrOutput

func (AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext

func (o AccessPointPublicAccessBlockConfigurationOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext(ctx context.Context) AccessPointPublicAccessBlockConfigurationPtrOutput

type AccessPointPublicAccessBlockConfigurationPtrInput

type AccessPointPublicAccessBlockConfigurationPtrInput interface {
	pulumi.Input

	ToAccessPointPublicAccessBlockConfigurationPtrOutput() AccessPointPublicAccessBlockConfigurationPtrOutput
	ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext(context.Context) AccessPointPublicAccessBlockConfigurationPtrOutput
}

AccessPointPublicAccessBlockConfigurationPtrInput is an input type that accepts AccessPointPublicAccessBlockConfigurationArgs, AccessPointPublicAccessBlockConfigurationPtr and AccessPointPublicAccessBlockConfigurationPtrOutput values. You can construct a concrete instance of `AccessPointPublicAccessBlockConfigurationPtrInput` via:

        AccessPointPublicAccessBlockConfigurationArgs{...}

or:

        nil

type AccessPointPublicAccessBlockConfigurationPtrOutput

type AccessPointPublicAccessBlockConfigurationPtrOutput struct{ *pulumi.OutputState }

func (AccessPointPublicAccessBlockConfigurationPtrOutput) BlockPublicAcls

Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior: * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public. * PUT Object calls fail if the request includes a public ACL. * PUT Bucket calls fail if the request includes a public ACL.

func (AccessPointPublicAccessBlockConfigurationPtrOutput) BlockPublicPolicy

Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to: * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.

func (AccessPointPublicAccessBlockConfigurationPtrOutput) Elem

func (AccessPointPublicAccessBlockConfigurationPtrOutput) ElementType

func (AccessPointPublicAccessBlockConfigurationPtrOutput) IgnorePublicAcls

Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `true`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to: * Ignore all public ACLs on buckets in this account and any objects that they contain.

func (AccessPointPublicAccessBlockConfigurationPtrOutput) RestrictPublicBuckets

Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `true`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`: * Only the bucket owner and AWS Services can access buckets with public policies.

func (AccessPointPublicAccessBlockConfigurationPtrOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutput

func (o AccessPointPublicAccessBlockConfigurationPtrOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutput() AccessPointPublicAccessBlockConfigurationPtrOutput

func (AccessPointPublicAccessBlockConfigurationPtrOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext

func (o AccessPointPublicAccessBlockConfigurationPtrOutput) ToAccessPointPublicAccessBlockConfigurationPtrOutputWithContext(ctx context.Context) AccessPointPublicAccessBlockConfigurationPtrOutput

type AccessPointState

type AccessPointState struct {
	// AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider.
	AccountId pulumi.StringPtrInput
	// Alias of the S3 Access Point.
	Alias pulumi.StringPtrInput
	// ARN of the S3 Access Point.
	Arn pulumi.StringPtrInput
	// Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringPtrInput
	// AWS account ID associated with the S3 bucket associated with this access point.
	BucketAccountId pulumi.StringPtrInput
	// DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com.
	// Note: S3 access points only support secure access by HTTPS. HTTP isn't supported.
	DomainName pulumi.StringPtrInput
	// VPC endpoints for the S3 Access Point.
	Endpoints pulumi.StringMapInput
	// Indicates whether this access point currently has a policy that allows public access.
	HasPublicAccessPolicy pulumi.BoolPtrInput
	// Name you want to assign to this access point. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html?icmpid=docs_amazons3_console#access-points-names) for naming conditions.
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies).
	NetworkOrigin pulumi.StringPtrInput
	// Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document).
	Policy pulumi.StringPtrInput
	// Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below.
	PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below.
	VpcConfiguration AccessPointVpcConfigurationPtrInput
}

func (AccessPointState) ElementType

func (AccessPointState) ElementType() reflect.Type

type AccessPointVpcConfiguration

type AccessPointVpcConfiguration struct {
	// This access point will only allow connections from the specified VPC ID.
	VpcId string `pulumi:"vpcId"`
}

type AccessPointVpcConfigurationArgs

type AccessPointVpcConfigurationArgs struct {
	// This access point will only allow connections from the specified VPC ID.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (AccessPointVpcConfigurationArgs) ElementType

func (AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationOutput

func (i AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationOutput() AccessPointVpcConfigurationOutput

func (AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationOutputWithContext

func (i AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationOutputWithContext(ctx context.Context) AccessPointVpcConfigurationOutput

func (AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationPtrOutput

func (i AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationPtrOutput() AccessPointVpcConfigurationPtrOutput

func (AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationPtrOutputWithContext

func (i AccessPointVpcConfigurationArgs) ToAccessPointVpcConfigurationPtrOutputWithContext(ctx context.Context) AccessPointVpcConfigurationPtrOutput

type AccessPointVpcConfigurationInput

type AccessPointVpcConfigurationInput interface {
	pulumi.Input

	ToAccessPointVpcConfigurationOutput() AccessPointVpcConfigurationOutput
	ToAccessPointVpcConfigurationOutputWithContext(context.Context) AccessPointVpcConfigurationOutput
}

AccessPointVpcConfigurationInput is an input type that accepts AccessPointVpcConfigurationArgs and AccessPointVpcConfigurationOutput values. You can construct a concrete instance of `AccessPointVpcConfigurationInput` via:

AccessPointVpcConfigurationArgs{...}

type AccessPointVpcConfigurationOutput

type AccessPointVpcConfigurationOutput struct{ *pulumi.OutputState }

func (AccessPointVpcConfigurationOutput) ElementType

func (AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationOutput

func (o AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationOutput() AccessPointVpcConfigurationOutput

func (AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationOutputWithContext

func (o AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationOutputWithContext(ctx context.Context) AccessPointVpcConfigurationOutput

func (AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationPtrOutput

func (o AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationPtrOutput() AccessPointVpcConfigurationPtrOutput

func (AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationPtrOutputWithContext

func (o AccessPointVpcConfigurationOutput) ToAccessPointVpcConfigurationPtrOutputWithContext(ctx context.Context) AccessPointVpcConfigurationPtrOutput

func (AccessPointVpcConfigurationOutput) VpcId

This access point will only allow connections from the specified VPC ID.

type AccessPointVpcConfigurationPtrInput

type AccessPointVpcConfigurationPtrInput interface {
	pulumi.Input

	ToAccessPointVpcConfigurationPtrOutput() AccessPointVpcConfigurationPtrOutput
	ToAccessPointVpcConfigurationPtrOutputWithContext(context.Context) AccessPointVpcConfigurationPtrOutput
}

AccessPointVpcConfigurationPtrInput is an input type that accepts AccessPointVpcConfigurationArgs, AccessPointVpcConfigurationPtr and AccessPointVpcConfigurationPtrOutput values. You can construct a concrete instance of `AccessPointVpcConfigurationPtrInput` via:

        AccessPointVpcConfigurationArgs{...}

or:

        nil

type AccessPointVpcConfigurationPtrOutput

type AccessPointVpcConfigurationPtrOutput struct{ *pulumi.OutputState }

func (AccessPointVpcConfigurationPtrOutput) Elem

func (AccessPointVpcConfigurationPtrOutput) ElementType

func (AccessPointVpcConfigurationPtrOutput) ToAccessPointVpcConfigurationPtrOutput

func (o AccessPointVpcConfigurationPtrOutput) ToAccessPointVpcConfigurationPtrOutput() AccessPointVpcConfigurationPtrOutput

func (AccessPointVpcConfigurationPtrOutput) ToAccessPointVpcConfigurationPtrOutputWithContext

func (o AccessPointVpcConfigurationPtrOutput) ToAccessPointVpcConfigurationPtrOutputWithContext(ctx context.Context) AccessPointVpcConfigurationPtrOutput

func (AccessPointVpcConfigurationPtrOutput) VpcId

This access point will only allow connections from the specified VPC ID.

type AccountPublicAccessBlock

type AccountPublicAccessBlock struct {
	pulumi.CustomResourceState

	// AWS account ID to configure. Defaults to automatically determined account ID of the this provider AWS provider.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls fail if the request includes a public ACL.
	BlockPublicAcls pulumi.BoolPtrOutput `pulumi:"blockPublicAcls"`
	// Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrOutput `pulumi:"blockPublicPolicy"`
	// Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls pulumi.BoolPtrOutput `pulumi:"ignorePublicAcls"`
	// Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access buckets with public policies.
	RestrictPublicBuckets pulumi.BoolPtrOutput `pulumi:"restrictPublicBuckets"`
}

Manages S3 account-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).

> **NOTE:** Each AWS account may only have one S3 Public Access Block configuration. Multiple configurations of the resource against the same AWS account will cause a perpetual difference.

> Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration, not the `s3` endpoint provider configuration.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewAccountPublicAccessBlock(ctx, "example", &s3.AccountPublicAccessBlockArgs{
			BlockPublicAcls:   pulumi.Bool(true),
			BlockPublicPolicy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_s3_account_public_access_block` using the AWS account ID. For example:

```sh $ pulumi import aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock example 123456789012 ```

func GetAccountPublicAccessBlock

func GetAccountPublicAccessBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountPublicAccessBlockState, opts ...pulumi.ResourceOption) (*AccountPublicAccessBlock, error)

GetAccountPublicAccessBlock gets an existing AccountPublicAccessBlock resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccountPublicAccessBlock

func NewAccountPublicAccessBlock(ctx *pulumi.Context,
	name string, args *AccountPublicAccessBlockArgs, opts ...pulumi.ResourceOption) (*AccountPublicAccessBlock, error)

NewAccountPublicAccessBlock registers a new resource with the given unique name, arguments, and options.

func (*AccountPublicAccessBlock) ElementType

func (*AccountPublicAccessBlock) ElementType() reflect.Type

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockOutput

func (i *AccountPublicAccessBlock) ToAccountPublicAccessBlockOutput() AccountPublicAccessBlockOutput

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockOutputWithContext

func (i *AccountPublicAccessBlock) ToAccountPublicAccessBlockOutputWithContext(ctx context.Context) AccountPublicAccessBlockOutput

type AccountPublicAccessBlockArgs

type AccountPublicAccessBlockArgs struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the this provider AWS provider.
	AccountId pulumi.StringPtrInput
	// Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls fail if the request includes a public ACL.
	BlockPublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrInput
	// Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access buckets with public policies.
	RestrictPublicBuckets pulumi.BoolPtrInput
}

The set of arguments for constructing a AccountPublicAccessBlock resource.

func (AccountPublicAccessBlockArgs) ElementType

type AccountPublicAccessBlockArray

type AccountPublicAccessBlockArray []AccountPublicAccessBlockInput

func (AccountPublicAccessBlockArray) ElementType

func (AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutput

func (i AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutput() AccountPublicAccessBlockArrayOutput

func (AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutputWithContext

func (i AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutputWithContext(ctx context.Context) AccountPublicAccessBlockArrayOutput

type AccountPublicAccessBlockArrayInput

type AccountPublicAccessBlockArrayInput interface {
	pulumi.Input

	ToAccountPublicAccessBlockArrayOutput() AccountPublicAccessBlockArrayOutput
	ToAccountPublicAccessBlockArrayOutputWithContext(context.Context) AccountPublicAccessBlockArrayOutput
}

AccountPublicAccessBlockArrayInput is an input type that accepts AccountPublicAccessBlockArray and AccountPublicAccessBlockArrayOutput values. You can construct a concrete instance of `AccountPublicAccessBlockArrayInput` via:

AccountPublicAccessBlockArray{ AccountPublicAccessBlockArgs{...} }

type AccountPublicAccessBlockArrayOutput

type AccountPublicAccessBlockArrayOutput struct{ *pulumi.OutputState }

func (AccountPublicAccessBlockArrayOutput) ElementType

func (AccountPublicAccessBlockArrayOutput) Index

func (AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutput

func (o AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutput() AccountPublicAccessBlockArrayOutput

func (AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutputWithContext

func (o AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutputWithContext(ctx context.Context) AccountPublicAccessBlockArrayOutput

type AccountPublicAccessBlockInput

type AccountPublicAccessBlockInput interface {
	pulumi.Input

	ToAccountPublicAccessBlockOutput() AccountPublicAccessBlockOutput
	ToAccountPublicAccessBlockOutputWithContext(ctx context.Context) AccountPublicAccessBlockOutput
}

type AccountPublicAccessBlockMap

type AccountPublicAccessBlockMap map[string]AccountPublicAccessBlockInput

func (AccountPublicAccessBlockMap) ElementType

func (AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutput

func (i AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutput() AccountPublicAccessBlockMapOutput

func (AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutputWithContext

func (i AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutputWithContext(ctx context.Context) AccountPublicAccessBlockMapOutput

type AccountPublicAccessBlockMapInput

type AccountPublicAccessBlockMapInput interface {
	pulumi.Input

	ToAccountPublicAccessBlockMapOutput() AccountPublicAccessBlockMapOutput
	ToAccountPublicAccessBlockMapOutputWithContext(context.Context) AccountPublicAccessBlockMapOutput
}

AccountPublicAccessBlockMapInput is an input type that accepts AccountPublicAccessBlockMap and AccountPublicAccessBlockMapOutput values. You can construct a concrete instance of `AccountPublicAccessBlockMapInput` via:

AccountPublicAccessBlockMap{ "key": AccountPublicAccessBlockArgs{...} }

type AccountPublicAccessBlockMapOutput

type AccountPublicAccessBlockMapOutput struct{ *pulumi.OutputState }

func (AccountPublicAccessBlockMapOutput) ElementType

func (AccountPublicAccessBlockMapOutput) MapIndex

func (AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutput

func (o AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutput() AccountPublicAccessBlockMapOutput

func (AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutputWithContext

func (o AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutputWithContext(ctx context.Context) AccountPublicAccessBlockMapOutput

type AccountPublicAccessBlockOutput

type AccountPublicAccessBlockOutput struct{ *pulumi.OutputState }

func (AccountPublicAccessBlockOutput) AccountId

AWS account ID to configure. Defaults to automatically determined account ID of the this provider AWS provider.

func (AccountPublicAccessBlockOutput) BlockPublicAcls

Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior: * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access. * PUT Object calls fail if the request includes a public ACL.

func (AccountPublicAccessBlockOutput) BlockPublicPolicy

func (o AccountPublicAccessBlockOutput) BlockPublicPolicy() pulumi.BoolPtrOutput

Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to: * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.

func (AccountPublicAccessBlockOutput) ElementType

func (AccountPublicAccessBlockOutput) IgnorePublicAcls

Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to: * Ignore all public ACLs on buckets in this account and any objects that they contain.

func (AccountPublicAccessBlockOutput) RestrictPublicBuckets

func (o AccountPublicAccessBlockOutput) RestrictPublicBuckets() pulumi.BoolPtrOutput

Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`: * Only the bucket owner and AWS Services can access buckets with public policies.

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutput

func (o AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutput() AccountPublicAccessBlockOutput

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutputWithContext

func (o AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutputWithContext(ctx context.Context) AccountPublicAccessBlockOutput

type AccountPublicAccessBlockState

type AccountPublicAccessBlockState struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the this provider AWS provider.
	AccountId pulumi.StringPtrInput
	// Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls fail if the request includes a public ACL.
	BlockPublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should block public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrInput
	// Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should restrict public bucket policies for buckets in this account. Defaults to `false`. Enabling this setting does not affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access buckets with public policies.
	RestrictPublicBuckets pulumi.BoolPtrInput
}

func (AccountPublicAccessBlockState) ElementType

type AnalyticsConfiguration

type AnalyticsConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket this analytics configuration is associated with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter AnalyticsConfigurationFilterPtrOutput `pulumi:"filter"`
	// Unique identifier of the analytics configuration for the bucket.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration for the analytics data export (documented below).
	StorageClassAnalysis AnalyticsConfigurationStorageClassAnalysisPtrOutput `pulumi:"storageClassAnalysis"`
}

Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		analytics, err := s3.NewBucket(ctx, "analytics", &s3.BucketArgs{
			Bucket: pulumi.String("analytics-destination"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewAnalyticsConfiguration(ctx, "example-entire-bucket", &s3.AnalyticsConfigurationArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("EntireBucket"),
			StorageClassAnalysis: &s3.AnalyticsConfigurationStorageClassAnalysisArgs{
				DataExport: &s3.AnalyticsConfigurationStorageClassAnalysisDataExportArgs{
					Destination: &s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{
						S3BucketDestination: &s3.AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{
							BucketArn: analytics.Arn,
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add analytics configuration with S3 object filter

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewAnalyticsConfiguration(ctx, "example-filtered", &s3.AnalyticsConfigurationArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("ImportantBlueDocuments"),
			Filter: &s3.AnalyticsConfigurationFilterArgs{
				Prefix: pulumi.String("documents/"),
				Tags: pulumi.StringMap{
					"priority": pulumi.String("high"),
					"class":    pulumi.String("blue"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket analytics configurations using `bucket:analytics`. For example:

```sh $ pulumi import aws:s3/analyticsConfiguration:AnalyticsConfiguration my-bucket-entire-bucket my-bucket:EntireBucket ```

func GetAnalyticsConfiguration

func GetAnalyticsConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AnalyticsConfigurationState, opts ...pulumi.ResourceOption) (*AnalyticsConfiguration, error)

GetAnalyticsConfiguration gets an existing AnalyticsConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAnalyticsConfiguration

func NewAnalyticsConfiguration(ctx *pulumi.Context,
	name string, args *AnalyticsConfigurationArgs, opts ...pulumi.ResourceOption) (*AnalyticsConfiguration, error)

NewAnalyticsConfiguration registers a new resource with the given unique name, arguments, and options.

func (*AnalyticsConfiguration) ElementType

func (*AnalyticsConfiguration) ElementType() reflect.Type

func (*AnalyticsConfiguration) ToAnalyticsConfigurationOutput

func (i *AnalyticsConfiguration) ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput

func (*AnalyticsConfiguration) ToAnalyticsConfigurationOutputWithContext

func (i *AnalyticsConfiguration) ToAnalyticsConfigurationOutputWithContext(ctx context.Context) AnalyticsConfigurationOutput

type AnalyticsConfigurationArgs

type AnalyticsConfigurationArgs struct {
	// Name of the bucket this analytics configuration is associated with.
	Bucket pulumi.StringInput
	// Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter AnalyticsConfigurationFilterPtrInput
	// Unique identifier of the analytics configuration for the bucket.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration for the analytics data export (documented below).
	StorageClassAnalysis AnalyticsConfigurationStorageClassAnalysisPtrInput
}

The set of arguments for constructing a AnalyticsConfiguration resource.

func (AnalyticsConfigurationArgs) ElementType

func (AnalyticsConfigurationArgs) ElementType() reflect.Type

type AnalyticsConfigurationArray

type AnalyticsConfigurationArray []AnalyticsConfigurationInput

func (AnalyticsConfigurationArray) ElementType

func (AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutput

func (i AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutput() AnalyticsConfigurationArrayOutput

func (AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutputWithContext

func (i AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutputWithContext(ctx context.Context) AnalyticsConfigurationArrayOutput

type AnalyticsConfigurationArrayInput

type AnalyticsConfigurationArrayInput interface {
	pulumi.Input

	ToAnalyticsConfigurationArrayOutput() AnalyticsConfigurationArrayOutput
	ToAnalyticsConfigurationArrayOutputWithContext(context.Context) AnalyticsConfigurationArrayOutput
}

AnalyticsConfigurationArrayInput is an input type that accepts AnalyticsConfigurationArray and AnalyticsConfigurationArrayOutput values. You can construct a concrete instance of `AnalyticsConfigurationArrayInput` via:

AnalyticsConfigurationArray{ AnalyticsConfigurationArgs{...} }

type AnalyticsConfigurationArrayOutput

type AnalyticsConfigurationArrayOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationArrayOutput) ElementType

func (AnalyticsConfigurationArrayOutput) Index

func (AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutput

func (o AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutput() AnalyticsConfigurationArrayOutput

func (AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutputWithContext

func (o AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutputWithContext(ctx context.Context) AnalyticsConfigurationArrayOutput

type AnalyticsConfigurationFilter

type AnalyticsConfigurationFilter struct {
	// Object prefix for filtering.
	Prefix *string `pulumi:"prefix"`
	// Set of object tags for filtering.
	Tags map[string]string `pulumi:"tags"`
}

type AnalyticsConfigurationFilterArgs

type AnalyticsConfigurationFilterArgs struct {
	// Object prefix for filtering.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Set of object tags for filtering.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (AnalyticsConfigurationFilterArgs) ElementType

func (AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterOutput

func (i AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterOutput() AnalyticsConfigurationFilterOutput

func (AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterOutputWithContext

func (i AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterOutputWithContext(ctx context.Context) AnalyticsConfigurationFilterOutput

func (AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterPtrOutput

func (i AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterPtrOutput() AnalyticsConfigurationFilterPtrOutput

func (AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterPtrOutputWithContext

func (i AnalyticsConfigurationFilterArgs) ToAnalyticsConfigurationFilterPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationFilterPtrOutput

type AnalyticsConfigurationFilterInput

type AnalyticsConfigurationFilterInput interface {
	pulumi.Input

	ToAnalyticsConfigurationFilterOutput() AnalyticsConfigurationFilterOutput
	ToAnalyticsConfigurationFilterOutputWithContext(context.Context) AnalyticsConfigurationFilterOutput
}

AnalyticsConfigurationFilterInput is an input type that accepts AnalyticsConfigurationFilterArgs and AnalyticsConfigurationFilterOutput values. You can construct a concrete instance of `AnalyticsConfigurationFilterInput` via:

AnalyticsConfigurationFilterArgs{...}

type AnalyticsConfigurationFilterOutput

type AnalyticsConfigurationFilterOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationFilterOutput) ElementType

func (AnalyticsConfigurationFilterOutput) Prefix

Object prefix for filtering.

func (AnalyticsConfigurationFilterOutput) Tags

Set of object tags for filtering.

func (AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterOutput

func (o AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterOutput() AnalyticsConfigurationFilterOutput

func (AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterOutputWithContext

func (o AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterOutputWithContext(ctx context.Context) AnalyticsConfigurationFilterOutput

func (AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterPtrOutput

func (o AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterPtrOutput() AnalyticsConfigurationFilterPtrOutput

func (AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterPtrOutputWithContext

func (o AnalyticsConfigurationFilterOutput) ToAnalyticsConfigurationFilterPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationFilterPtrOutput

type AnalyticsConfigurationFilterPtrInput

type AnalyticsConfigurationFilterPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationFilterPtrOutput() AnalyticsConfigurationFilterPtrOutput
	ToAnalyticsConfigurationFilterPtrOutputWithContext(context.Context) AnalyticsConfigurationFilterPtrOutput
}

AnalyticsConfigurationFilterPtrInput is an input type that accepts AnalyticsConfigurationFilterArgs, AnalyticsConfigurationFilterPtr and AnalyticsConfigurationFilterPtrOutput values. You can construct a concrete instance of `AnalyticsConfigurationFilterPtrInput` via:

        AnalyticsConfigurationFilterArgs{...}

or:

        nil

type AnalyticsConfigurationFilterPtrOutput

type AnalyticsConfigurationFilterPtrOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationFilterPtrOutput) Elem

func (AnalyticsConfigurationFilterPtrOutput) ElementType

func (AnalyticsConfigurationFilterPtrOutput) Prefix

Object prefix for filtering.

func (AnalyticsConfigurationFilterPtrOutput) Tags

Set of object tags for filtering.

func (AnalyticsConfigurationFilterPtrOutput) ToAnalyticsConfigurationFilterPtrOutput

func (o AnalyticsConfigurationFilterPtrOutput) ToAnalyticsConfigurationFilterPtrOutput() AnalyticsConfigurationFilterPtrOutput

func (AnalyticsConfigurationFilterPtrOutput) ToAnalyticsConfigurationFilterPtrOutputWithContext

func (o AnalyticsConfigurationFilterPtrOutput) ToAnalyticsConfigurationFilterPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationFilterPtrOutput

type AnalyticsConfigurationInput

type AnalyticsConfigurationInput interface {
	pulumi.Input

	ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput
	ToAnalyticsConfigurationOutputWithContext(ctx context.Context) AnalyticsConfigurationOutput
}

type AnalyticsConfigurationMap

type AnalyticsConfigurationMap map[string]AnalyticsConfigurationInput

func (AnalyticsConfigurationMap) ElementType

func (AnalyticsConfigurationMap) ElementType() reflect.Type

func (AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutput

func (i AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutput() AnalyticsConfigurationMapOutput

func (AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutputWithContext

func (i AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutputWithContext(ctx context.Context) AnalyticsConfigurationMapOutput

type AnalyticsConfigurationMapInput

type AnalyticsConfigurationMapInput interface {
	pulumi.Input

	ToAnalyticsConfigurationMapOutput() AnalyticsConfigurationMapOutput
	ToAnalyticsConfigurationMapOutputWithContext(context.Context) AnalyticsConfigurationMapOutput
}

AnalyticsConfigurationMapInput is an input type that accepts AnalyticsConfigurationMap and AnalyticsConfigurationMapOutput values. You can construct a concrete instance of `AnalyticsConfigurationMapInput` via:

AnalyticsConfigurationMap{ "key": AnalyticsConfigurationArgs{...} }

type AnalyticsConfigurationMapOutput

type AnalyticsConfigurationMapOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationMapOutput) ElementType

func (AnalyticsConfigurationMapOutput) MapIndex

func (AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutput

func (o AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutput() AnalyticsConfigurationMapOutput

func (AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutputWithContext

func (o AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutputWithContext(ctx context.Context) AnalyticsConfigurationMapOutput

type AnalyticsConfigurationOutput

type AnalyticsConfigurationOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationOutput) Bucket

Name of the bucket this analytics configuration is associated with.

func (AnalyticsConfigurationOutput) ElementType

func (AnalyticsConfigurationOutput) Filter

Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).

func (AnalyticsConfigurationOutput) Name

Unique identifier of the analytics configuration for the bucket.

func (AnalyticsConfigurationOutput) Region

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.

func (AnalyticsConfigurationOutput) StorageClassAnalysis

Configuration for the analytics data export (documented below).

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutputWithContext

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutputWithContext(ctx context.Context) AnalyticsConfigurationOutput

type AnalyticsConfigurationState

type AnalyticsConfigurationState struct {
	// Name of the bucket this analytics configuration is associated with.
	Bucket pulumi.StringPtrInput
	// Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter AnalyticsConfigurationFilterPtrInput
	// Unique identifier of the analytics configuration for the bucket.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration for the analytics data export (documented below).
	StorageClassAnalysis AnalyticsConfigurationStorageClassAnalysisPtrInput
}

func (AnalyticsConfigurationState) ElementType

type AnalyticsConfigurationStorageClassAnalysis

type AnalyticsConfigurationStorageClassAnalysis struct {
	// Data export configuration (documented below).
	DataExport AnalyticsConfigurationStorageClassAnalysisDataExport `pulumi:"dataExport"`
}

type AnalyticsConfigurationStorageClassAnalysisArgs

type AnalyticsConfigurationStorageClassAnalysisArgs struct {
	// Data export configuration (documented below).
	DataExport AnalyticsConfigurationStorageClassAnalysisDataExportInput `pulumi:"dataExport"`
}

func (AnalyticsConfigurationStorageClassAnalysisArgs) ElementType

func (AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisOutput

func (i AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisOutput() AnalyticsConfigurationStorageClassAnalysisOutput

func (AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisOutput

func (AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput

func (i AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput() AnalyticsConfigurationStorageClassAnalysisPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisArgs) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExport

type AnalyticsConfigurationStorageClassAnalysisDataExport struct {
	// Specifies the destination for the exported analytics data (documented below).
	Destination AnalyticsConfigurationStorageClassAnalysisDataExportDestination `pulumi:"destination"`
	// Schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.
	OutputSchemaVersion *string `pulumi:"outputSchemaVersion"`
}

type AnalyticsConfigurationStorageClassAnalysisDataExportArgs

type AnalyticsConfigurationStorageClassAnalysisDataExportArgs struct {
	// Specifies the destination for the exported analytics data (documented below).
	Destination AnalyticsConfigurationStorageClassAnalysisDataExportDestinationInput `pulumi:"destination"`
	// Schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.
	OutputSchemaVersion pulumi.StringPtrInput `pulumi:"outputSchemaVersion"`
}

func (AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

func (i AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput() AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisDataExportArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestination

type AnalyticsConfigurationStorageClassAnalysisDataExportDestination struct {
	// Analytics data export currently only supports an S3 bucket destination (documented below).
	S3BucketDestination AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestination `pulumi:"s3BucketDestination"`
}

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs struct {
	// Analytics data export currently only supports an S3 bucket destination (documented below).
	S3BucketDestination AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput `pulumi:"s3BucketDestination"`
}

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext

func (i AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationInput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput() AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs and AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportDestinationInput` via:

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{...}

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) S3BucketDestination

Analytics data export currently only supports an S3 bucket destination (documented below).

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisDataExportDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrInput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput() AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs, AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtr and AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrInput` via:

        AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{...}

or:

        nil

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput) Elem

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput) S3BucketDestination

Analytics data export currently only supports an S3 bucket destination (documented below).

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutputWithContext

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestination

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestination struct {
	// Account ID that owns the destination bucket.
	BucketAccountId *string `pulumi:"bucketAccountId"`
	// ARN of the destination bucket.
	BucketArn string `pulumi:"bucketArn"`
	// Output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.
	Format *string `pulumi:"format"`
	// Prefix to append to exported analytics data.
	Prefix *string `pulumi:"prefix"`
}

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs struct {
	// Account ID that owns the destination bucket.
	BucketAccountId pulumi.StringPtrInput `pulumi:"bucketAccountId"`
	// ARN of the destination bucket.
	BucketArn pulumi.StringInput `pulumi:"bucketArn"`
	// Output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.
	Format pulumi.StringPtrInput `pulumi:"format"`
	// Prefix to append to exported analytics data.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
}

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutputWithContext

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutputWithContext

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput() AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs and AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput` via:

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{...}

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) BucketAccountId

Account ID that owns the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) BucketArn

ARN of the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) Format

Output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) Prefix

Prefix to append to exported analytics data.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutputWithContext

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutputWithContext

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrInput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput() AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs, AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtr and AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrInput` via:

        AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{...}

or:

        nil

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) BucketAccountId

Account ID that owns the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) BucketArn

ARN of the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) Format

Output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) Prefix

Prefix to append to exported analytics data.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutputWithContext

type AnalyticsConfigurationStorageClassAnalysisDataExportInput

type AnalyticsConfigurationStorageClassAnalysisDataExportInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportOutput() AnalyticsConfigurationStorageClassAnalysisDataExportOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportArgs and AnalyticsConfigurationStorageClassAnalysisDataExportOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportInput` via:

AnalyticsConfigurationStorageClassAnalysisDataExportArgs{...}

type AnalyticsConfigurationStorageClassAnalysisDataExportOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) Destination

Specifies the destination for the exported analytics data (documented below).

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) OutputSchemaVersion

Schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisDataExportOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportPtrInput

type AnalyticsConfigurationStorageClassAnalysisDataExportPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput() AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput
	ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput
}

AnalyticsConfigurationStorageClassAnalysisDataExportPtrInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisDataExportArgs, AnalyticsConfigurationStorageClassAnalysisDataExportPtr and AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisDataExportPtrInput` via:

        AnalyticsConfigurationStorageClassAnalysisDataExportArgs{...}

or:

        nil

type AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

type AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) Destination

Specifies the destination for the exported analytics data (documented below).

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) Elem

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) OutputSchemaVersion

Schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisDataExportPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisDataExportPtrOutput

type AnalyticsConfigurationStorageClassAnalysisInput

type AnalyticsConfigurationStorageClassAnalysisInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisOutput() AnalyticsConfigurationStorageClassAnalysisOutput
	ToAnalyticsConfigurationStorageClassAnalysisOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisOutput
}

AnalyticsConfigurationStorageClassAnalysisInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisArgs and AnalyticsConfigurationStorageClassAnalysisOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisInput` via:

AnalyticsConfigurationStorageClassAnalysisArgs{...}

type AnalyticsConfigurationStorageClassAnalysisOutput

type AnalyticsConfigurationStorageClassAnalysisOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisOutput) DataExport

Data export configuration (documented below).

func (AnalyticsConfigurationStorageClassAnalysisOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisOutput

func (o AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisOutput() AnalyticsConfigurationStorageClassAnalysisOutput

func (AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisOutput

func (AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput

func (o AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput() AnalyticsConfigurationStorageClassAnalysisPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisPtrOutput

type AnalyticsConfigurationStorageClassAnalysisPtrInput

type AnalyticsConfigurationStorageClassAnalysisPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationStorageClassAnalysisPtrOutput() AnalyticsConfigurationStorageClassAnalysisPtrOutput
	ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext(context.Context) AnalyticsConfigurationStorageClassAnalysisPtrOutput
}

AnalyticsConfigurationStorageClassAnalysisPtrInput is an input type that accepts AnalyticsConfigurationStorageClassAnalysisArgs, AnalyticsConfigurationStorageClassAnalysisPtr and AnalyticsConfigurationStorageClassAnalysisPtrOutput values. You can construct a concrete instance of `AnalyticsConfigurationStorageClassAnalysisPtrInput` via:

        AnalyticsConfigurationStorageClassAnalysisArgs{...}

or:

        nil

type AnalyticsConfigurationStorageClassAnalysisPtrOutput

type AnalyticsConfigurationStorageClassAnalysisPtrOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationStorageClassAnalysisPtrOutput) DataExport

Data export configuration (documented below).

func (AnalyticsConfigurationStorageClassAnalysisPtrOutput) Elem

func (AnalyticsConfigurationStorageClassAnalysisPtrOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput

func (o AnalyticsConfigurationStorageClassAnalysisPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutput() AnalyticsConfigurationStorageClassAnalysisPtrOutput

func (AnalyticsConfigurationStorageClassAnalysisPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext

func (o AnalyticsConfigurationStorageClassAnalysisPtrOutput) ToAnalyticsConfigurationStorageClassAnalysisPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationStorageClassAnalysisPtrOutput

type Bucket

type Bucket struct {
	pulumi.CustomResourceState

	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketAccelerateConfiguration` instead.
	//
	// Deprecated: acceleration_status is deprecated. Use the s3.BucketAccelerateConfiguration resource instead.
	AccelerationStatus pulumi.StringOutput `pulumi:"accelerationStatus"`
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: acl is deprecated. Use the s3.BucketAcl resource instead.
	Acl pulumi.StringOutput `pulumi:"acl"`
	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
	BucketDomainName pulumi.StringOutput `pulumi:"bucketDomainName"`
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
	BucketPrefix pulumi.StringOutput `pulumi:"bucketPrefix"`
	// AWS region this bucket resides in.
	BucketRegion pulumi.StringOutput `pulumi:"bucketRegion"`
	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
	BucketRegionalDomainName pulumi.StringOutput `pulumi:"bucketRegionalDomainName"`
	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfiguration` instead.
	//
	// Deprecated: cors_rule is deprecated. Use the s3.BucketCorsConfiguration resource instead.
	CorsRules BucketCorsRuleArrayOutput `pulumi:"corsRules"`
	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: grant is deprecated. Use the s3.BucketAcl resource instead.
	Grants BucketGrantArrayOutput `pulumi:"grants"`
	// [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
	HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"`
	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLifecycleConfiguration` instead.
	//
	// Deprecated: lifecycle_rule is deprecated. Use the s3.BucketLifecycleConfiguration resource instead.
	LifecycleRules BucketLifecycleRuleArrayOutput `pulumi:"lifecycleRules"`
	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLogging` instead.
	//
	// Deprecated: logging is deprecated. Use the s3.BucketLogging resource instead.
	Logging BucketLoggingTypeOutput `pulumi:"logging"`
	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
	// The provider wil only perform drift detection if a configuration value is provided.
	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfiguration` instead.
	//
	// Deprecated: object_lock_configuration is deprecated. Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfiguration resource instead.
	ObjectLockConfiguration BucketObjectLockConfigurationTypeOutput `pulumi:"objectLockConfiguration"`
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
	ObjectLockEnabled pulumi.BoolOutput `pulumi:"objectLockEnabled"`
	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketPolicy` instead.
	//
	// Deprecated: policy is deprecated. Use the s3.BucketPolicy resource instead.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketReplicationConfig` instead.
	//
	// Deprecated: replication_configuration is deprecated. Use the s3.BucketReplicationConfig resource instead.
	ReplicationConfiguration BucketReplicationConfigurationOutput `pulumi:"replicationConfiguration"`
	// Specifies who should bear the cost of Amazon S3 data transfer.
	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketRequestPaymentConfiguration` instead.
	//
	// Deprecated: request_payer is deprecated. Use the s3.BucketRequestPaymentConfiguration resource instead.
	RequestPayer pulumi.StringOutput `pulumi:"requestPayer"`
	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketServerSideEncryptionConfiguration` instead.
	//
	// Deprecated: server_side_encryption_configuration is deprecated. Use the s3.BucketServerSideEncryptionConfiguration resource instead.
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationTypeOutput `pulumi:"serverSideEncryptionConfiguration"`
	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// The following arguments are deprecated, and will be removed in a future major version:
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioning` instead.
	//
	// Deprecated: versioning is deprecated. Use the s3.BucketVersioning resource instead.
	Versioning BucketVersioningTypeOutput `pulumi:"versioning"`
	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	Website BucketWebsiteOutput `pulumi:"website"`
	// (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website_domain is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	WebsiteDomain pulumi.StringOutput `pulumi:"websiteDomain"`
	// (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website_endpoint is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
}

Provides a S3 bucket resource.

> This resource provides functionality for managing S3 general purpose buckets in an AWS Partition. To manage Amazon S3 Express directory buckets, use the `awsDirectoryBucket` resource. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), use the `s3control.Bucket` resource.

> Object Lock can be enabled by using the `objectLockEnable` attribute or by using the `s3.BucketObjectLockConfiguration` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket.

## Example Usage

### Private Bucket With Tags

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
			Tags: pulumi.StringMap{
				"Name":        pulumi.String("My bucket"),
				"Environment": pulumi.String("Dev"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket using the `bucket`. For example:

```sh $ pulumi import aws:s3/bucket:Bucket bucket bucket-name ```

func GetBucket

func GetBucket(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketState, opts ...pulumi.ResourceOption) (*Bucket, error)

GetBucket gets an existing Bucket resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucket

func NewBucket(ctx *pulumi.Context,
	name string, args *BucketArgs, opts ...pulumi.ResourceOption) (*Bucket, error)

NewBucket registers a new resource with the given unique name, arguments, and options.

func (*Bucket) ElementType

func (*Bucket) ElementType() reflect.Type

func (*Bucket) ToBucketOutput

func (i *Bucket) ToBucketOutput() BucketOutput

func (*Bucket) ToBucketOutputWithContext

func (i *Bucket) ToBucketOutputWithContext(ctx context.Context) BucketOutput

type BucketAccelerateConfiguration

type BucketAccelerateConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides an S3 bucket accelerate configuration resource. See the [Requirements for using Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html#transfer-acceleration-requirements) for more details.

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mybucket, err := s3.NewBucket(ctx, "mybucket", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAccelerateConfiguration(ctx, "example", &s3.BucketAccelerateConfigurationArgs{
			Bucket: mybucket.ID(),
			Status: pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import.__ For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketAccelerateConfiguration:BucketAccelerateConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketAccelerateConfiguration:BucketAccelerateConfiguration example bucket-name,123456789012 ```

func GetBucketAccelerateConfiguration

func GetBucketAccelerateConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketAccelerateConfigurationState, opts ...pulumi.ResourceOption) (*BucketAccelerateConfiguration, error)

GetBucketAccelerateConfiguration gets an existing BucketAccelerateConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketAccelerateConfiguration

func NewBucketAccelerateConfiguration(ctx *pulumi.Context,
	name string, args *BucketAccelerateConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketAccelerateConfiguration, error)

NewBucketAccelerateConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketAccelerateConfiguration) ElementType

func (*BucketAccelerateConfiguration) ToBucketAccelerateConfigurationOutput

func (i *BucketAccelerateConfiguration) ToBucketAccelerateConfigurationOutput() BucketAccelerateConfigurationOutput

func (*BucketAccelerateConfiguration) ToBucketAccelerateConfigurationOutputWithContext

func (i *BucketAccelerateConfiguration) ToBucketAccelerateConfigurationOutputWithContext(ctx context.Context) BucketAccelerateConfigurationOutput

type BucketAccelerateConfigurationArgs

type BucketAccelerateConfigurationArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
	Status pulumi.StringInput
}

The set of arguments for constructing a BucketAccelerateConfiguration resource.

func (BucketAccelerateConfigurationArgs) ElementType

type BucketAccelerateConfigurationArray

type BucketAccelerateConfigurationArray []BucketAccelerateConfigurationInput

func (BucketAccelerateConfigurationArray) ElementType

func (BucketAccelerateConfigurationArray) ToBucketAccelerateConfigurationArrayOutput

func (i BucketAccelerateConfigurationArray) ToBucketAccelerateConfigurationArrayOutput() BucketAccelerateConfigurationArrayOutput

func (BucketAccelerateConfigurationArray) ToBucketAccelerateConfigurationArrayOutputWithContext

func (i BucketAccelerateConfigurationArray) ToBucketAccelerateConfigurationArrayOutputWithContext(ctx context.Context) BucketAccelerateConfigurationArrayOutput

type BucketAccelerateConfigurationArrayInput

type BucketAccelerateConfigurationArrayInput interface {
	pulumi.Input

	ToBucketAccelerateConfigurationArrayOutput() BucketAccelerateConfigurationArrayOutput
	ToBucketAccelerateConfigurationArrayOutputWithContext(context.Context) BucketAccelerateConfigurationArrayOutput
}

BucketAccelerateConfigurationArrayInput is an input type that accepts BucketAccelerateConfigurationArray and BucketAccelerateConfigurationArrayOutput values. You can construct a concrete instance of `BucketAccelerateConfigurationArrayInput` via:

BucketAccelerateConfigurationArray{ BucketAccelerateConfigurationArgs{...} }

type BucketAccelerateConfigurationArrayOutput

type BucketAccelerateConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationArrayOutput) ElementType

func (BucketAccelerateConfigurationArrayOutput) Index

func (BucketAccelerateConfigurationArrayOutput) ToBucketAccelerateConfigurationArrayOutput

func (o BucketAccelerateConfigurationArrayOutput) ToBucketAccelerateConfigurationArrayOutput() BucketAccelerateConfigurationArrayOutput

func (BucketAccelerateConfigurationArrayOutput) ToBucketAccelerateConfigurationArrayOutputWithContext

func (o BucketAccelerateConfigurationArrayOutput) ToBucketAccelerateConfigurationArrayOutputWithContext(ctx context.Context) BucketAccelerateConfigurationArrayOutput

type BucketAccelerateConfigurationInput

type BucketAccelerateConfigurationInput interface {
	pulumi.Input

	ToBucketAccelerateConfigurationOutput() BucketAccelerateConfigurationOutput
	ToBucketAccelerateConfigurationOutputWithContext(ctx context.Context) BucketAccelerateConfigurationOutput
}

type BucketAccelerateConfigurationMap

type BucketAccelerateConfigurationMap map[string]BucketAccelerateConfigurationInput

func (BucketAccelerateConfigurationMap) ElementType

func (BucketAccelerateConfigurationMap) ToBucketAccelerateConfigurationMapOutput

func (i BucketAccelerateConfigurationMap) ToBucketAccelerateConfigurationMapOutput() BucketAccelerateConfigurationMapOutput

func (BucketAccelerateConfigurationMap) ToBucketAccelerateConfigurationMapOutputWithContext

func (i BucketAccelerateConfigurationMap) ToBucketAccelerateConfigurationMapOutputWithContext(ctx context.Context) BucketAccelerateConfigurationMapOutput

type BucketAccelerateConfigurationMapInput

type BucketAccelerateConfigurationMapInput interface {
	pulumi.Input

	ToBucketAccelerateConfigurationMapOutput() BucketAccelerateConfigurationMapOutput
	ToBucketAccelerateConfigurationMapOutputWithContext(context.Context) BucketAccelerateConfigurationMapOutput
}

BucketAccelerateConfigurationMapInput is an input type that accepts BucketAccelerateConfigurationMap and BucketAccelerateConfigurationMapOutput values. You can construct a concrete instance of `BucketAccelerateConfigurationMapInput` via:

BucketAccelerateConfigurationMap{ "key": BucketAccelerateConfigurationArgs{...} }

type BucketAccelerateConfigurationMapOutput

type BucketAccelerateConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationMapOutput) ElementType

func (BucketAccelerateConfigurationMapOutput) MapIndex

func (BucketAccelerateConfigurationMapOutput) ToBucketAccelerateConfigurationMapOutput

func (o BucketAccelerateConfigurationMapOutput) ToBucketAccelerateConfigurationMapOutput() BucketAccelerateConfigurationMapOutput

func (BucketAccelerateConfigurationMapOutput) ToBucketAccelerateConfigurationMapOutputWithContext

func (o BucketAccelerateConfigurationMapOutput) ToBucketAccelerateConfigurationMapOutputWithContext(ctx context.Context) BucketAccelerateConfigurationMapOutput

type BucketAccelerateConfigurationOutput

type BucketAccelerateConfigurationOutput struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationOutput) Bucket

Name of the bucket.

func (BucketAccelerateConfigurationOutput) ElementType

func (BucketAccelerateConfigurationOutput) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketAccelerateConfigurationOutput) Region

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.

func (BucketAccelerateConfigurationOutput) Status

Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.

func (BucketAccelerateConfigurationOutput) ToBucketAccelerateConfigurationOutput

func (o BucketAccelerateConfigurationOutput) ToBucketAccelerateConfigurationOutput() BucketAccelerateConfigurationOutput

func (BucketAccelerateConfigurationOutput) ToBucketAccelerateConfigurationOutputWithContext

func (o BucketAccelerateConfigurationOutput) ToBucketAccelerateConfigurationOutputWithContext(ctx context.Context) BucketAccelerateConfigurationOutput

type BucketAccelerateConfigurationState

type BucketAccelerateConfigurationState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
	Status pulumi.StringPtrInput
}

func (BucketAccelerateConfigurationState) ElementType

type BucketAcl

type BucketAcl struct {
	pulumi.CustomResourceState

	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclAccessControlPolicyOutput `pulumi:"accessControlPolicy"`
	// Specifies the Canned ACL to apply to the bucket. Valid values: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`, `log-delivery-write`. Full details are available on the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// Bucket to which to apply the ACL.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Provides an S3 bucket ACL resource.

> **Note:** destroy does not delete the S3 Bucket ACL but does remove the resource from state.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### With `private` ACL

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-example-bucket"),
		})
		if err != nil {
			return err
		}
		exampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, "example", &s3.BucketOwnershipControlsArgs{
			Bucket: example.ID(),
			Rule: &s3.BucketOwnershipControlsRuleArgs{
				ObjectOwnership: pulumi.String("BucketOwnerPreferred"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketOwnershipControls,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With `public-read` ACL

> This example explicitly disables the default S3 bucket security settings. This should be done with caution, as all bucket objects become publicly exposed.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-example-bucket"),
		})
		if err != nil {
			return err
		}
		exampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, "example", &s3.BucketOwnershipControlsArgs{
			Bucket: example.ID(),
			Rule: &s3.BucketOwnershipControlsRuleArgs{
				ObjectOwnership: pulumi.String("BucketOwnerPreferred"),
			},
		})
		if err != nil {
			return err
		}
		exampleBucketPublicAccessBlock, err := s3.NewBucketPublicAccessBlock(ctx, "example", &s3.BucketPublicAccessBlockArgs{
			Bucket:                example.ID(),
			BlockPublicAcls:       pulumi.Bool(false),
			BlockPublicPolicy:     pulumi.Bool(false),
			IgnorePublicAcls:      pulumi.Bool(false),
			RestrictPublicBuckets: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			Acl:    pulumi.String("public-read"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketOwnershipControls,
			exampleBucketPublicAccessBlock,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With Grants

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)
		if err != nil {
			return err
		}
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-example-bucket"),
		})
		if err != nil {
			return err
		}
		exampleBucketOwnershipControls, err := s3.NewBucketOwnershipControls(ctx, "example", &s3.BucketOwnershipControlsArgs{
			Bucket: example.ID(),
			Rule: &s3.BucketOwnershipControlsRuleArgs{
				ObjectOwnership: pulumi.String("BucketOwnerPreferred"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			AccessControlPolicy: &s3.BucketAclAccessControlPolicyArgs{
				Grants: s3.BucketAclAccessControlPolicyGrantArray{
					&s3.BucketAclAccessControlPolicyGrantArgs{
						Grantee: &s3.BucketAclAccessControlPolicyGrantGranteeArgs{
							Id:   pulumi.String(current.Id),
							Type: pulumi.String("CanonicalUser"),
						},
						Permission: pulumi.String("READ"),
					},
					&s3.BucketAclAccessControlPolicyGrantArgs{
						Grantee: &s3.BucketAclAccessControlPolicyGrantGranteeArgs{
							Type: pulumi.String("Group"),
							Uri:  pulumi.String("http://acs.amazonaws.com/groups/s3/LogDelivery"),
						},
						Permission: pulumi.String("READ_ACP"),
					},
				},
				Owner: &s3.BucketAclAccessControlPolicyOwnerArgs{
					Id: pulumi.String(current.Id),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketOwnershipControls,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):

If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):

__Using `pulumi import` to import__ using `bucket`, `expected_bucket_owner`, and/or `acl`, depending on your situation. For example:

If the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket`:

```sh $ pulumi import aws:s3/bucketAcl:BucketAcl example bucket-name ``` If the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketAcl:BucketAcl example bucket-name,private ``` If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __not configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketAcl:BucketAcl example bucket-name,123456789012 ``` If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is __configured__ with a [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`):

```sh $ pulumi import aws:s3/bucketAcl:BucketAcl example bucket-name,123456789012,private ```

func GetBucketAcl

func GetBucketAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketAclState, opts ...pulumi.ResourceOption) (*BucketAcl, error)

GetBucketAcl gets an existing BucketAcl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketAcl

func NewBucketAcl(ctx *pulumi.Context,
	name string, args *BucketAclArgs, opts ...pulumi.ResourceOption) (*BucketAcl, error)

NewBucketAcl registers a new resource with the given unique name, arguments, and options.

func (*BucketAcl) ElementType

func (*BucketAcl) ElementType() reflect.Type

func (*BucketAcl) ToBucketAclOutput

func (i *BucketAcl) ToBucketAclOutput() BucketAclOutput

func (*BucketAcl) ToBucketAclOutputWithContext

func (i *BucketAcl) ToBucketAclOutputWithContext(ctx context.Context) BucketAclOutput

type BucketAclAccessControlPolicy

type BucketAclAccessControlPolicy struct {
	// Set of `grant` configuration blocks. See below.
	Grants []BucketAclAccessControlPolicyGrant `pulumi:"grants"`
	// Configuration block for the bucket owner's display name and ID. See below.
	Owner BucketAclAccessControlPolicyOwner `pulumi:"owner"`
}

type BucketAclAccessControlPolicyArgs

type BucketAclAccessControlPolicyArgs struct {
	// Set of `grant` configuration blocks. See below.
	Grants BucketAclAccessControlPolicyGrantArrayInput `pulumi:"grants"`
	// Configuration block for the bucket owner's display name and ID. See below.
	Owner BucketAclAccessControlPolicyOwnerInput `pulumi:"owner"`
}

func (BucketAclAccessControlPolicyArgs) ElementType

func (BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyOutput

func (i BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyOutput() BucketAclAccessControlPolicyOutput

func (BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyOutputWithContext

func (i BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOutput

func (BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyPtrOutput

func (i BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyPtrOutput() BucketAclAccessControlPolicyPtrOutput

func (BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyPtrOutputWithContext

func (i BucketAclAccessControlPolicyArgs) ToBucketAclAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyPtrOutput

type BucketAclAccessControlPolicyGrant

type BucketAclAccessControlPolicyGrant struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee *BucketAclAccessControlPolicyGrantGrantee `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `WRITE`, `WRITE_ACP`, `READ`, `READ_ACP`. See [What permissions can I grant?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions) for more details about what each permission means in the context of buckets.
	Permission string `pulumi:"permission"`
}

type BucketAclAccessControlPolicyGrantArgs

type BucketAclAccessControlPolicyGrantArgs struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee BucketAclAccessControlPolicyGrantGranteePtrInput `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `WRITE`, `WRITE_ACP`, `READ`, `READ_ACP`. See [What permissions can I grant?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions) for more details about what each permission means in the context of buckets.
	Permission pulumi.StringInput `pulumi:"permission"`
}

func (BucketAclAccessControlPolicyGrantArgs) ElementType

func (BucketAclAccessControlPolicyGrantArgs) ToBucketAclAccessControlPolicyGrantOutput

func (i BucketAclAccessControlPolicyGrantArgs) ToBucketAclAccessControlPolicyGrantOutput() BucketAclAccessControlPolicyGrantOutput

func (BucketAclAccessControlPolicyGrantArgs) ToBucketAclAccessControlPolicyGrantOutputWithContext

func (i BucketAclAccessControlPolicyGrantArgs) ToBucketAclAccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantOutput

type BucketAclAccessControlPolicyGrantArray

type BucketAclAccessControlPolicyGrantArray []BucketAclAccessControlPolicyGrantInput

func (BucketAclAccessControlPolicyGrantArray) ElementType

func (BucketAclAccessControlPolicyGrantArray) ToBucketAclAccessControlPolicyGrantArrayOutput

func (i BucketAclAccessControlPolicyGrantArray) ToBucketAclAccessControlPolicyGrantArrayOutput() BucketAclAccessControlPolicyGrantArrayOutput

func (BucketAclAccessControlPolicyGrantArray) ToBucketAclAccessControlPolicyGrantArrayOutputWithContext

func (i BucketAclAccessControlPolicyGrantArray) ToBucketAclAccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantArrayOutput

type BucketAclAccessControlPolicyGrantArrayInput

type BucketAclAccessControlPolicyGrantArrayInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyGrantArrayOutput() BucketAclAccessControlPolicyGrantArrayOutput
	ToBucketAclAccessControlPolicyGrantArrayOutputWithContext(context.Context) BucketAclAccessControlPolicyGrantArrayOutput
}

BucketAclAccessControlPolicyGrantArrayInput is an input type that accepts BucketAclAccessControlPolicyGrantArray and BucketAclAccessControlPolicyGrantArrayOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyGrantArrayInput` via:

BucketAclAccessControlPolicyGrantArray{ BucketAclAccessControlPolicyGrantArgs{...} }

type BucketAclAccessControlPolicyGrantArrayOutput

type BucketAclAccessControlPolicyGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyGrantArrayOutput) ElementType

func (BucketAclAccessControlPolicyGrantArrayOutput) Index

func (BucketAclAccessControlPolicyGrantArrayOutput) ToBucketAclAccessControlPolicyGrantArrayOutput

func (o BucketAclAccessControlPolicyGrantArrayOutput) ToBucketAclAccessControlPolicyGrantArrayOutput() BucketAclAccessControlPolicyGrantArrayOutput

func (BucketAclAccessControlPolicyGrantArrayOutput) ToBucketAclAccessControlPolicyGrantArrayOutputWithContext

func (o BucketAclAccessControlPolicyGrantArrayOutput) ToBucketAclAccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantArrayOutput

type BucketAclAccessControlPolicyGrantGrantee

type BucketAclAccessControlPolicyGrantGrantee struct {
	// Display name of the owner.
	DisplayName *string `pulumi:"displayName"`
	// Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.
	EmailAddress *string `pulumi:"emailAddress"`
	// Canonical user ID of the grantee.
	Id *string `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.
	Type string `pulumi:"type"`
	// URI of the grantee group.
	Uri *string `pulumi:"uri"`
}

type BucketAclAccessControlPolicyGrantGranteeArgs

type BucketAclAccessControlPolicyGrantGranteeArgs struct {
	// Display name of the owner.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.
	EmailAddress pulumi.StringPtrInput `pulumi:"emailAddress"`
	// Canonical user ID of the grantee.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.
	Type pulumi.StringInput `pulumi:"type"`
	// URI of the grantee group.
	Uri pulumi.StringPtrInput `pulumi:"uri"`
}

func (BucketAclAccessControlPolicyGrantGranteeArgs) ElementType

func (BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteeOutput

func (i BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteeOutput() BucketAclAccessControlPolicyGrantGranteeOutput

func (BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteeOutputWithContext

func (i BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantGranteeOutput

func (BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteePtrOutput

func (i BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteePtrOutput() BucketAclAccessControlPolicyGrantGranteePtrOutput

func (BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext

func (i BucketAclAccessControlPolicyGrantGranteeArgs) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantGranteePtrOutput

type BucketAclAccessControlPolicyGrantGranteeInput

type BucketAclAccessControlPolicyGrantGranteeInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyGrantGranteeOutput() BucketAclAccessControlPolicyGrantGranteeOutput
	ToBucketAclAccessControlPolicyGrantGranteeOutputWithContext(context.Context) BucketAclAccessControlPolicyGrantGranteeOutput
}

BucketAclAccessControlPolicyGrantGranteeInput is an input type that accepts BucketAclAccessControlPolicyGrantGranteeArgs and BucketAclAccessControlPolicyGrantGranteeOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyGrantGranteeInput` via:

BucketAclAccessControlPolicyGrantGranteeArgs{...}

type BucketAclAccessControlPolicyGrantGranteeOutput

type BucketAclAccessControlPolicyGrantGranteeOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyGrantGranteeOutput) DisplayName

Display name of the owner.

func (BucketAclAccessControlPolicyGrantGranteeOutput) ElementType

func (BucketAclAccessControlPolicyGrantGranteeOutput) EmailAddress

Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.

func (BucketAclAccessControlPolicyGrantGranteeOutput) Id

Canonical user ID of the grantee.

func (BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteeOutput

func (o BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteeOutput() BucketAclAccessControlPolicyGrantGranteeOutput

func (BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteeOutputWithContext

func (o BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantGranteeOutput

func (BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutput

func (o BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutput() BucketAclAccessControlPolicyGrantGranteePtrOutput

func (BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketAclAccessControlPolicyGrantGranteeOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantGranteePtrOutput

func (BucketAclAccessControlPolicyGrantGranteeOutput) Type

Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.

func (BucketAclAccessControlPolicyGrantGranteeOutput) Uri

URI of the grantee group.

type BucketAclAccessControlPolicyGrantGranteePtrInput

type BucketAclAccessControlPolicyGrantGranteePtrInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyGrantGranteePtrOutput() BucketAclAccessControlPolicyGrantGranteePtrOutput
	ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext(context.Context) BucketAclAccessControlPolicyGrantGranteePtrOutput
}

BucketAclAccessControlPolicyGrantGranteePtrInput is an input type that accepts BucketAclAccessControlPolicyGrantGranteeArgs, BucketAclAccessControlPolicyGrantGranteePtr and BucketAclAccessControlPolicyGrantGranteePtrOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyGrantGranteePtrInput` via:

        BucketAclAccessControlPolicyGrantGranteeArgs{...}

or:

        nil

type BucketAclAccessControlPolicyGrantGranteePtrOutput

type BucketAclAccessControlPolicyGrantGranteePtrOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) DisplayName

Display name of the owner.

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) Elem

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) ElementType

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) EmailAddress

Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) Id

Canonical user ID of the grantee.

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutput

func (o BucketAclAccessControlPolicyGrantGranteePtrOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutput() BucketAclAccessControlPolicyGrantGranteePtrOutput

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketAclAccessControlPolicyGrantGranteePtrOutput) ToBucketAclAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantGranteePtrOutput

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) Type

Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.

func (BucketAclAccessControlPolicyGrantGranteePtrOutput) Uri

URI of the grantee group.

type BucketAclAccessControlPolicyGrantInput

type BucketAclAccessControlPolicyGrantInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyGrantOutput() BucketAclAccessControlPolicyGrantOutput
	ToBucketAclAccessControlPolicyGrantOutputWithContext(context.Context) BucketAclAccessControlPolicyGrantOutput
}

BucketAclAccessControlPolicyGrantInput is an input type that accepts BucketAclAccessControlPolicyGrantArgs and BucketAclAccessControlPolicyGrantOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyGrantInput` via:

BucketAclAccessControlPolicyGrantArgs{...}

type BucketAclAccessControlPolicyGrantOutput

type BucketAclAccessControlPolicyGrantOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyGrantOutput) ElementType

func (BucketAclAccessControlPolicyGrantOutput) Grantee

Configuration block for the person being granted permissions. See below.

func (BucketAclAccessControlPolicyGrantOutput) Permission

Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `WRITE`, `WRITE_ACP`, `READ`, `READ_ACP`. See [What permissions can I grant?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions) for more details about what each permission means in the context of buckets.

func (BucketAclAccessControlPolicyGrantOutput) ToBucketAclAccessControlPolicyGrantOutput

func (o BucketAclAccessControlPolicyGrantOutput) ToBucketAclAccessControlPolicyGrantOutput() BucketAclAccessControlPolicyGrantOutput

func (BucketAclAccessControlPolicyGrantOutput) ToBucketAclAccessControlPolicyGrantOutputWithContext

func (o BucketAclAccessControlPolicyGrantOutput) ToBucketAclAccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyGrantOutput

type BucketAclAccessControlPolicyInput

type BucketAclAccessControlPolicyInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyOutput() BucketAclAccessControlPolicyOutput
	ToBucketAclAccessControlPolicyOutputWithContext(context.Context) BucketAclAccessControlPolicyOutput
}

BucketAclAccessControlPolicyInput is an input type that accepts BucketAclAccessControlPolicyArgs and BucketAclAccessControlPolicyOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyInput` via:

BucketAclAccessControlPolicyArgs{...}

type BucketAclAccessControlPolicyOutput

type BucketAclAccessControlPolicyOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyOutput) ElementType

func (BucketAclAccessControlPolicyOutput) Grants

Set of `grant` configuration blocks. See below.

func (BucketAclAccessControlPolicyOutput) Owner

Configuration block for the bucket owner's display name and ID. See below.

func (BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyOutput

func (o BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyOutput() BucketAclAccessControlPolicyOutput

func (BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyOutputWithContext

func (o BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOutput

func (BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyPtrOutput

func (o BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyPtrOutput() BucketAclAccessControlPolicyPtrOutput

func (BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyPtrOutputWithContext

func (o BucketAclAccessControlPolicyOutput) ToBucketAclAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyPtrOutput

type BucketAclAccessControlPolicyOwner

type BucketAclAccessControlPolicyOwner struct {
	// Display name of the owner.
	DisplayName *string `pulumi:"displayName"`
	// ID of the owner.
	Id string `pulumi:"id"`
}

type BucketAclAccessControlPolicyOwnerArgs

type BucketAclAccessControlPolicyOwnerArgs struct {
	// Display name of the owner.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// ID of the owner.
	Id pulumi.StringInput `pulumi:"id"`
}

func (BucketAclAccessControlPolicyOwnerArgs) ElementType

func (BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerOutput

func (i BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerOutput() BucketAclAccessControlPolicyOwnerOutput

func (BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerOutputWithContext

func (i BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOwnerOutput

func (BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerPtrOutput

func (i BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerPtrOutput() BucketAclAccessControlPolicyOwnerPtrOutput

func (BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext

func (i BucketAclAccessControlPolicyOwnerArgs) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOwnerPtrOutput

type BucketAclAccessControlPolicyOwnerInput

type BucketAclAccessControlPolicyOwnerInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyOwnerOutput() BucketAclAccessControlPolicyOwnerOutput
	ToBucketAclAccessControlPolicyOwnerOutputWithContext(context.Context) BucketAclAccessControlPolicyOwnerOutput
}

BucketAclAccessControlPolicyOwnerInput is an input type that accepts BucketAclAccessControlPolicyOwnerArgs and BucketAclAccessControlPolicyOwnerOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyOwnerInput` via:

BucketAclAccessControlPolicyOwnerArgs{...}

type BucketAclAccessControlPolicyOwnerOutput

type BucketAclAccessControlPolicyOwnerOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyOwnerOutput) DisplayName

Display name of the owner.

func (BucketAclAccessControlPolicyOwnerOutput) ElementType

func (BucketAclAccessControlPolicyOwnerOutput) Id

ID of the owner.

func (BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerOutput

func (o BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerOutput() BucketAclAccessControlPolicyOwnerOutput

func (BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerOutputWithContext

func (o BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOwnerOutput

func (BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerPtrOutput

func (o BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerPtrOutput() BucketAclAccessControlPolicyOwnerPtrOutput

func (BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext

func (o BucketAclAccessControlPolicyOwnerOutput) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOwnerPtrOutput

type BucketAclAccessControlPolicyOwnerPtrInput

type BucketAclAccessControlPolicyOwnerPtrInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyOwnerPtrOutput() BucketAclAccessControlPolicyOwnerPtrOutput
	ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext(context.Context) BucketAclAccessControlPolicyOwnerPtrOutput
}

BucketAclAccessControlPolicyOwnerPtrInput is an input type that accepts BucketAclAccessControlPolicyOwnerArgs, BucketAclAccessControlPolicyOwnerPtr and BucketAclAccessControlPolicyOwnerPtrOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyOwnerPtrInput` via:

        BucketAclAccessControlPolicyOwnerArgs{...}

or:

        nil

type BucketAclAccessControlPolicyOwnerPtrOutput

type BucketAclAccessControlPolicyOwnerPtrOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyOwnerPtrOutput) DisplayName

Display name of the owner.

func (BucketAclAccessControlPolicyOwnerPtrOutput) Elem

func (BucketAclAccessControlPolicyOwnerPtrOutput) ElementType

func (BucketAclAccessControlPolicyOwnerPtrOutput) Id

ID of the owner.

func (BucketAclAccessControlPolicyOwnerPtrOutput) ToBucketAclAccessControlPolicyOwnerPtrOutput

func (o BucketAclAccessControlPolicyOwnerPtrOutput) ToBucketAclAccessControlPolicyOwnerPtrOutput() BucketAclAccessControlPolicyOwnerPtrOutput

func (BucketAclAccessControlPolicyOwnerPtrOutput) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext

func (o BucketAclAccessControlPolicyOwnerPtrOutput) ToBucketAclAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyOwnerPtrOutput

type BucketAclAccessControlPolicyPtrInput

type BucketAclAccessControlPolicyPtrInput interface {
	pulumi.Input

	ToBucketAclAccessControlPolicyPtrOutput() BucketAclAccessControlPolicyPtrOutput
	ToBucketAclAccessControlPolicyPtrOutputWithContext(context.Context) BucketAclAccessControlPolicyPtrOutput
}

BucketAclAccessControlPolicyPtrInput is an input type that accepts BucketAclAccessControlPolicyArgs, BucketAclAccessControlPolicyPtr and BucketAclAccessControlPolicyPtrOutput values. You can construct a concrete instance of `BucketAclAccessControlPolicyPtrInput` via:

        BucketAclAccessControlPolicyArgs{...}

or:

        nil

type BucketAclAccessControlPolicyPtrOutput

type BucketAclAccessControlPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketAclAccessControlPolicyPtrOutput) Elem

func (BucketAclAccessControlPolicyPtrOutput) ElementType

func (BucketAclAccessControlPolicyPtrOutput) Grants

Set of `grant` configuration blocks. See below.

func (BucketAclAccessControlPolicyPtrOutput) Owner

Configuration block for the bucket owner's display name and ID. See below.

func (BucketAclAccessControlPolicyPtrOutput) ToBucketAclAccessControlPolicyPtrOutput

func (o BucketAclAccessControlPolicyPtrOutput) ToBucketAclAccessControlPolicyPtrOutput() BucketAclAccessControlPolicyPtrOutput

func (BucketAclAccessControlPolicyPtrOutput) ToBucketAclAccessControlPolicyPtrOutputWithContext

func (o BucketAclAccessControlPolicyPtrOutput) ToBucketAclAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclAccessControlPolicyPtrOutput

type BucketAclArgs

type BucketAclArgs struct {
	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclAccessControlPolicyPtrInput
	// Specifies the Canned ACL to apply to the bucket. Valid values: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`, `log-delivery-write`. Full details are available on the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
	Acl pulumi.StringPtrInput
	// Bucket to which to apply the ACL.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketAcl resource.

func (BucketAclArgs) ElementType

func (BucketAclArgs) ElementType() reflect.Type

type BucketAclArray

type BucketAclArray []BucketAclInput

func (BucketAclArray) ElementType

func (BucketAclArray) ElementType() reflect.Type

func (BucketAclArray) ToBucketAclArrayOutput

func (i BucketAclArray) ToBucketAclArrayOutput() BucketAclArrayOutput

func (BucketAclArray) ToBucketAclArrayOutputWithContext

func (i BucketAclArray) ToBucketAclArrayOutputWithContext(ctx context.Context) BucketAclArrayOutput

type BucketAclArrayInput

type BucketAclArrayInput interface {
	pulumi.Input

	ToBucketAclArrayOutput() BucketAclArrayOutput
	ToBucketAclArrayOutputWithContext(context.Context) BucketAclArrayOutput
}

BucketAclArrayInput is an input type that accepts BucketAclArray and BucketAclArrayOutput values. You can construct a concrete instance of `BucketAclArrayInput` via:

BucketAclArray{ BucketAclArgs{...} }

type BucketAclArrayOutput

type BucketAclArrayOutput struct{ *pulumi.OutputState }

func (BucketAclArrayOutput) ElementType

func (BucketAclArrayOutput) ElementType() reflect.Type

func (BucketAclArrayOutput) Index

func (BucketAclArrayOutput) ToBucketAclArrayOutput

func (o BucketAclArrayOutput) ToBucketAclArrayOutput() BucketAclArrayOutput

func (BucketAclArrayOutput) ToBucketAclArrayOutputWithContext

func (o BucketAclArrayOutput) ToBucketAclArrayOutputWithContext(ctx context.Context) BucketAclArrayOutput

type BucketAclInput

type BucketAclInput interface {
	pulumi.Input

	ToBucketAclOutput() BucketAclOutput
	ToBucketAclOutputWithContext(ctx context.Context) BucketAclOutput
}

type BucketAclMap

type BucketAclMap map[string]BucketAclInput

func (BucketAclMap) ElementType

func (BucketAclMap) ElementType() reflect.Type

func (BucketAclMap) ToBucketAclMapOutput

func (i BucketAclMap) ToBucketAclMapOutput() BucketAclMapOutput

func (BucketAclMap) ToBucketAclMapOutputWithContext

func (i BucketAclMap) ToBucketAclMapOutputWithContext(ctx context.Context) BucketAclMapOutput

type BucketAclMapInput

type BucketAclMapInput interface {
	pulumi.Input

	ToBucketAclMapOutput() BucketAclMapOutput
	ToBucketAclMapOutputWithContext(context.Context) BucketAclMapOutput
}

BucketAclMapInput is an input type that accepts BucketAclMap and BucketAclMapOutput values. You can construct a concrete instance of `BucketAclMapInput` via:

BucketAclMap{ "key": BucketAclArgs{...} }

type BucketAclMapOutput

type BucketAclMapOutput struct{ *pulumi.OutputState }

func (BucketAclMapOutput) ElementType

func (BucketAclMapOutput) ElementType() reflect.Type

func (BucketAclMapOutput) MapIndex

func (BucketAclMapOutput) ToBucketAclMapOutput

func (o BucketAclMapOutput) ToBucketAclMapOutput() BucketAclMapOutput

func (BucketAclMapOutput) ToBucketAclMapOutputWithContext

func (o BucketAclMapOutput) ToBucketAclMapOutputWithContext(ctx context.Context) BucketAclMapOutput

type BucketAclOutput

type BucketAclOutput struct{ *pulumi.OutputState }

func (BucketAclOutput) AccessControlPolicy

func (o BucketAclOutput) AccessControlPolicy() BucketAclAccessControlPolicyOutput

Configuration block that sets the ACL permissions for an object per grantee. See below.

func (BucketAclOutput) Acl

Specifies the Canned ACL to apply to the bucket. Valid values: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`, `log-delivery-write`. Full details are available on the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).

func (BucketAclOutput) Bucket

func (o BucketAclOutput) Bucket() pulumi.StringOutput

Bucket to which to apply the ACL.

func (BucketAclOutput) ElementType

func (BucketAclOutput) ElementType() reflect.Type

func (BucketAclOutput) ExpectedBucketOwner

func (o BucketAclOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketAclOutput) Region

func (o BucketAclOutput) Region() pulumi.StringOutput

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.

func (BucketAclOutput) ToBucketAclOutput

func (o BucketAclOutput) ToBucketAclOutput() BucketAclOutput

func (BucketAclOutput) ToBucketAclOutputWithContext

func (o BucketAclOutput) ToBucketAclOutputWithContext(ctx context.Context) BucketAclOutput

type BucketAclState

type BucketAclState struct {
	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclAccessControlPolicyPtrInput
	// Specifies the Canned ACL to apply to the bucket. Valid values: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`, `log-delivery-write`. Full details are available on the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
	Acl pulumi.StringPtrInput
	// Bucket to which to apply the ACL.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

func (BucketAclState) ElementType

func (BucketAclState) ElementType() reflect.Type

type BucketArgs

type BucketArgs struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketAccelerateConfiguration` instead.
	//
	// Deprecated: acceleration_status is deprecated. Use the s3.BucketAccelerateConfiguration resource instead.
	AccelerationStatus pulumi.StringPtrInput
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: acl is deprecated. Use the s3.BucketAcl resource instead.
	Acl pulumi.StringPtrInput
	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
	Bucket pulumi.StringPtrInput
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
	BucketPrefix pulumi.StringPtrInput
	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfiguration` instead.
	//
	// Deprecated: cors_rule is deprecated. Use the s3.BucketCorsConfiguration resource instead.
	CorsRules BucketCorsRuleArrayInput
	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolPtrInput
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: grant is deprecated. Use the s3.BucketAcl resource instead.
	Grants BucketGrantArrayInput
	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLifecycleConfiguration` instead.
	//
	// Deprecated: lifecycle_rule is deprecated. Use the s3.BucketLifecycleConfiguration resource instead.
	LifecycleRules BucketLifecycleRuleArrayInput
	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLogging` instead.
	//
	// Deprecated: logging is deprecated. Use the s3.BucketLogging resource instead.
	Logging BucketLoggingTypePtrInput
	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
	// The provider wil only perform drift detection if a configuration value is provided.
	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfiguration` instead.
	//
	// Deprecated: object_lock_configuration is deprecated. Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfiguration resource instead.
	ObjectLockConfiguration BucketObjectLockConfigurationTypePtrInput
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
	ObjectLockEnabled pulumi.BoolPtrInput
	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketPolicy` instead.
	//
	// Deprecated: policy is deprecated. Use the s3.BucketPolicy resource instead.
	Policy pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketReplicationConfig` instead.
	//
	// Deprecated: replication_configuration is deprecated. Use the s3.BucketReplicationConfig resource instead.
	ReplicationConfiguration BucketReplicationConfigurationPtrInput
	// Specifies who should bear the cost of Amazon S3 data transfer.
	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketRequestPaymentConfiguration` instead.
	//
	// Deprecated: request_payer is deprecated. Use the s3.BucketRequestPaymentConfiguration resource instead.
	RequestPayer pulumi.StringPtrInput
	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketServerSideEncryptionConfiguration` instead.
	//
	// Deprecated: server_side_encryption_configuration is deprecated. Use the s3.BucketServerSideEncryptionConfiguration resource instead.
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationTypePtrInput
	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// The following arguments are deprecated, and will be removed in a future major version:
	Tags pulumi.StringMapInput
	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioning` instead.
	//
	// Deprecated: versioning is deprecated. Use the s3.BucketVersioning resource instead.
	Versioning BucketVersioningTypePtrInput
	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	Website BucketWebsitePtrInput
}

The set of arguments for constructing a Bucket resource.

func (BucketArgs) ElementType

func (BucketArgs) ElementType() reflect.Type

type BucketArray

type BucketArray []BucketInput

func (BucketArray) ElementType

func (BucketArray) ElementType() reflect.Type

func (BucketArray) ToBucketArrayOutput

func (i BucketArray) ToBucketArrayOutput() BucketArrayOutput

func (BucketArray) ToBucketArrayOutputWithContext

func (i BucketArray) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketArrayInput

type BucketArrayInput interface {
	pulumi.Input

	ToBucketArrayOutput() BucketArrayOutput
	ToBucketArrayOutputWithContext(context.Context) BucketArrayOutput
}

BucketArrayInput is an input type that accepts BucketArray and BucketArrayOutput values. You can construct a concrete instance of `BucketArrayInput` via:

BucketArray{ BucketArgs{...} }

type BucketArrayOutput

type BucketArrayOutput struct{ *pulumi.OutputState }

func (BucketArrayOutput) ElementType

func (BucketArrayOutput) ElementType() reflect.Type

func (BucketArrayOutput) Index

func (BucketArrayOutput) ToBucketArrayOutput

func (o BucketArrayOutput) ToBucketArrayOutput() BucketArrayOutput

func (BucketArrayOutput) ToBucketArrayOutputWithContext

func (o BucketArrayOutput) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketCorsConfiguration

type BucketCorsConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
	CorsRules BucketCorsConfigurationCorsRuleArrayOutput `pulumi:"corsRules"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Provides an S3 bucket CORS configuration resource. For more information about CORS, go to [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) in the Amazon S3 User Guide.

> **NOTE:** S3 Buckets only support a single CORS configuration. Declaring multiple `s3.BucketCorsConfiguration` resources to the same S3 Bucket will cause a perpetual difference in configuration.

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketCorsConfiguration(ctx, "example", &s3.BucketCorsConfigurationArgs{
			Bucket: example.ID(),
			CorsRules: s3.BucketCorsConfigurationCorsRuleArray{
				&s3.BucketCorsConfigurationCorsRuleArgs{
					AllowedHeaders: pulumi.StringArray{
						pulumi.String("*"),
					},
					AllowedMethods: pulumi.StringArray{
						pulumi.String("PUT"),
						pulumi.String("POST"),
					},
					AllowedOrigins: pulumi.StringArray{
						pulumi.String("https://s3-website-test.domain.example"),
					},
					ExposeHeaders: pulumi.StringArray{
						pulumi.String("ETag"),
					},
					MaxAgeSeconds: pulumi.Int(3000),
				},
				&s3.BucketCorsConfigurationCorsRuleArgs{
					AllowedMethods: pulumi.StringArray{
						pulumi.String("GET"),
					},
					AllowedOrigins: pulumi.StringArray{
						pulumi.String("*"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket CORS configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketCorsConfiguration:BucketCorsConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketCorsConfiguration:BucketCorsConfiguration example bucket-name,123456789012 ```

func GetBucketCorsConfiguration

func GetBucketCorsConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketCorsConfigurationState, opts ...pulumi.ResourceOption) (*BucketCorsConfiguration, error)

GetBucketCorsConfiguration gets an existing BucketCorsConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketCorsConfiguration

func NewBucketCorsConfiguration(ctx *pulumi.Context,
	name string, args *BucketCorsConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketCorsConfiguration, error)

NewBucketCorsConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketCorsConfiguration) ElementType

func (*BucketCorsConfiguration) ElementType() reflect.Type

func (*BucketCorsConfiguration) ToBucketCorsConfigurationOutput

func (i *BucketCorsConfiguration) ToBucketCorsConfigurationOutput() BucketCorsConfigurationOutput

func (*BucketCorsConfiguration) ToBucketCorsConfigurationOutputWithContext

func (i *BucketCorsConfiguration) ToBucketCorsConfigurationOutputWithContext(ctx context.Context) BucketCorsConfigurationOutput

type BucketCorsConfigurationArgs

type BucketCorsConfigurationArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
	CorsRules BucketCorsConfigurationCorsRuleArrayInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketCorsConfiguration resource.

func (BucketCorsConfigurationArgs) ElementType

type BucketCorsConfigurationArray

type BucketCorsConfigurationArray []BucketCorsConfigurationInput

func (BucketCorsConfigurationArray) ElementType

func (BucketCorsConfigurationArray) ToBucketCorsConfigurationArrayOutput

func (i BucketCorsConfigurationArray) ToBucketCorsConfigurationArrayOutput() BucketCorsConfigurationArrayOutput

func (BucketCorsConfigurationArray) ToBucketCorsConfigurationArrayOutputWithContext

func (i BucketCorsConfigurationArray) ToBucketCorsConfigurationArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationArrayOutput

type BucketCorsConfigurationArrayInput

type BucketCorsConfigurationArrayInput interface {
	pulumi.Input

	ToBucketCorsConfigurationArrayOutput() BucketCorsConfigurationArrayOutput
	ToBucketCorsConfigurationArrayOutputWithContext(context.Context) BucketCorsConfigurationArrayOutput
}

BucketCorsConfigurationArrayInput is an input type that accepts BucketCorsConfigurationArray and BucketCorsConfigurationArrayOutput values. You can construct a concrete instance of `BucketCorsConfigurationArrayInput` via:

BucketCorsConfigurationArray{ BucketCorsConfigurationArgs{...} }

type BucketCorsConfigurationArrayOutput

type BucketCorsConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationArrayOutput) ElementType

func (BucketCorsConfigurationArrayOutput) Index

func (BucketCorsConfigurationArrayOutput) ToBucketCorsConfigurationArrayOutput

func (o BucketCorsConfigurationArrayOutput) ToBucketCorsConfigurationArrayOutput() BucketCorsConfigurationArrayOutput

func (BucketCorsConfigurationArrayOutput) ToBucketCorsConfigurationArrayOutputWithContext

func (o BucketCorsConfigurationArrayOutput) ToBucketCorsConfigurationArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationArrayOutput

type BucketCorsConfigurationCorsRule

type BucketCorsConfigurationCorsRule struct {
	// Set of Headers that are specified in the `Access-Control-Request-Headers` header.
	AllowedHeaders []string `pulumi:"allowedHeaders"`
	// Set of HTTP methods that you allow the origin to execute. Valid values are `GET`, `PUT`, `HEAD`, `POST`, and `DELETE`.
	AllowedMethods []string `pulumi:"allowedMethods"`
	// Set of origins you want customers to be able to access the bucket from.
	AllowedOrigins []string `pulumi:"allowedOrigins"`
	// Set of headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).
	ExposeHeaders []string `pulumi:"exposeHeaders"`
	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	Id *string `pulumi:"id"`
	// Time in seconds that your browser is to cache the preflight response for the specified resource.
	MaxAgeSeconds *int `pulumi:"maxAgeSeconds"`
}

type BucketCorsConfigurationCorsRuleArgs

type BucketCorsConfigurationCorsRuleArgs struct {
	// Set of Headers that are specified in the `Access-Control-Request-Headers` header.
	AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"`
	// Set of HTTP methods that you allow the origin to execute. Valid values are `GET`, `PUT`, `HEAD`, `POST`, and `DELETE`.
	AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"`
	// Set of origins you want customers to be able to access the bucket from.
	AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"`
	// Set of headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).
	ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Time in seconds that your browser is to cache the preflight response for the specified resource.
	MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"`
}

func (BucketCorsConfigurationCorsRuleArgs) ElementType

func (BucketCorsConfigurationCorsRuleArgs) ToBucketCorsConfigurationCorsRuleOutput

func (i BucketCorsConfigurationCorsRuleArgs) ToBucketCorsConfigurationCorsRuleOutput() BucketCorsConfigurationCorsRuleOutput

func (BucketCorsConfigurationCorsRuleArgs) ToBucketCorsConfigurationCorsRuleOutputWithContext

func (i BucketCorsConfigurationCorsRuleArgs) ToBucketCorsConfigurationCorsRuleOutputWithContext(ctx context.Context) BucketCorsConfigurationCorsRuleOutput

type BucketCorsConfigurationCorsRuleArray

type BucketCorsConfigurationCorsRuleArray []BucketCorsConfigurationCorsRuleInput

func (BucketCorsConfigurationCorsRuleArray) ElementType

func (BucketCorsConfigurationCorsRuleArray) ToBucketCorsConfigurationCorsRuleArrayOutput

func (i BucketCorsConfigurationCorsRuleArray) ToBucketCorsConfigurationCorsRuleArrayOutput() BucketCorsConfigurationCorsRuleArrayOutput

func (BucketCorsConfigurationCorsRuleArray) ToBucketCorsConfigurationCorsRuleArrayOutputWithContext

func (i BucketCorsConfigurationCorsRuleArray) ToBucketCorsConfigurationCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationCorsRuleArrayOutput

type BucketCorsConfigurationCorsRuleArrayInput

type BucketCorsConfigurationCorsRuleArrayInput interface {
	pulumi.Input

	ToBucketCorsConfigurationCorsRuleArrayOutput() BucketCorsConfigurationCorsRuleArrayOutput
	ToBucketCorsConfigurationCorsRuleArrayOutputWithContext(context.Context) BucketCorsConfigurationCorsRuleArrayOutput
}

BucketCorsConfigurationCorsRuleArrayInput is an input type that accepts BucketCorsConfigurationCorsRuleArray and BucketCorsConfigurationCorsRuleArrayOutput values. You can construct a concrete instance of `BucketCorsConfigurationCorsRuleArrayInput` via:

BucketCorsConfigurationCorsRuleArray{ BucketCorsConfigurationCorsRuleArgs{...} }

type BucketCorsConfigurationCorsRuleArrayOutput

type BucketCorsConfigurationCorsRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationCorsRuleArrayOutput) ElementType

func (BucketCorsConfigurationCorsRuleArrayOutput) Index

func (BucketCorsConfigurationCorsRuleArrayOutput) ToBucketCorsConfigurationCorsRuleArrayOutput

func (o BucketCorsConfigurationCorsRuleArrayOutput) ToBucketCorsConfigurationCorsRuleArrayOutput() BucketCorsConfigurationCorsRuleArrayOutput

func (BucketCorsConfigurationCorsRuleArrayOutput) ToBucketCorsConfigurationCorsRuleArrayOutputWithContext

func (o BucketCorsConfigurationCorsRuleArrayOutput) ToBucketCorsConfigurationCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationCorsRuleArrayOutput

type BucketCorsConfigurationCorsRuleInput

type BucketCorsConfigurationCorsRuleInput interface {
	pulumi.Input

	ToBucketCorsConfigurationCorsRuleOutput() BucketCorsConfigurationCorsRuleOutput
	ToBucketCorsConfigurationCorsRuleOutputWithContext(context.Context) BucketCorsConfigurationCorsRuleOutput
}

BucketCorsConfigurationCorsRuleInput is an input type that accepts BucketCorsConfigurationCorsRuleArgs and BucketCorsConfigurationCorsRuleOutput values. You can construct a concrete instance of `BucketCorsConfigurationCorsRuleInput` via:

BucketCorsConfigurationCorsRuleArgs{...}

type BucketCorsConfigurationCorsRuleOutput

type BucketCorsConfigurationCorsRuleOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationCorsRuleOutput) AllowedHeaders

Set of Headers that are specified in the `Access-Control-Request-Headers` header.

func (BucketCorsConfigurationCorsRuleOutput) AllowedMethods

Set of HTTP methods that you allow the origin to execute. Valid values are `GET`, `PUT`, `HEAD`, `POST`, and `DELETE`.

func (BucketCorsConfigurationCorsRuleOutput) AllowedOrigins

Set of origins you want customers to be able to access the bucket from.

func (BucketCorsConfigurationCorsRuleOutput) ElementType

func (BucketCorsConfigurationCorsRuleOutput) ExposeHeaders

Set of headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).

func (BucketCorsConfigurationCorsRuleOutput) Id

Unique identifier for the rule. The value cannot be longer than 255 characters.

func (BucketCorsConfigurationCorsRuleOutput) MaxAgeSeconds

Time in seconds that your browser is to cache the preflight response for the specified resource.

func (BucketCorsConfigurationCorsRuleOutput) ToBucketCorsConfigurationCorsRuleOutput

func (o BucketCorsConfigurationCorsRuleOutput) ToBucketCorsConfigurationCorsRuleOutput() BucketCorsConfigurationCorsRuleOutput

func (BucketCorsConfigurationCorsRuleOutput) ToBucketCorsConfigurationCorsRuleOutputWithContext

func (o BucketCorsConfigurationCorsRuleOutput) ToBucketCorsConfigurationCorsRuleOutputWithContext(ctx context.Context) BucketCorsConfigurationCorsRuleOutput

type BucketCorsConfigurationInput

type BucketCorsConfigurationInput interface {
	pulumi.Input

	ToBucketCorsConfigurationOutput() BucketCorsConfigurationOutput
	ToBucketCorsConfigurationOutputWithContext(ctx context.Context) BucketCorsConfigurationOutput
}

type BucketCorsConfigurationMap

type BucketCorsConfigurationMap map[string]BucketCorsConfigurationInput

func (BucketCorsConfigurationMap) ElementType

func (BucketCorsConfigurationMap) ElementType() reflect.Type

func (BucketCorsConfigurationMap) ToBucketCorsConfigurationMapOutput

func (i BucketCorsConfigurationMap) ToBucketCorsConfigurationMapOutput() BucketCorsConfigurationMapOutput

func (BucketCorsConfigurationMap) ToBucketCorsConfigurationMapOutputWithContext

func (i BucketCorsConfigurationMap) ToBucketCorsConfigurationMapOutputWithContext(ctx context.Context) BucketCorsConfigurationMapOutput

type BucketCorsConfigurationMapInput

type BucketCorsConfigurationMapInput interface {
	pulumi.Input

	ToBucketCorsConfigurationMapOutput() BucketCorsConfigurationMapOutput
	ToBucketCorsConfigurationMapOutputWithContext(context.Context) BucketCorsConfigurationMapOutput
}

BucketCorsConfigurationMapInput is an input type that accepts BucketCorsConfigurationMap and BucketCorsConfigurationMapOutput values. You can construct a concrete instance of `BucketCorsConfigurationMapInput` via:

BucketCorsConfigurationMap{ "key": BucketCorsConfigurationArgs{...} }

type BucketCorsConfigurationMapOutput

type BucketCorsConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationMapOutput) ElementType

func (BucketCorsConfigurationMapOutput) MapIndex

func (BucketCorsConfigurationMapOutput) ToBucketCorsConfigurationMapOutput

func (o BucketCorsConfigurationMapOutput) ToBucketCorsConfigurationMapOutput() BucketCorsConfigurationMapOutput

func (BucketCorsConfigurationMapOutput) ToBucketCorsConfigurationMapOutputWithContext

func (o BucketCorsConfigurationMapOutput) ToBucketCorsConfigurationMapOutputWithContext(ctx context.Context) BucketCorsConfigurationMapOutput

type BucketCorsConfigurationOutput

type BucketCorsConfigurationOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationOutput) Bucket

Name of the bucket.

func (BucketCorsConfigurationOutput) CorsRules

Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.

func (BucketCorsConfigurationOutput) ElementType

func (BucketCorsConfigurationOutput) ExpectedBucketOwner

func (o BucketCorsConfigurationOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketCorsConfigurationOutput) Region

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.

func (BucketCorsConfigurationOutput) ToBucketCorsConfigurationOutput

func (o BucketCorsConfigurationOutput) ToBucketCorsConfigurationOutput() BucketCorsConfigurationOutput

func (BucketCorsConfigurationOutput) ToBucketCorsConfigurationOutputWithContext

func (o BucketCorsConfigurationOutput) ToBucketCorsConfigurationOutputWithContext(ctx context.Context) BucketCorsConfigurationOutput

type BucketCorsConfigurationState

type BucketCorsConfigurationState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
	CorsRules BucketCorsConfigurationCorsRuleArrayInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

func (BucketCorsConfigurationState) ElementType

type BucketCorsRule

type BucketCorsRule struct {
	// List of headers allowed.
	AllowedHeaders []string `pulumi:"allowedHeaders"`
	// One or more HTTP methods that you allow the origin to execute. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods []string `pulumi:"allowedMethods"`
	// One or more origins you want customers to be able to access the bucket from.
	AllowedOrigins []string `pulumi:"allowedOrigins"`
	// One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).
	ExposeHeaders []string `pulumi:"exposeHeaders"`
	// Specifies time in seconds that browser can cache the response for a preflight request.
	MaxAgeSeconds *int `pulumi:"maxAgeSeconds"`
}

type BucketCorsRuleArgs

type BucketCorsRuleArgs struct {
	// List of headers allowed.
	AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"`
	// One or more HTTP methods that you allow the origin to execute. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"`
	// One or more origins you want customers to be able to access the bucket from.
	AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"`
	// One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).
	ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	// Specifies time in seconds that browser can cache the response for a preflight request.
	MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"`
}

func (BucketCorsRuleArgs) ElementType

func (BucketCorsRuleArgs) ElementType() reflect.Type

func (BucketCorsRuleArgs) ToBucketCorsRuleOutput

func (i BucketCorsRuleArgs) ToBucketCorsRuleOutput() BucketCorsRuleOutput

func (BucketCorsRuleArgs) ToBucketCorsRuleOutputWithContext

func (i BucketCorsRuleArgs) ToBucketCorsRuleOutputWithContext(ctx context.Context) BucketCorsRuleOutput

type BucketCorsRuleArray

type BucketCorsRuleArray []BucketCorsRuleInput

func (BucketCorsRuleArray) ElementType

func (BucketCorsRuleArray) ElementType() reflect.Type

func (BucketCorsRuleArray) ToBucketCorsRuleArrayOutput

func (i BucketCorsRuleArray) ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput

func (BucketCorsRuleArray) ToBucketCorsRuleArrayOutputWithContext

func (i BucketCorsRuleArray) ToBucketCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsRuleArrayOutput

type BucketCorsRuleArrayInput

type BucketCorsRuleArrayInput interface {
	pulumi.Input

	ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput
	ToBucketCorsRuleArrayOutputWithContext(context.Context) BucketCorsRuleArrayOutput
}

BucketCorsRuleArrayInput is an input type that accepts BucketCorsRuleArray and BucketCorsRuleArrayOutput values. You can construct a concrete instance of `BucketCorsRuleArrayInput` via:

BucketCorsRuleArray{ BucketCorsRuleArgs{...} }

type BucketCorsRuleArrayOutput

type BucketCorsRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsRuleArrayOutput) ElementType

func (BucketCorsRuleArrayOutput) ElementType() reflect.Type

func (BucketCorsRuleArrayOutput) Index

func (BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutput

func (o BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput

func (BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutputWithContext

func (o BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsRuleArrayOutput

type BucketCorsRuleInput

type BucketCorsRuleInput interface {
	pulumi.Input

	ToBucketCorsRuleOutput() BucketCorsRuleOutput
	ToBucketCorsRuleOutputWithContext(context.Context) BucketCorsRuleOutput
}

BucketCorsRuleInput is an input type that accepts BucketCorsRuleArgs and BucketCorsRuleOutput values. You can construct a concrete instance of `BucketCorsRuleInput` via:

BucketCorsRuleArgs{...}

type BucketCorsRuleOutput

type BucketCorsRuleOutput struct{ *pulumi.OutputState }

func (BucketCorsRuleOutput) AllowedHeaders

func (o BucketCorsRuleOutput) AllowedHeaders() pulumi.StringArrayOutput

List of headers allowed.

func (BucketCorsRuleOutput) AllowedMethods

func (o BucketCorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput

One or more HTTP methods that you allow the origin to execute. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.

func (BucketCorsRuleOutput) AllowedOrigins

func (o BucketCorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput

One or more origins you want customers to be able to access the bucket from.

func (BucketCorsRuleOutput) ElementType

func (BucketCorsRuleOutput) ElementType() reflect.Type

func (BucketCorsRuleOutput) ExposeHeaders

func (o BucketCorsRuleOutput) ExposeHeaders() pulumi.StringArrayOutput

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).

func (BucketCorsRuleOutput) MaxAgeSeconds

func (o BucketCorsRuleOutput) MaxAgeSeconds() pulumi.IntPtrOutput

Specifies time in seconds that browser can cache the response for a preflight request.

func (BucketCorsRuleOutput) ToBucketCorsRuleOutput

func (o BucketCorsRuleOutput) ToBucketCorsRuleOutput() BucketCorsRuleOutput

func (BucketCorsRuleOutput) ToBucketCorsRuleOutputWithContext

func (o BucketCorsRuleOutput) ToBucketCorsRuleOutputWithContext(ctx context.Context) BucketCorsRuleOutput

type BucketGrant

type BucketGrant struct {
	// Canonical user id to grant for. Used only when `type` is `CanonicalUser`.
	Id *string `pulumi:"id"`
	// List of permissions to apply for grantee. Valid values are `READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.
	Permissions []string `pulumi:"permissions"`
	// Type of grantee to apply for. Valid values are `CanonicalUser` and `Group`. `AmazonCustomerByEmail` is not supported.
	Type string `pulumi:"type"`
	// Uri address to grant for. Used only when `type` is `Group`.
	Uri *string `pulumi:"uri"`
}

type BucketGrantArgs

type BucketGrantArgs struct {
	// Canonical user id to grant for. Used only when `type` is `CanonicalUser`.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// List of permissions to apply for grantee. Valid values are `READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.
	Permissions pulumi.StringArrayInput `pulumi:"permissions"`
	// Type of grantee to apply for. Valid values are `CanonicalUser` and `Group`. `AmazonCustomerByEmail` is not supported.
	Type pulumi.StringInput `pulumi:"type"`
	// Uri address to grant for. Used only when `type` is `Group`.
	Uri pulumi.StringPtrInput `pulumi:"uri"`
}

func (BucketGrantArgs) ElementType

func (BucketGrantArgs) ElementType() reflect.Type

func (BucketGrantArgs) ToBucketGrantOutput

func (i BucketGrantArgs) ToBucketGrantOutput() BucketGrantOutput

func (BucketGrantArgs) ToBucketGrantOutputWithContext

func (i BucketGrantArgs) ToBucketGrantOutputWithContext(ctx context.Context) BucketGrantOutput

type BucketGrantArray

type BucketGrantArray []BucketGrantInput

func (BucketGrantArray) ElementType

func (BucketGrantArray) ElementType() reflect.Type

func (BucketGrantArray) ToBucketGrantArrayOutput

func (i BucketGrantArray) ToBucketGrantArrayOutput() BucketGrantArrayOutput

func (BucketGrantArray) ToBucketGrantArrayOutputWithContext

func (i BucketGrantArray) ToBucketGrantArrayOutputWithContext(ctx context.Context) BucketGrantArrayOutput

type BucketGrantArrayInput

type BucketGrantArrayInput interface {
	pulumi.Input

	ToBucketGrantArrayOutput() BucketGrantArrayOutput
	ToBucketGrantArrayOutputWithContext(context.Context) BucketGrantArrayOutput
}

BucketGrantArrayInput is an input type that accepts BucketGrantArray and BucketGrantArrayOutput values. You can construct a concrete instance of `BucketGrantArrayInput` via:

BucketGrantArray{ BucketGrantArgs{...} }

type BucketGrantArrayOutput

type BucketGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketGrantArrayOutput) ElementType

func (BucketGrantArrayOutput) ElementType() reflect.Type

func (BucketGrantArrayOutput) Index

func (BucketGrantArrayOutput) ToBucketGrantArrayOutput

func (o BucketGrantArrayOutput) ToBucketGrantArrayOutput() BucketGrantArrayOutput

func (BucketGrantArrayOutput) ToBucketGrantArrayOutputWithContext

func (o BucketGrantArrayOutput) ToBucketGrantArrayOutputWithContext(ctx context.Context) BucketGrantArrayOutput

type BucketGrantInput

type BucketGrantInput interface {
	pulumi.Input

	ToBucketGrantOutput() BucketGrantOutput
	ToBucketGrantOutputWithContext(context.Context) BucketGrantOutput
}

BucketGrantInput is an input type that accepts BucketGrantArgs and BucketGrantOutput values. You can construct a concrete instance of `BucketGrantInput` via:

BucketGrantArgs{...}

type BucketGrantOutput

type BucketGrantOutput struct{ *pulumi.OutputState }

func (BucketGrantOutput) ElementType

func (BucketGrantOutput) ElementType() reflect.Type

func (BucketGrantOutput) Id

Canonical user id to grant for. Used only when `type` is `CanonicalUser`.

func (BucketGrantOutput) Permissions

func (o BucketGrantOutput) Permissions() pulumi.StringArrayOutput

List of permissions to apply for grantee. Valid values are `READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.

func (BucketGrantOutput) ToBucketGrantOutput

func (o BucketGrantOutput) ToBucketGrantOutput() BucketGrantOutput

func (BucketGrantOutput) ToBucketGrantOutputWithContext

func (o BucketGrantOutput) ToBucketGrantOutputWithContext(ctx context.Context) BucketGrantOutput

func (BucketGrantOutput) Type

Type of grantee to apply for. Valid values are `CanonicalUser` and `Group`. `AmazonCustomerByEmail` is not supported.

func (BucketGrantOutput) Uri

Uri address to grant for. Used only when `type` is `Group`.

type BucketInput

type BucketInput interface {
	pulumi.Input

	ToBucketOutput() BucketOutput
	ToBucketOutputWithContext(ctx context.Context) BucketOutput
}

type BucketIntelligentTieringConfiguration

type BucketIntelligentTieringConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrOutput `pulumi:"filter"`
	// Unique name used to identify the S3 Intelligent-Tiering configuration for the bucket.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`.
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// S3 Intelligent-Tiering storage class tiers of the configuration (documented below).
	Tierings BucketIntelligentTieringConfigurationTieringArrayOutput `pulumi:"tierings"`
}

Provides an [S3 Intelligent-Tiering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html) configuration resource.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Add intelligent tiering configuration for entire S3 bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, "example-entire-bucket", &s3.BucketIntelligentTieringConfigurationArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("EntireBucket"),
			Tierings: s3.BucketIntelligentTieringConfigurationTieringArray{
				&s3.BucketIntelligentTieringConfigurationTieringArgs{
					AccessTier: pulumi.String("DEEP_ARCHIVE_ACCESS"),
					Days:       pulumi.Int(180),
				},
				&s3.BucketIntelligentTieringConfigurationTieringArgs{
					AccessTier: pulumi.String("ARCHIVE_ACCESS"),
					Days:       pulumi.Int(125),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add intelligent tiering configuration with S3 object filter

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, "example-filtered", &s3.BucketIntelligentTieringConfigurationArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("ImportantBlueDocuments"),
			Status: pulumi.String("Disabled"),
			Filter: &s3.BucketIntelligentTieringConfigurationFilterArgs{
				Prefix: pulumi.String("documents/"),
				Tags: pulumi.StringMap{
					"priority": pulumi.String("high"),
					"class":    pulumi.String("blue"),
				},
			},
			Tierings: s3.BucketIntelligentTieringConfigurationTieringArray{
				&s3.BucketIntelligentTieringConfigurationTieringArgs{
					AccessTier: pulumi.String("ARCHIVE_ACCESS"),
					Days:       pulumi.Int(125),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket intelligent tiering configurations using `bucket:name`. For example:

```sh $ pulumi import aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration my-bucket-entire-bucket my-bucket:EntireBucket ```

func GetBucketIntelligentTieringConfiguration

func GetBucketIntelligentTieringConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketIntelligentTieringConfigurationState, opts ...pulumi.ResourceOption) (*BucketIntelligentTieringConfiguration, error)

GetBucketIntelligentTieringConfiguration gets an existing BucketIntelligentTieringConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketIntelligentTieringConfiguration

func NewBucketIntelligentTieringConfiguration(ctx *pulumi.Context,
	name string, args *BucketIntelligentTieringConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketIntelligentTieringConfiguration, error)

NewBucketIntelligentTieringConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketIntelligentTieringConfiguration) ElementType

func (*BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutput

func (i *BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutput() BucketIntelligentTieringConfigurationOutput

func (*BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutputWithContext

func (i *BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationOutput

type BucketIntelligentTieringConfigurationArgs

type BucketIntelligentTieringConfigurationArgs struct {
	// Name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringInput
	// Bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrInput
	// Unique name used to identify the S3 Intelligent-Tiering configuration for the bucket.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`.
	Status pulumi.StringPtrInput
	// S3 Intelligent-Tiering storage class tiers of the configuration (documented below).
	Tierings BucketIntelligentTieringConfigurationTieringArrayInput
}

The set of arguments for constructing a BucketIntelligentTieringConfiguration resource.

func (BucketIntelligentTieringConfigurationArgs) ElementType

type BucketIntelligentTieringConfigurationArray

type BucketIntelligentTieringConfigurationArray []BucketIntelligentTieringConfigurationInput

func (BucketIntelligentTieringConfigurationArray) ElementType

func (BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutput

func (i BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutput() BucketIntelligentTieringConfigurationArrayOutput

func (BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutputWithContext

func (i BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationArrayOutput

type BucketIntelligentTieringConfigurationArrayInput

type BucketIntelligentTieringConfigurationArrayInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationArrayOutput() BucketIntelligentTieringConfigurationArrayOutput
	ToBucketIntelligentTieringConfigurationArrayOutputWithContext(context.Context) BucketIntelligentTieringConfigurationArrayOutput
}

BucketIntelligentTieringConfigurationArrayInput is an input type that accepts BucketIntelligentTieringConfigurationArray and BucketIntelligentTieringConfigurationArrayOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationArrayInput` via:

BucketIntelligentTieringConfigurationArray{ BucketIntelligentTieringConfigurationArgs{...} }

type BucketIntelligentTieringConfigurationArrayOutput

type BucketIntelligentTieringConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationArrayOutput) ElementType

func (BucketIntelligentTieringConfigurationArrayOutput) Index

func (BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutput

func (o BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutput() BucketIntelligentTieringConfigurationArrayOutput

func (BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutputWithContext

func (o BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationArrayOutput

type BucketIntelligentTieringConfigurationFilter

type BucketIntelligentTieringConfigurationFilter struct {
	// Object key name prefix that identifies the subset of objects to which the configuration applies.
	Prefix *string `pulumi:"prefix"`
	// All of these tags must exist in the object's tag set in order for the configuration to apply.
	Tags map[string]string `pulumi:"tags"`
}

type BucketIntelligentTieringConfigurationFilterArgs

type BucketIntelligentTieringConfigurationFilterArgs struct {
	// Object key name prefix that identifies the subset of objects to which the configuration applies.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// All of these tags must exist in the object's tag set in order for the configuration to apply.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketIntelligentTieringConfigurationFilterArgs) ElementType

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutput

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutput() BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutputWithContext

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutput

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutput() BucketIntelligentTieringConfigurationFilterPtrOutput

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationFilterPtrOutput

type BucketIntelligentTieringConfigurationFilterInput

type BucketIntelligentTieringConfigurationFilterInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationFilterOutput() BucketIntelligentTieringConfigurationFilterOutput
	ToBucketIntelligentTieringConfigurationFilterOutputWithContext(context.Context) BucketIntelligentTieringConfigurationFilterOutput
}

BucketIntelligentTieringConfigurationFilterInput is an input type that accepts BucketIntelligentTieringConfigurationFilterArgs and BucketIntelligentTieringConfigurationFilterOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationFilterInput` via:

BucketIntelligentTieringConfigurationFilterArgs{...}

type BucketIntelligentTieringConfigurationFilterOutput

type BucketIntelligentTieringConfigurationFilterOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationFilterOutput) ElementType

func (BucketIntelligentTieringConfigurationFilterOutput) Prefix

Object key name prefix that identifies the subset of objects to which the configuration applies.

func (BucketIntelligentTieringConfigurationFilterOutput) Tags

All of these tags must exist in the object's tag set in order for the configuration to apply.

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutput

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutput() BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutputWithContext

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput() BucketIntelligentTieringConfigurationFilterPtrOutput

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationFilterPtrOutput

type BucketIntelligentTieringConfigurationFilterPtrInput

type BucketIntelligentTieringConfigurationFilterPtrInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationFilterPtrOutput() BucketIntelligentTieringConfigurationFilterPtrOutput
	ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext(context.Context) BucketIntelligentTieringConfigurationFilterPtrOutput
}

BucketIntelligentTieringConfigurationFilterPtrInput is an input type that accepts BucketIntelligentTieringConfigurationFilterArgs, BucketIntelligentTieringConfigurationFilterPtr and BucketIntelligentTieringConfigurationFilterPtrOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationFilterPtrInput` via:

        BucketIntelligentTieringConfigurationFilterArgs{...}

or:

        nil

type BucketIntelligentTieringConfigurationFilterPtrOutput

type BucketIntelligentTieringConfigurationFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Elem

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ElementType

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Prefix

Object key name prefix that identifies the subset of objects to which the configuration applies.

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Tags

All of these tags must exist in the object's tag set in order for the configuration to apply.

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext

func (o BucketIntelligentTieringConfigurationFilterPtrOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationFilterPtrOutput

type BucketIntelligentTieringConfigurationInput

type BucketIntelligentTieringConfigurationInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationOutput() BucketIntelligentTieringConfigurationOutput
	ToBucketIntelligentTieringConfigurationOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationOutput
}

type BucketIntelligentTieringConfigurationMap

type BucketIntelligentTieringConfigurationMap map[string]BucketIntelligentTieringConfigurationInput

func (BucketIntelligentTieringConfigurationMap) ElementType

func (BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutput

func (i BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutput() BucketIntelligentTieringConfigurationMapOutput

func (BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutputWithContext

func (i BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationMapOutput

type BucketIntelligentTieringConfigurationMapInput

type BucketIntelligentTieringConfigurationMapInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationMapOutput() BucketIntelligentTieringConfigurationMapOutput
	ToBucketIntelligentTieringConfigurationMapOutputWithContext(context.Context) BucketIntelligentTieringConfigurationMapOutput
}

BucketIntelligentTieringConfigurationMapInput is an input type that accepts BucketIntelligentTieringConfigurationMap and BucketIntelligentTieringConfigurationMapOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationMapInput` via:

BucketIntelligentTieringConfigurationMap{ "key": BucketIntelligentTieringConfigurationArgs{...} }

type BucketIntelligentTieringConfigurationMapOutput

type BucketIntelligentTieringConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationMapOutput) ElementType

func (BucketIntelligentTieringConfigurationMapOutput) MapIndex

func (BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutput

func (o BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutput() BucketIntelligentTieringConfigurationMapOutput

func (BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutputWithContext

func (o BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationMapOutput

type BucketIntelligentTieringConfigurationOutput

type BucketIntelligentTieringConfigurationOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationOutput) Bucket

Name of the bucket this intelligent tiering configuration is associated with.

func (BucketIntelligentTieringConfigurationOutput) ElementType

func (BucketIntelligentTieringConfigurationOutput) Filter

Bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).

func (BucketIntelligentTieringConfigurationOutput) Name

Unique name used to identify the S3 Intelligent-Tiering configuration for the bucket.

func (BucketIntelligentTieringConfigurationOutput) Region

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.

func (BucketIntelligentTieringConfigurationOutput) Status

Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`.

func (BucketIntelligentTieringConfigurationOutput) Tierings

S3 Intelligent-Tiering storage class tiers of the configuration (documented below).

func (BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutput

func (o BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutput() BucketIntelligentTieringConfigurationOutput

func (BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutputWithContext

func (o BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationOutput

type BucketIntelligentTieringConfigurationState

type BucketIntelligentTieringConfigurationState struct {
	// Name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringPtrInput
	// Bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrInput
	// Unique name used to identify the S3 Intelligent-Tiering configuration for the bucket.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`.
	Status pulumi.StringPtrInput
	// S3 Intelligent-Tiering storage class tiers of the configuration (documented below).
	Tierings BucketIntelligentTieringConfigurationTieringArrayInput
}

func (BucketIntelligentTieringConfigurationState) ElementType

type BucketIntelligentTieringConfigurationTiering

type BucketIntelligentTieringConfigurationTiering struct {
	// S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_ACCESS`, `DEEP_ARCHIVE_ACCESS`.
	AccessTier string `pulumi:"accessTier"`
	// Number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier.
	Days int `pulumi:"days"`
}

type BucketIntelligentTieringConfigurationTieringArgs

type BucketIntelligentTieringConfigurationTieringArgs struct {
	// S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_ACCESS`, `DEEP_ARCHIVE_ACCESS`.
	AccessTier pulumi.StringInput `pulumi:"accessTier"`
	// Number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier.
	Days pulumi.IntInput `pulumi:"days"`
}

func (BucketIntelligentTieringConfigurationTieringArgs) ElementType

func (BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutput

func (i BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutput() BucketIntelligentTieringConfigurationTieringOutput

func (BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutputWithContext

func (i BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationTieringOutput

type BucketIntelligentTieringConfigurationTieringArray

type BucketIntelligentTieringConfigurationTieringArray []BucketIntelligentTieringConfigurationTieringInput

func (BucketIntelligentTieringConfigurationTieringArray) ElementType

func (BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutput

func (i BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutput() BucketIntelligentTieringConfigurationTieringArrayOutput

func (BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext

func (i BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationTieringArrayOutput

type BucketIntelligentTieringConfigurationTieringArrayInput

type BucketIntelligentTieringConfigurationTieringArrayInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationTieringArrayOutput() BucketIntelligentTieringConfigurationTieringArrayOutput
	ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext(context.Context) BucketIntelligentTieringConfigurationTieringArrayOutput
}

BucketIntelligentTieringConfigurationTieringArrayInput is an input type that accepts BucketIntelligentTieringConfigurationTieringArray and BucketIntelligentTieringConfigurationTieringArrayOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationTieringArrayInput` via:

BucketIntelligentTieringConfigurationTieringArray{ BucketIntelligentTieringConfigurationTieringArgs{...} }

type BucketIntelligentTieringConfigurationTieringArrayOutput

type BucketIntelligentTieringConfigurationTieringArrayOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ElementType

func (BucketIntelligentTieringConfigurationTieringArrayOutput) Index

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ToBucketIntelligentTieringConfigurationTieringArrayOutput

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext

func (o BucketIntelligentTieringConfigurationTieringArrayOutput) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationTieringArrayOutput

type BucketIntelligentTieringConfigurationTieringInput

type BucketIntelligentTieringConfigurationTieringInput interface {
	pulumi.Input

	ToBucketIntelligentTieringConfigurationTieringOutput() BucketIntelligentTieringConfigurationTieringOutput
	ToBucketIntelligentTieringConfigurationTieringOutputWithContext(context.Context) BucketIntelligentTieringConfigurationTieringOutput
}

BucketIntelligentTieringConfigurationTieringInput is an input type that accepts BucketIntelligentTieringConfigurationTieringArgs and BucketIntelligentTieringConfigurationTieringOutput values. You can construct a concrete instance of `BucketIntelligentTieringConfigurationTieringInput` via:

BucketIntelligentTieringConfigurationTieringArgs{...}

type BucketIntelligentTieringConfigurationTieringOutput

type BucketIntelligentTieringConfigurationTieringOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationTieringOutput) AccessTier

S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_ACCESS`, `DEEP_ARCHIVE_ACCESS`.

func (BucketIntelligentTieringConfigurationTieringOutput) Days

Number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier.

func (BucketIntelligentTieringConfigurationTieringOutput) ElementType

func (BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutput

func (o BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutput() BucketIntelligentTieringConfigurationTieringOutput

func (BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutputWithContext

func (o BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutputWithContext(ctx context.Context) BucketIntelligentTieringConfigurationTieringOutput

type BucketLifecycleConfiguration

type BucketLifecycleConfiguration struct {
	pulumi.CustomResourceState

	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules    BucketLifecycleConfigurationRuleArrayOutput   `pulumi:"rules"`
	Timeouts BucketLifecycleConfigurationTimeoutsPtrOutput `pulumi:"timeouts"`
	// The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
	TransitionDefaultMinimumObjectSize pulumi.StringOutput `pulumi:"transitionDefaultMinimumObjectSize"`
}

Provides an independent configuration resource for S3 bucket [lifecycle configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).

An S3 Lifecycle configuration consists of one or more Lifecycle rules. Each rule consists of the following:

* Rule metadata (`id` and `status`) * Filter identifying objects to which the rule applies * One or more transition or expiration actions

For more information see the Amazon S3 User Guide on [`Lifecycle Configuration Elements`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html).

> S3 Buckets only support a single lifecycle configuration. Declaring multiple `s3.BucketLifecycleConfiguration` resources to the same S3 Bucket will cause a perpetual difference in configuration.

> Lifecycle configurations may take some time to fully propagate to all AWS S3 systems. Running Pulumi operations shortly after creating a lifecycle configuration may result in changes that affect configuration idempotence. See the Amazon S3 User Guide on [setting lifecycle configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).

## Example Usage

### With neither a filter nor prefix specified

The Lifecycle rule applies to a subset of objects based on the key name prefix (`""`).

This configuration is intended to replicate the default behavior of the `lifecycleRule` parameter in the AWS Provider `s3.Bucket` resource prior to `v4.0`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id:     pulumi.String("rule-1"),
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying an empty filter

The Lifecycle rule applies to all objects in the bucket.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id:     pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter using key prefixes

The Lifecycle rule applies to a subset of objects based on the key name prefix (`logs/`).

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Prefix: pulumi.String("logs/"),
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

If you want to apply a Lifecycle action to a subset of objects based on different key name prefixes, specify separate rules.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Prefix: pulumi.String("logs/"),
					},
					Status: pulumi.String("Enabled"),
				},
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-2"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Prefix: pulumi.String("tmp/"),
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter based on an object tag

The Lifecycle rule specifies a filter based on a tag key and value. The rule then applies only to a subset of objects with the specific tag.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Tag: &s3.BucketLifecycleConfigurationRuleFilterTagArgs{
							Key:   pulumi.String("Name"),
							Value: pulumi.String("Staging"),
						},
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter based on multiple tags

The Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with two tags (with the specific tag keys and values). Notice `tags` is wrapped in the `and` configuration block.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationRuleFilterAndArgs{
							Tags: pulumi.StringMap{
								"Key1": pulumi.String("Value1"),
								"Key2": pulumi.String("Value2"),
							},
						},
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter based on both prefix and one or more tags

The Lifecycle rule directs Amazon S3 to perform lifecycle actions on objects with the specified prefix and two tags (with the specific tag keys and values). Notice both `prefix` and `tags` are wrapped in the `and` configuration block.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationRuleFilterAndArgs{
							Prefix: pulumi.String("logs/"),
							Tags: pulumi.StringMap{
								"Key1": pulumi.String("Value1"),
								"Key2": pulumi.String("Value2"),
							},
						},
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter based on object size

Object size values are in bytes. Maximum filter size is 5TB. Amazon S3 applies a default behavior to your Lifecycle configuration that prevents objects smaller than 128 KB from being transitioned to any storage class. You can allow smaller objects to transition by adding a minimum size (`objectSizeGreaterThan`) or a maximum size (`objectSizeLessThan`) filter that specifies a smaller size to the configuration. This example allows any object smaller than 128 KB to transition to the S3 Glacier Instant Retrieval storage class:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("Allow small object transitions"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						ObjectSizeGreaterThan: pulumi.Int(1),
					},
					Status: pulumi.String("Enabled"),
					Transitions: s3.BucketLifecycleConfigurationRuleTransitionArray{
						&s3.BucketLifecycleConfigurationRuleTransitionArgs{
							Days:         pulumi.Int(365),
							StorageClass: pulumi.String("GLACIER_IR"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Specifying a filter based on object size range and prefix

The `objectSizeGreaterThan` must be less than the `objectSizeLessThan`. Notice both the object size range and prefix are wrapped in the `and` configuration block.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfiguration(ctx, "example", &s3.BucketLifecycleConfigurationArgs{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationRuleFilterAndArgs{
							Prefix:                pulumi.String("logs/"),
							ObjectSizeGreaterThan: pulumi.Int(500),
							ObjectSizeLessThan:    pulumi.Int(64000),
						},
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Creating a Lifecycle Configuration for a bucket with versioning

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "bucket_acl", &s3.BucketAclArgs{
			Bucket: bucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLifecycleConfiguration(ctx, "bucket-config", &s3.BucketLifecycleConfigurationArgs{
			Bucket: bucket.ID(),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("log"),
					Expiration: &s3.BucketLifecycleConfigurationRuleExpirationArgs{
						Days: pulumi.Int(90),
					},
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationRuleFilterAndArgs{
							Prefix: pulumi.String("log/"),
							Tags: pulumi.StringMap{
								"rule":      pulumi.String("log"),
								"autoclean": pulumi.String("true"),
							},
						},
					},
					Status: pulumi.String("Enabled"),
					Transitions: s3.BucketLifecycleConfigurationRuleTransitionArray{
						&s3.BucketLifecycleConfigurationRuleTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleConfigurationRuleTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
				},
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("tmp"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Prefix: pulumi.String("tmp/"),
					},
					Expiration: &s3.BucketLifecycleConfigurationRuleExpirationArgs{
						Date: pulumi.String("2023-01-13T00:00:00Z"),
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		versioningBucket, err := s3.NewBucket(ctx, "versioning_bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-versioning-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "versioning_bucket_acl", &s3.BucketAclArgs{
			Bucket: versioningBucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		versioning, err := s3.NewBucketVersioning(ctx, "versioning", &s3.BucketVersioningArgs{
			Bucket: versioningBucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLifecycleConfiguration(ctx, "versioning-bucket-config", &s3.BucketLifecycleConfigurationArgs{
			Bucket: versioningBucket.ID(),
			Rules: s3.BucketLifecycleConfigurationRuleArray{
				&s3.BucketLifecycleConfigurationRuleArgs{
					Id: pulumi.String("config"),
					Filter: &s3.BucketLifecycleConfigurationRuleFilterArgs{
						Prefix: pulumi.String("config/"),
					},
					NoncurrentVersionExpiration: &s3.BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{
						NoncurrentDays: pulumi.Int(90),
					},
					NoncurrentVersionTransitions: s3.BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray{
						&s3.BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs{
							NoncurrentDays: pulumi.Int(30),
							StorageClass:   pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs{
							NoncurrentDays: pulumi.Int(60),
							StorageClass:   pulumi.String("GLACIER"),
						},
					},
					Status: pulumi.String("Enabled"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			versioning,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

Using `pulumi import`, import an S3 bucket lifecycle configuration using the `bucket` or the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketLifecycleConfiguration:BucketLifecycleConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketLifecycleConfiguration:BucketLifecycleConfiguration example bucket-name,123456789012 ```

func GetBucketLifecycleConfiguration

func GetBucketLifecycleConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketLifecycleConfigurationState, opts ...pulumi.ResourceOption) (*BucketLifecycleConfiguration, error)

GetBucketLifecycleConfiguration gets an existing BucketLifecycleConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketLifecycleConfiguration

func NewBucketLifecycleConfiguration(ctx *pulumi.Context,
	name string, args *BucketLifecycleConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketLifecycleConfiguration, error)

NewBucketLifecycleConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketLifecycleConfiguration) ElementType

func (*BucketLifecycleConfiguration) ElementType() reflect.Type

func (*BucketLifecycleConfiguration) ToBucketLifecycleConfigurationOutput

func (i *BucketLifecycleConfiguration) ToBucketLifecycleConfigurationOutput() BucketLifecycleConfigurationOutput

func (*BucketLifecycleConfiguration) ToBucketLifecycleConfigurationOutputWithContext

func (i *BucketLifecycleConfiguration) ToBucketLifecycleConfigurationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationOutput

type BucketLifecycleConfigurationArgs

type BucketLifecycleConfigurationArgs struct {
	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules    BucketLifecycleConfigurationRuleArrayInput
	Timeouts BucketLifecycleConfigurationTimeoutsPtrInput
	// The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
	TransitionDefaultMinimumObjectSize pulumi.StringPtrInput
}

The set of arguments for constructing a BucketLifecycleConfiguration resource.

func (BucketLifecycleConfigurationArgs) ElementType

type BucketLifecycleConfigurationArray

type BucketLifecycleConfigurationArray []BucketLifecycleConfigurationInput

func (BucketLifecycleConfigurationArray) ElementType

func (BucketLifecycleConfigurationArray) ToBucketLifecycleConfigurationArrayOutput

func (i BucketLifecycleConfigurationArray) ToBucketLifecycleConfigurationArrayOutput() BucketLifecycleConfigurationArrayOutput

func (BucketLifecycleConfigurationArray) ToBucketLifecycleConfigurationArrayOutputWithContext

func (i BucketLifecycleConfigurationArray) ToBucketLifecycleConfigurationArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationArrayOutput

type BucketLifecycleConfigurationArrayInput

type BucketLifecycleConfigurationArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationArrayOutput() BucketLifecycleConfigurationArrayOutput
	ToBucketLifecycleConfigurationArrayOutputWithContext(context.Context) BucketLifecycleConfigurationArrayOutput
}

BucketLifecycleConfigurationArrayInput is an input type that accepts BucketLifecycleConfigurationArray and BucketLifecycleConfigurationArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationArrayInput` via:

BucketLifecycleConfigurationArray{ BucketLifecycleConfigurationArgs{...} }

type BucketLifecycleConfigurationArrayOutput

type BucketLifecycleConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationArrayOutput) ElementType

func (BucketLifecycleConfigurationArrayOutput) Index

func (BucketLifecycleConfigurationArrayOutput) ToBucketLifecycleConfigurationArrayOutput

func (o BucketLifecycleConfigurationArrayOutput) ToBucketLifecycleConfigurationArrayOutput() BucketLifecycleConfigurationArrayOutput

func (BucketLifecycleConfigurationArrayOutput) ToBucketLifecycleConfigurationArrayOutputWithContext

func (o BucketLifecycleConfigurationArrayOutput) ToBucketLifecycleConfigurationArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationArrayOutput

type BucketLifecycleConfigurationInput

type BucketLifecycleConfigurationInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationOutput() BucketLifecycleConfigurationOutput
	ToBucketLifecycleConfigurationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationOutput
}

type BucketLifecycleConfigurationMap

type BucketLifecycleConfigurationMap map[string]BucketLifecycleConfigurationInput

func (BucketLifecycleConfigurationMap) ElementType

func (BucketLifecycleConfigurationMap) ToBucketLifecycleConfigurationMapOutput

func (i BucketLifecycleConfigurationMap) ToBucketLifecycleConfigurationMapOutput() BucketLifecycleConfigurationMapOutput

func (BucketLifecycleConfigurationMap) ToBucketLifecycleConfigurationMapOutputWithContext

func (i BucketLifecycleConfigurationMap) ToBucketLifecycleConfigurationMapOutputWithContext(ctx context.Context) BucketLifecycleConfigurationMapOutput

type BucketLifecycleConfigurationMapInput

type BucketLifecycleConfigurationMapInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationMapOutput() BucketLifecycleConfigurationMapOutput
	ToBucketLifecycleConfigurationMapOutputWithContext(context.Context) BucketLifecycleConfigurationMapOutput
}

BucketLifecycleConfigurationMapInput is an input type that accepts BucketLifecycleConfigurationMap and BucketLifecycleConfigurationMapOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationMapInput` via:

BucketLifecycleConfigurationMap{ "key": BucketLifecycleConfigurationArgs{...} }

type BucketLifecycleConfigurationMapOutput

type BucketLifecycleConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationMapOutput) ElementType

func (BucketLifecycleConfigurationMapOutput) MapIndex

func (BucketLifecycleConfigurationMapOutput) ToBucketLifecycleConfigurationMapOutput

func (o BucketLifecycleConfigurationMapOutput) ToBucketLifecycleConfigurationMapOutput() BucketLifecycleConfigurationMapOutput

func (BucketLifecycleConfigurationMapOutput) ToBucketLifecycleConfigurationMapOutputWithContext

func (o BucketLifecycleConfigurationMapOutput) ToBucketLifecycleConfigurationMapOutputWithContext(ctx context.Context) BucketLifecycleConfigurationMapOutput

type BucketLifecycleConfigurationOutput

type BucketLifecycleConfigurationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationOutput) Bucket

Name of the source S3 bucket you want Amazon S3 to monitor.

func (BucketLifecycleConfigurationOutput) ElementType

func (BucketLifecycleConfigurationOutput) ExpectedBucketOwner

func (o BucketLifecycleConfigurationOutput) ExpectedBucketOwner() pulumi.StringOutput

Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

func (BucketLifecycleConfigurationOutput) Region

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.

func (BucketLifecycleConfigurationOutput) Rules

List of configuration blocks describing the rules managing the replication. See below.

func (BucketLifecycleConfigurationOutput) Timeouts

func (BucketLifecycleConfigurationOutput) ToBucketLifecycleConfigurationOutput

func (o BucketLifecycleConfigurationOutput) ToBucketLifecycleConfigurationOutput() BucketLifecycleConfigurationOutput

func (BucketLifecycleConfigurationOutput) ToBucketLifecycleConfigurationOutputWithContext

func (o BucketLifecycleConfigurationOutput) ToBucketLifecycleConfigurationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationOutput

func (BucketLifecycleConfigurationOutput) TransitionDefaultMinimumObjectSize

func (o BucketLifecycleConfigurationOutput) TransitionDefaultMinimumObjectSize() pulumi.StringOutput

The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.

type BucketLifecycleConfigurationRule

type BucketLifecycleConfigurationRule struct {
	// Configuration block that specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. See below.
	AbortIncompleteMultipartUpload *BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload `pulumi:"abortIncompleteMultipartUpload"`
	// Configuration block that specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker. See below.
	Expiration *BucketLifecycleConfigurationRuleExpiration `pulumi:"expiration"`
	// Configuration block used to identify objects that a Lifecycle Rule applies to.
	// See below.
	// If not specified, the `rule` will default to using `prefix`.
	// One of `filter` or `prefix` should be specified.
	Filter *BucketLifecycleConfigurationRuleFilter `pulumi:"filter"`
	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	Id string `pulumi:"id"`
	// Configuration block that specifies when noncurrent object versions expire. See below.
	NoncurrentVersionExpiration *BucketLifecycleConfigurationRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"`
	// Set of configuration blocks that specify the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. See below.
	NoncurrentVersionTransitions []BucketLifecycleConfigurationRuleNoncurrentVersionTransition `pulumi:"noncurrentVersionTransitions"`
	// **DEPRECATED** Use `filter` instead.
	// This has been deprecated by Amazon S3.
	// Prefix identifying one or more objects to which the rule applies.
	// Defaults to an empty string (`""`) if `filter` is not specified.
	// One of `prefix` or `filter` should be specified.
	//
	// Deprecated: Specify a prefix using 'filter' instead
	Prefix *string `pulumi:"prefix"`
	// Whether the rule is currently being applied. Valid values: `Enabled` or `Disabled`.
	Status string `pulumi:"status"`
	// Set of configuration blocks that specify when an Amazon S3 object transitions to a specified storage class. See below.
	Transitions []BucketLifecycleConfigurationRuleTransition `pulumi:"transitions"`
}

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload struct {
	// Number of days after which Amazon S3 aborts an incomplete multipart upload.
	DaysAfterInitiation *int `pulumi:"daysAfterInitiation"`
}

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs struct {
	// Number of days after which Amazon S3 aborts an incomplete multipart upload.
	DaysAfterInitiation pulumi.IntPtrInput `pulumi:"daysAfterInitiation"`
}

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ElementType

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputWithContext

func (i BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadInput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput() BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput
	ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputWithContext(context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput
}

BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadInput is an input type that accepts BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs and BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadInput` via:

BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs{...}

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) DaysAfterInitiation

Number of days after which Amazon S3 aborts an incomplete multipart upload.

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ElementType

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputWithContext

func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrInput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput() BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput
	ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput
}

BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrInput is an input type that accepts BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs, BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtr and BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrInput` via:

        BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) DaysAfterInitiation

Number of days after which Amazon S3 aborts an incomplete multipart upload.

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) Elem

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput) ToBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationRuleArgs

type BucketLifecycleConfigurationRuleArgs struct {
	// Configuration block that specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. See below.
	AbortIncompleteMultipartUpload BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadPtrInput `pulumi:"abortIncompleteMultipartUpload"`
	// Configuration block that specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker. See below.
	Expiration BucketLifecycleConfigurationRuleExpirationPtrInput `pulumi:"expiration"`
	// Configuration block used to identify objects that a Lifecycle Rule applies to.
	// See below.
	// If not specified, the `rule` will default to using `prefix`.
	// One of `filter` or `prefix` should be specified.
	Filter BucketLifecycleConfigurationRuleFilterPtrInput `pulumi:"filter"`
	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	Id pulumi.StringInput `pulumi:"id"`
	// Configuration block that specifies when noncurrent object versions expire. See below.
	NoncurrentVersionExpiration BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"`
	// Set of configuration blocks that specify the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. See below.
	NoncurrentVersionTransitions BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayInput `pulumi:"noncurrentVersionTransitions"`
	// **DEPRECATED** Use `filter` instead.
	// This has been deprecated by Amazon S3.
	// Prefix identifying one or more objects to which the rule applies.
	// Defaults to an empty string (`""`) if `filter` is not specified.
	// One of `prefix` or `filter` should be specified.
	//
	// Deprecated: Specify a prefix using 'filter' instead
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Whether the rule is currently being applied. Valid values: `Enabled` or `Disabled`.
	Status pulumi.StringInput `pulumi:"status"`
	// Set of configuration blocks that specify when an Amazon S3 object transitions to a specified storage class. See below.
	Transitions BucketLifecycleConfigurationRuleTransitionArrayInput `pulumi:"transitions"`
}

func (BucketLifecycleConfigurationRuleArgs) ElementType

func (BucketLifecycleConfigurationRuleArgs) ToBucketLifecycleConfigurationRuleOutput

func (i BucketLifecycleConfigurationRuleArgs) ToBucketLifecycleConfigurationRuleOutput() BucketLifecycleConfigurationRuleOutput

func (BucketLifecycleConfigurationRuleArgs) ToBucketLifecycleConfigurationRuleOutputWithContext

func (i BucketLifecycleConfigurationRuleArgs) ToBucketLifecycleConfigurationRuleOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleOutput

type BucketLifecycleConfigurationRuleArray

type BucketLifecycleConfigurationRuleArray []BucketLifecycleConfigurationRuleInput

func (BucketLifecycleConfigurationRuleArray) ElementType

func (BucketLifecycleConfigurationRuleArray) ToBucketLifecycleConfigurationRuleArrayOutput

func (i BucketLifecycleConfigurationRuleArray) ToBucketLifecycleConfigurationRuleArrayOutput() BucketLifecycleConfigurationRuleArrayOutput

func (BucketLifecycleConfigurationRuleArray) ToBucketLifecycleConfigurationRuleArrayOutputWithContext

func (i BucketLifecycleConfigurationRuleArray) ToBucketLifecycleConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleArrayOutput

type BucketLifecycleConfigurationRuleArrayInput

type BucketLifecycleConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleArrayOutput() BucketLifecycleConfigurationRuleArrayOutput
	ToBucketLifecycleConfigurationRuleArrayOutputWithContext(context.Context) BucketLifecycleConfigurationRuleArrayOutput
}

BucketLifecycleConfigurationRuleArrayInput is an input type that accepts BucketLifecycleConfigurationRuleArray and BucketLifecycleConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleArrayInput` via:

BucketLifecycleConfigurationRuleArray{ BucketLifecycleConfigurationRuleArgs{...} }

type BucketLifecycleConfigurationRuleArrayOutput

type BucketLifecycleConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleArrayOutput) ElementType

func (BucketLifecycleConfigurationRuleArrayOutput) Index

func (BucketLifecycleConfigurationRuleArrayOutput) ToBucketLifecycleConfigurationRuleArrayOutput

func (o BucketLifecycleConfigurationRuleArrayOutput) ToBucketLifecycleConfigurationRuleArrayOutput() BucketLifecycleConfigurationRuleArrayOutput

func (BucketLifecycleConfigurationRuleArrayOutput) ToBucketLifecycleConfigurationRuleArrayOutputWithContext

func (o BucketLifecycleConfigurationRuleArrayOutput) ToBucketLifecycleConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleArrayOutput

type BucketLifecycleConfigurationRuleExpiration

type BucketLifecycleConfigurationRuleExpiration struct {
	// Date the object is to be moved or deleted. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.
	Date *string `pulumi:"date"`
	// Lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
	Days *int `pulumi:"days"`
	// Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to `true`, the delete marker will be expired; if set to `false` the policy takes no action.
	ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"`
}

type BucketLifecycleConfigurationRuleExpirationArgs

type BucketLifecycleConfigurationRuleExpirationArgs struct {
	// Date the object is to be moved or deleted. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.
	Date pulumi.StringPtrInput `pulumi:"date"`
	// Lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to `true`, the delete marker will be expired; if set to `false` the policy takes no action.
	ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"`
}

func (BucketLifecycleConfigurationRuleExpirationArgs) ElementType

func (BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationOutput

func (i BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationOutput() BucketLifecycleConfigurationRuleExpirationOutput

func (BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationOutputWithContext

func (i BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleExpirationOutput

func (BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationPtrOutput

func (i BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationPtrOutput() BucketLifecycleConfigurationRuleExpirationPtrOutput

func (BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleExpirationArgs) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleExpirationPtrOutput

type BucketLifecycleConfigurationRuleExpirationInput

type BucketLifecycleConfigurationRuleExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleExpirationOutput() BucketLifecycleConfigurationRuleExpirationOutput
	ToBucketLifecycleConfigurationRuleExpirationOutputWithContext(context.Context) BucketLifecycleConfigurationRuleExpirationOutput
}

BucketLifecycleConfigurationRuleExpirationInput is an input type that accepts BucketLifecycleConfigurationRuleExpirationArgs and BucketLifecycleConfigurationRuleExpirationOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleExpirationInput` via:

BucketLifecycleConfigurationRuleExpirationArgs{...}

type BucketLifecycleConfigurationRuleExpirationOutput

type BucketLifecycleConfigurationRuleExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleExpirationOutput) Date

Date the object is to be moved or deleted. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.

func (BucketLifecycleConfigurationRuleExpirationOutput) Days

Lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

func (BucketLifecycleConfigurationRuleExpirationOutput) ElementType

func (BucketLifecycleConfigurationRuleExpirationOutput) ExpiredObjectDeleteMarker

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to `true`, the delete marker will be expired; if set to `false` the policy takes no action.

func (BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationOutput

func (o BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationOutput() BucketLifecycleConfigurationRuleExpirationOutput

func (BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationOutputWithContext

func (o BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleExpirationOutput

func (BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutput

func (o BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutput() BucketLifecycleConfigurationRuleExpirationPtrOutput

func (BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleExpirationOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleExpirationPtrOutput

type BucketLifecycleConfigurationRuleExpirationPtrInput

type BucketLifecycleConfigurationRuleExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleExpirationPtrOutput() BucketLifecycleConfigurationRuleExpirationPtrOutput
	ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleExpirationPtrOutput
}

BucketLifecycleConfigurationRuleExpirationPtrInput is an input type that accepts BucketLifecycleConfigurationRuleExpirationArgs, BucketLifecycleConfigurationRuleExpirationPtr and BucketLifecycleConfigurationRuleExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleExpirationPtrInput` via:

        BucketLifecycleConfigurationRuleExpirationArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleExpirationPtrOutput

type BucketLifecycleConfigurationRuleExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) Date

Date the object is to be moved or deleted. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) Days

Lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) Elem

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) ExpiredObjectDeleteMarker

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to `true`, the delete marker will be expired; if set to `false` the policy takes no action.

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutput

func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutput() BucketLifecycleConfigurationRuleExpirationPtrOutput

func (BucketLifecycleConfigurationRuleExpirationPtrOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleExpirationPtrOutput) ToBucketLifecycleConfigurationRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleExpirationPtrOutput

type BucketLifecycleConfigurationRuleFilter

type BucketLifecycleConfigurationRuleFilter struct {
	// Configuration block used to apply a logical `AND` to two or more predicates. See below. The Lifecycle Rule will apply to any object matching all the predicates configured inside the `and` block.
	And *BucketLifecycleConfigurationRuleFilterAnd `pulumi:"and"`
	// Minimum object size (in bytes) to which the rule applies.
	ObjectSizeGreaterThan *int `pulumi:"objectSizeGreaterThan"`
	// Maximum object size (in bytes) to which the rule applies.
	ObjectSizeLessThan *int `pulumi:"objectSizeLessThan"`
	// Prefix identifying one or more objects to which the rule applies. Defaults to an empty string (`""`) if not specified.
	Prefix *string `pulumi:"prefix"`
	// Configuration block for specifying a tag key and value. See below.
	Tag *BucketLifecycleConfigurationRuleFilterTag `pulumi:"tag"`
}

type BucketLifecycleConfigurationRuleFilterAnd

type BucketLifecycleConfigurationRuleFilterAnd struct {
	// Minimum object size to which the rule applies. Value must be at least `0` if specified. Defaults to 128000 (128 KB) for all `storageClass` values unless `transitionDefaultMinimumObjectSize` specifies otherwise.
	ObjectSizeGreaterThan *int `pulumi:"objectSizeGreaterThan"`
	// Maximum object size to which the rule applies. Value must be at least `1` if specified.
	ObjectSizeLessThan *int `pulumi:"objectSizeLessThan"`
	// Prefix identifying one or more objects to which the rule applies.
	Prefix *string `pulumi:"prefix"`
	// Key-value map of resource tags.
	// All of these tags must exist in the object's tag set in order for the rule to apply.
	// If set, must contain at least one key-value pair.
	Tags map[string]string `pulumi:"tags"`
}

type BucketLifecycleConfigurationRuleFilterAndArgs

type BucketLifecycleConfigurationRuleFilterAndArgs struct {
	// Minimum object size to which the rule applies. Value must be at least `0` if specified. Defaults to 128000 (128 KB) for all `storageClass` values unless `transitionDefaultMinimumObjectSize` specifies otherwise.
	ObjectSizeGreaterThan pulumi.IntPtrInput `pulumi:"objectSizeGreaterThan"`
	// Maximum object size to which the rule applies. Value must be at least `1` if specified.
	ObjectSizeLessThan pulumi.IntPtrInput `pulumi:"objectSizeLessThan"`
	// Prefix identifying one or more objects to which the rule applies.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Key-value map of resource tags.
	// All of these tags must exist in the object's tag set in order for the rule to apply.
	// If set, must contain at least one key-value pair.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketLifecycleConfigurationRuleFilterAndArgs) ElementType

func (BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndOutput

func (i BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndOutput() BucketLifecycleConfigurationRuleFilterAndOutput

func (BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterAndOutput

func (BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput

func (i BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput() BucketLifecycleConfigurationRuleFilterAndPtrOutput

func (BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterAndArgs) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterAndPtrOutput

type BucketLifecycleConfigurationRuleFilterAndInput

type BucketLifecycleConfigurationRuleFilterAndInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterAndOutput() BucketLifecycleConfigurationRuleFilterAndOutput
	ToBucketLifecycleConfigurationRuleFilterAndOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterAndOutput
}

BucketLifecycleConfigurationRuleFilterAndInput is an input type that accepts BucketLifecycleConfigurationRuleFilterAndArgs and BucketLifecycleConfigurationRuleFilterAndOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterAndInput` via:

BucketLifecycleConfigurationRuleFilterAndArgs{...}

type BucketLifecycleConfigurationRuleFilterAndOutput

type BucketLifecycleConfigurationRuleFilterAndOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterAndOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterAndOutput) ObjectSizeGreaterThan

Minimum object size to which the rule applies. Value must be at least `0` if specified. Defaults to 128000 (128 KB) for all `storageClass` values unless `transitionDefaultMinimumObjectSize` specifies otherwise.

func (BucketLifecycleConfigurationRuleFilterAndOutput) ObjectSizeLessThan

Maximum object size to which the rule applies. Value must be at least `1` if specified.

func (BucketLifecycleConfigurationRuleFilterAndOutput) Prefix

Prefix identifying one or more objects to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterAndOutput) Tags

Key-value map of resource tags. All of these tags must exist in the object's tag set in order for the rule to apply. If set, must contain at least one key-value pair.

func (BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndOutput

func (o BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndOutput() BucketLifecycleConfigurationRuleFilterAndOutput

func (BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterAndOutput

func (BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput

func (o BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput() BucketLifecycleConfigurationRuleFilterAndPtrOutput

func (BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterAndOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterAndPtrOutput

type BucketLifecycleConfigurationRuleFilterAndPtrInput

type BucketLifecycleConfigurationRuleFilterAndPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterAndPtrOutput() BucketLifecycleConfigurationRuleFilterAndPtrOutput
	ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterAndPtrOutput
}

BucketLifecycleConfigurationRuleFilterAndPtrInput is an input type that accepts BucketLifecycleConfigurationRuleFilterAndArgs, BucketLifecycleConfigurationRuleFilterAndPtr and BucketLifecycleConfigurationRuleFilterAndPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterAndPtrInput` via:

        BucketLifecycleConfigurationRuleFilterAndArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleFilterAndPtrOutput

type BucketLifecycleConfigurationRuleFilterAndPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) Elem

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) ObjectSizeGreaterThan

Minimum object size to which the rule applies. Value must be at least `0` if specified. Defaults to 128000 (128 KB) for all `storageClass` values unless `transitionDefaultMinimumObjectSize` specifies otherwise.

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) ObjectSizeLessThan

Maximum object size to which the rule applies. Value must be at least `1` if specified.

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) Prefix

Prefix identifying one or more objects to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) Tags

Key-value map of resource tags. All of these tags must exist in the object's tag set in order for the rule to apply. If set, must contain at least one key-value pair.

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput

func (o BucketLifecycleConfigurationRuleFilterAndPtrOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutput() BucketLifecycleConfigurationRuleFilterAndPtrOutput

func (BucketLifecycleConfigurationRuleFilterAndPtrOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterAndPtrOutput) ToBucketLifecycleConfigurationRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterAndPtrOutput

type BucketLifecycleConfigurationRuleFilterArgs

type BucketLifecycleConfigurationRuleFilterArgs struct {
	// Configuration block used to apply a logical `AND` to two or more predicates. See below. The Lifecycle Rule will apply to any object matching all the predicates configured inside the `and` block.
	And BucketLifecycleConfigurationRuleFilterAndPtrInput `pulumi:"and"`
	// Minimum object size (in bytes) to which the rule applies.
	ObjectSizeGreaterThan pulumi.IntPtrInput `pulumi:"objectSizeGreaterThan"`
	// Maximum object size (in bytes) to which the rule applies.
	ObjectSizeLessThan pulumi.IntPtrInput `pulumi:"objectSizeLessThan"`
	// Prefix identifying one or more objects to which the rule applies. Defaults to an empty string (`""`) if not specified.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Configuration block for specifying a tag key and value. See below.
	Tag BucketLifecycleConfigurationRuleFilterTagPtrInput `pulumi:"tag"`
}

func (BucketLifecycleConfigurationRuleFilterArgs) ElementType

func (BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterOutput

func (i BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterOutput() BucketLifecycleConfigurationRuleFilterOutput

func (BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterOutput

func (BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterPtrOutput

func (i BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterPtrOutput() BucketLifecycleConfigurationRuleFilterPtrOutput

func (BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterArgs) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterPtrOutput

type BucketLifecycleConfigurationRuleFilterInput

type BucketLifecycleConfigurationRuleFilterInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterOutput() BucketLifecycleConfigurationRuleFilterOutput
	ToBucketLifecycleConfigurationRuleFilterOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterOutput
}

BucketLifecycleConfigurationRuleFilterInput is an input type that accepts BucketLifecycleConfigurationRuleFilterArgs and BucketLifecycleConfigurationRuleFilterOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterInput` via:

BucketLifecycleConfigurationRuleFilterArgs{...}

type BucketLifecycleConfigurationRuleFilterOutput

type BucketLifecycleConfigurationRuleFilterOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterOutput) And

Configuration block used to apply a logical `AND` to two or more predicates. See below. The Lifecycle Rule will apply to any object matching all the predicates configured inside the `and` block.

func (BucketLifecycleConfigurationRuleFilterOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterOutput) ObjectSizeGreaterThan

Minimum object size (in bytes) to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterOutput) ObjectSizeLessThan

Maximum object size (in bytes) to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterOutput) Prefix

Prefix identifying one or more objects to which the rule applies. Defaults to an empty string (`""`) if not specified.

func (BucketLifecycleConfigurationRuleFilterOutput) Tag

Configuration block for specifying a tag key and value. See below.

func (BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterOutput

func (o BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterOutput() BucketLifecycleConfigurationRuleFilterOutput

func (BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterOutput

func (BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutput

func (o BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutput() BucketLifecycleConfigurationRuleFilterPtrOutput

func (BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterPtrOutput

type BucketLifecycleConfigurationRuleFilterPtrInput

type BucketLifecycleConfigurationRuleFilterPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterPtrOutput() BucketLifecycleConfigurationRuleFilterPtrOutput
	ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterPtrOutput
}

BucketLifecycleConfigurationRuleFilterPtrInput is an input type that accepts BucketLifecycleConfigurationRuleFilterArgs, BucketLifecycleConfigurationRuleFilterPtr and BucketLifecycleConfigurationRuleFilterPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterPtrInput` via:

        BucketLifecycleConfigurationRuleFilterArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleFilterPtrOutput

type BucketLifecycleConfigurationRuleFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterPtrOutput) And

Configuration block used to apply a logical `AND` to two or more predicates. See below. The Lifecycle Rule will apply to any object matching all the predicates configured inside the `and` block.

func (BucketLifecycleConfigurationRuleFilterPtrOutput) Elem

func (BucketLifecycleConfigurationRuleFilterPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterPtrOutput) ObjectSizeGreaterThan

Minimum object size (in bytes) to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterPtrOutput) ObjectSizeLessThan

Maximum object size (in bytes) to which the rule applies.

func (BucketLifecycleConfigurationRuleFilterPtrOutput) Prefix

Prefix identifying one or more objects to which the rule applies. Defaults to an empty string (`""`) if not specified.

func (BucketLifecycleConfigurationRuleFilterPtrOutput) Tag

Configuration block for specifying a tag key and value. See below.

func (BucketLifecycleConfigurationRuleFilterPtrOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutput

func (o BucketLifecycleConfigurationRuleFilterPtrOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutput() BucketLifecycleConfigurationRuleFilterPtrOutput

func (BucketLifecycleConfigurationRuleFilterPtrOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterPtrOutput) ToBucketLifecycleConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterPtrOutput

type BucketLifecycleConfigurationRuleFilterTag

type BucketLifecycleConfigurationRuleFilterTag struct {
	// Name of the object key.
	Key string `pulumi:"key"`
	// Value of the tag.
	Value string `pulumi:"value"`
}

type BucketLifecycleConfigurationRuleFilterTagArgs

type BucketLifecycleConfigurationRuleFilterTagArgs struct {
	// Name of the object key.
	Key pulumi.StringInput `pulumi:"key"`
	// Value of the tag.
	Value pulumi.StringInput `pulumi:"value"`
}

func (BucketLifecycleConfigurationRuleFilterTagArgs) ElementType

func (BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagOutput

func (i BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagOutput() BucketLifecycleConfigurationRuleFilterTagOutput

func (BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterTagOutput

func (BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput

func (i BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput() BucketLifecycleConfigurationRuleFilterTagPtrOutput

func (BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleFilterTagArgs) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterTagPtrOutput

type BucketLifecycleConfigurationRuleFilterTagInput

type BucketLifecycleConfigurationRuleFilterTagInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterTagOutput() BucketLifecycleConfigurationRuleFilterTagOutput
	ToBucketLifecycleConfigurationRuleFilterTagOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterTagOutput
}

BucketLifecycleConfigurationRuleFilterTagInput is an input type that accepts BucketLifecycleConfigurationRuleFilterTagArgs and BucketLifecycleConfigurationRuleFilterTagOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterTagInput` via:

BucketLifecycleConfigurationRuleFilterTagArgs{...}

type BucketLifecycleConfigurationRuleFilterTagOutput

type BucketLifecycleConfigurationRuleFilterTagOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterTagOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterTagOutput) Key

Name of the object key.

func (BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagOutput

func (o BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagOutput() BucketLifecycleConfigurationRuleFilterTagOutput

func (BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterTagOutput

func (BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput

func (o BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput() BucketLifecycleConfigurationRuleFilterTagPtrOutput

func (BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterTagOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterTagPtrOutput

func (BucketLifecycleConfigurationRuleFilterTagOutput) Value

Value of the tag.

type BucketLifecycleConfigurationRuleFilterTagPtrInput

type BucketLifecycleConfigurationRuleFilterTagPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleFilterTagPtrOutput() BucketLifecycleConfigurationRuleFilterTagPtrOutput
	ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleFilterTagPtrOutput
}

BucketLifecycleConfigurationRuleFilterTagPtrInput is an input type that accepts BucketLifecycleConfigurationRuleFilterTagArgs, BucketLifecycleConfigurationRuleFilterTagPtr and BucketLifecycleConfigurationRuleFilterTagPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleFilterTagPtrInput` via:

        BucketLifecycleConfigurationRuleFilterTagArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleFilterTagPtrOutput

type BucketLifecycleConfigurationRuleFilterTagPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) Elem

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) Key

Name of the object key.

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput

func (o BucketLifecycleConfigurationRuleFilterTagPtrOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutput() BucketLifecycleConfigurationRuleFilterTagPtrOutput

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleFilterTagPtrOutput) ToBucketLifecycleConfigurationRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleFilterTagPtrOutput

func (BucketLifecycleConfigurationRuleFilterTagPtrOutput) Value

Value of the tag.

type BucketLifecycleConfigurationRuleInput

type BucketLifecycleConfigurationRuleInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleOutput() BucketLifecycleConfigurationRuleOutput
	ToBucketLifecycleConfigurationRuleOutputWithContext(context.Context) BucketLifecycleConfigurationRuleOutput
}

BucketLifecycleConfigurationRuleInput is an input type that accepts BucketLifecycleConfigurationRuleArgs and BucketLifecycleConfigurationRuleOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleInput` via:

BucketLifecycleConfigurationRuleArgs{...}

type BucketLifecycleConfigurationRuleNoncurrentVersionExpiration

type BucketLifecycleConfigurationRuleNoncurrentVersionExpiration struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions *int `pulumi:"newerNoncurrentVersions"`
	// Number of days an object is noncurrent before Amazon S3 can perform the associated action. Must be a positive integer.
	NoncurrentDays int `pulumi:"noncurrentDays"`
}

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions pulumi.IntPtrInput `pulumi:"newerNoncurrentVersions"`
	// Number of days an object is noncurrent before Amazon S3 can perform the associated action. Must be a positive integer.
	NoncurrentDays pulumi.IntInput `pulumi:"noncurrentDays"`
}

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputWithContext

func (i BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext

func (i BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationInput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput() BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput
	ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputWithContext(context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput
}

BucketLifecycleConfigurationRuleNoncurrentVersionExpirationInput is an input type that accepts BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs and BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleNoncurrentVersionExpirationInput` via:

BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{...}

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) NewerNoncurrentVersions

Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) NoncurrentDays

Number of days an object is noncurrent before Amazon S3 can perform the associated action. Must be a positive integer.

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputWithContext

func (o BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrInput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput() BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput
	ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput
}

BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrInput is an input type that accepts BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs, BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtr and BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrInput` via:

        BucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{...}

or:

        nil

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) Elem

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) NewerNoncurrentVersions

Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) NoncurrentDays

Number of days an object is noncurrent before Amazon S3 can perform the associated action. Must be a positive integer.

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransition

type BucketLifecycleConfigurationRuleNoncurrentVersionTransition struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions *int `pulumi:"newerNoncurrentVersions"`
	// Number of days an object is noncurrent before Amazon S3 can perform the associated action.
	NoncurrentDays int `pulumi:"noncurrentDays"`
	// Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.
	StorageClass string `pulumi:"storageClass"`
}

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions pulumi.IntPtrInput `pulumi:"newerNoncurrentVersions"`
	// Number of days an object is noncurrent before Amazon S3 can perform the associated action.
	NoncurrentDays pulumi.IntInput `pulumi:"noncurrentDays"`
	// Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputWithContext

func (i BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray []BucketLifecycleConfigurationRuleNoncurrentVersionTransitionInput

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutputWithContext

func (i BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayInput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput() BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput
	ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutputWithContext(context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput
}

BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayInput is an input type that accepts BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray and BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayInput` via:

BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray{ BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs{...} }

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutputWithContext

func (o BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionInput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput() BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput
	ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputWithContext(context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput
}

BucketLifecycleConfigurationRuleNoncurrentVersionTransitionInput is an input type that accepts BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs and BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleNoncurrentVersionTransitionInput` via:

BucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs{...}

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) ElementType

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) NewerNoncurrentVersions

Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) NoncurrentDays

Number of days an object is noncurrent before Amazon S3 can perform the associated action.

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) StorageClass

Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput

func (BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputWithContext

func (o BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationRuleOutput

type BucketLifecycleConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleOutput) AbortIncompleteMultipartUpload

Configuration block that specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. See below.

func (BucketLifecycleConfigurationRuleOutput) ElementType

func (BucketLifecycleConfigurationRuleOutput) Expiration

Configuration block that specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker. See below.

func (BucketLifecycleConfigurationRuleOutput) Filter

Configuration block used to identify objects that a Lifecycle Rule applies to. See below. If not specified, the `rule` will default to using `prefix`. One of `filter` or `prefix` should be specified.

func (BucketLifecycleConfigurationRuleOutput) Id

Unique identifier for the rule. The value cannot be longer than 255 characters.

func (BucketLifecycleConfigurationRuleOutput) NoncurrentVersionExpiration

Configuration block that specifies when noncurrent object versions expire. See below.

func (BucketLifecycleConfigurationRuleOutput) NoncurrentVersionTransitions

Set of configuration blocks that specify the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. See below.

func (BucketLifecycleConfigurationRuleOutput) Prefix deprecated

**DEPRECATED** Use `filter` instead. This has been deprecated by Amazon S3. Prefix identifying one or more objects to which the rule applies. Defaults to an empty string (`""`) if `filter` is not specified. One of `prefix` or `filter` should be specified.

Deprecated: Specify a prefix using 'filter' instead

func (BucketLifecycleConfigurationRuleOutput) Status

Whether the rule is currently being applied. Valid values: `Enabled` or `Disabled`.

func (BucketLifecycleConfigurationRuleOutput) ToBucketLifecycleConfigurationRuleOutput

func (o BucketLifecycleConfigurationRuleOutput) ToBucketLifecycleConfigurationRuleOutput() BucketLifecycleConfigurationRuleOutput

func (BucketLifecycleConfigurationRuleOutput) ToBucketLifecycleConfigurationRuleOutputWithContext

func (o BucketLifecycleConfigurationRuleOutput) ToBucketLifecycleConfigurationRuleOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleOutput

func (BucketLifecycleConfigurationRuleOutput) Transitions

Set of configuration blocks that specify when an Amazon S3 object transitions to a specified storage class. See below.

type BucketLifecycleConfigurationRuleTransition

type BucketLifecycleConfigurationRuleTransition struct {
	// Date objects are transitioned to the specified storage class. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.
	Date *string `pulumi:"date"`
	// Number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer. If both `days` and `date` are not specified, defaults to `0`. Valid values depend on `storageClass`, see [Transition objects using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html) for more details.
	Days *int `pulumi:"days"`
	// Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.
	StorageClass string `pulumi:"storageClass"`
}

type BucketLifecycleConfigurationRuleTransitionArgs

type BucketLifecycleConfigurationRuleTransitionArgs struct {
	// Date objects are transitioned to the specified storage class. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.
	Date pulumi.StringPtrInput `pulumi:"date"`
	// Number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer. If both `days` and `date` are not specified, defaults to `0`. Valid values depend on `storageClass`, see [Transition objects using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html) for more details.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (BucketLifecycleConfigurationRuleTransitionArgs) ElementType

func (BucketLifecycleConfigurationRuleTransitionArgs) ToBucketLifecycleConfigurationRuleTransitionOutput

func (i BucketLifecycleConfigurationRuleTransitionArgs) ToBucketLifecycleConfigurationRuleTransitionOutput() BucketLifecycleConfigurationRuleTransitionOutput

func (BucketLifecycleConfigurationRuleTransitionArgs) ToBucketLifecycleConfigurationRuleTransitionOutputWithContext

func (i BucketLifecycleConfigurationRuleTransitionArgs) ToBucketLifecycleConfigurationRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleTransitionOutput

type BucketLifecycleConfigurationRuleTransitionArray

type BucketLifecycleConfigurationRuleTransitionArray []BucketLifecycleConfigurationRuleTransitionInput

func (BucketLifecycleConfigurationRuleTransitionArray) ElementType

func (BucketLifecycleConfigurationRuleTransitionArray) ToBucketLifecycleConfigurationRuleTransitionArrayOutput

func (i BucketLifecycleConfigurationRuleTransitionArray) ToBucketLifecycleConfigurationRuleTransitionArrayOutput() BucketLifecycleConfigurationRuleTransitionArrayOutput

func (BucketLifecycleConfigurationRuleTransitionArray) ToBucketLifecycleConfigurationRuleTransitionArrayOutputWithContext

func (i BucketLifecycleConfigurationRuleTransitionArray) ToBucketLifecycleConfigurationRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleTransitionArrayOutput

type BucketLifecycleConfigurationRuleTransitionArrayInput

type BucketLifecycleConfigurationRuleTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleTransitionArrayOutput() BucketLifecycleConfigurationRuleTransitionArrayOutput
	ToBucketLifecycleConfigurationRuleTransitionArrayOutputWithContext(context.Context) BucketLifecycleConfigurationRuleTransitionArrayOutput
}

BucketLifecycleConfigurationRuleTransitionArrayInput is an input type that accepts BucketLifecycleConfigurationRuleTransitionArray and BucketLifecycleConfigurationRuleTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleTransitionArrayInput` via:

BucketLifecycleConfigurationRuleTransitionArray{ BucketLifecycleConfigurationRuleTransitionArgs{...} }

type BucketLifecycleConfigurationRuleTransitionArrayOutput

type BucketLifecycleConfigurationRuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleTransitionArrayOutput) ElementType

func (BucketLifecycleConfigurationRuleTransitionArrayOutput) Index

func (BucketLifecycleConfigurationRuleTransitionArrayOutput) ToBucketLifecycleConfigurationRuleTransitionArrayOutput

func (BucketLifecycleConfigurationRuleTransitionArrayOutput) ToBucketLifecycleConfigurationRuleTransitionArrayOutputWithContext

func (o BucketLifecycleConfigurationRuleTransitionArrayOutput) ToBucketLifecycleConfigurationRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleTransitionArrayOutput

type BucketLifecycleConfigurationRuleTransitionInput

type BucketLifecycleConfigurationRuleTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationRuleTransitionOutput() BucketLifecycleConfigurationRuleTransitionOutput
	ToBucketLifecycleConfigurationRuleTransitionOutputWithContext(context.Context) BucketLifecycleConfigurationRuleTransitionOutput
}

BucketLifecycleConfigurationRuleTransitionInput is an input type that accepts BucketLifecycleConfigurationRuleTransitionArgs and BucketLifecycleConfigurationRuleTransitionOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationRuleTransitionInput` via:

BucketLifecycleConfigurationRuleTransitionArgs{...}

type BucketLifecycleConfigurationRuleTransitionOutput

type BucketLifecycleConfigurationRuleTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationRuleTransitionOutput) Date

Date objects are transitioned to the specified storage class. The date value must be in [RFC3339 full-date format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) e.g. `2023-08-22`.

func (BucketLifecycleConfigurationRuleTransitionOutput) Days

Number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer. If both `days` and `date` are not specified, defaults to `0`. Valid values depend on `storageClass`, see [Transition objects using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html) for more details.

func (BucketLifecycleConfigurationRuleTransitionOutput) ElementType

func (BucketLifecycleConfigurationRuleTransitionOutput) StorageClass

Class of storage used to store the object. Valid Values: `GLACIER`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `DEEP_ARCHIVE`, `GLACIER_IR`.

func (BucketLifecycleConfigurationRuleTransitionOutput) ToBucketLifecycleConfigurationRuleTransitionOutput

func (o BucketLifecycleConfigurationRuleTransitionOutput) ToBucketLifecycleConfigurationRuleTransitionOutput() BucketLifecycleConfigurationRuleTransitionOutput

func (BucketLifecycleConfigurationRuleTransitionOutput) ToBucketLifecycleConfigurationRuleTransitionOutputWithContext

func (o BucketLifecycleConfigurationRuleTransitionOutput) ToBucketLifecycleConfigurationRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationRuleTransitionOutput

type BucketLifecycleConfigurationState

type BucketLifecycleConfigurationState struct {
	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules    BucketLifecycleConfigurationRuleArrayInput
	Timeouts BucketLifecycleConfigurationTimeoutsPtrInput
	// The default minimum object size behavior applied to the lifecycle configuration. Valid values: `all_storage_classes_128K` (default), `variesByStorageClass`. To customize the minimum object size for any transition you can add a `filter` that specifies a custom `objectSizeGreaterThan` or `objectSizeLessThan` value. Custom filters always take precedence over the default transition behavior.
	TransitionDefaultMinimumObjectSize pulumi.StringPtrInput
}

func (BucketLifecycleConfigurationState) ElementType

type BucketLifecycleConfigurationTimeouts

type BucketLifecycleConfigurationTimeouts struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create *string `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update *string `pulumi:"update"`
}

type BucketLifecycleConfigurationTimeoutsArgs

type BucketLifecycleConfigurationTimeoutsArgs struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create pulumi.StringPtrInput `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update pulumi.StringPtrInput `pulumi:"update"`
}

func (BucketLifecycleConfigurationTimeoutsArgs) ElementType

func (BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsOutput

func (i BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsOutput() BucketLifecycleConfigurationTimeoutsOutput

func (BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsOutputWithContext

func (i BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsOutputWithContext(ctx context.Context) BucketLifecycleConfigurationTimeoutsOutput

func (BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsPtrOutput

func (i BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsPtrOutput() BucketLifecycleConfigurationTimeoutsPtrOutput

func (BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext

func (i BucketLifecycleConfigurationTimeoutsArgs) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationTimeoutsPtrOutput

type BucketLifecycleConfigurationTimeoutsInput

type BucketLifecycleConfigurationTimeoutsInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationTimeoutsOutput() BucketLifecycleConfigurationTimeoutsOutput
	ToBucketLifecycleConfigurationTimeoutsOutputWithContext(context.Context) BucketLifecycleConfigurationTimeoutsOutput
}

BucketLifecycleConfigurationTimeoutsInput is an input type that accepts BucketLifecycleConfigurationTimeoutsArgs and BucketLifecycleConfigurationTimeoutsOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationTimeoutsInput` via:

BucketLifecycleConfigurationTimeoutsArgs{...}

type BucketLifecycleConfigurationTimeoutsOutput

type BucketLifecycleConfigurationTimeoutsOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationTimeoutsOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (BucketLifecycleConfigurationTimeoutsOutput) ElementType

func (BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsOutput

func (o BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsOutput() BucketLifecycleConfigurationTimeoutsOutput

func (BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsOutputWithContext

func (o BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsOutputWithContext(ctx context.Context) BucketLifecycleConfigurationTimeoutsOutput

func (BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutput

func (o BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutput() BucketLifecycleConfigurationTimeoutsPtrOutput

func (BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext

func (o BucketLifecycleConfigurationTimeoutsOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationTimeoutsPtrOutput

func (BucketLifecycleConfigurationTimeoutsOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type BucketLifecycleConfigurationTimeoutsPtrInput

type BucketLifecycleConfigurationTimeoutsPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationTimeoutsPtrOutput() BucketLifecycleConfigurationTimeoutsPtrOutput
	ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext(context.Context) BucketLifecycleConfigurationTimeoutsPtrOutput
}

BucketLifecycleConfigurationTimeoutsPtrInput is an input type that accepts BucketLifecycleConfigurationTimeoutsArgs, BucketLifecycleConfigurationTimeoutsPtr and BucketLifecycleConfigurationTimeoutsPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationTimeoutsPtrInput` via:

        BucketLifecycleConfigurationTimeoutsArgs{...}

or:

        nil

type BucketLifecycleConfigurationTimeoutsPtrOutput

type BucketLifecycleConfigurationTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationTimeoutsPtrOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (BucketLifecycleConfigurationTimeoutsPtrOutput) Elem

func (BucketLifecycleConfigurationTimeoutsPtrOutput) ElementType

func (BucketLifecycleConfigurationTimeoutsPtrOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutput

func (o BucketLifecycleConfigurationTimeoutsPtrOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutput() BucketLifecycleConfigurationTimeoutsPtrOutput

func (BucketLifecycleConfigurationTimeoutsPtrOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext

func (o BucketLifecycleConfigurationTimeoutsPtrOutput) ToBucketLifecycleConfigurationTimeoutsPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationTimeoutsPtrOutput

func (BucketLifecycleConfigurationTimeoutsPtrOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type BucketLifecycleRule

type BucketLifecycleRule struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.
	AbortIncompleteMultipartUploadDays *int `pulumi:"abortIncompleteMultipartUploadDays"`
	// Specifies lifecycle rule status.
	Enabled bool `pulumi:"enabled"`
	// Specifies a period in the object's expire. See Expiration below for details.
	Expiration *BucketLifecycleRuleExpiration `pulumi:"expiration"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id *string `pulumi:"id"`
	// Specifies when noncurrent object versions expire. See Noncurrent Version Expiration below for details.
	NoncurrentVersionExpiration *BucketLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"`
	// Specifies when noncurrent object versions transitions. See Noncurrent Version Transition below for details.
	NoncurrentVersionTransitions []BucketLifecycleRuleNoncurrentVersionTransition `pulumi:"noncurrentVersionTransitions"`
	// Object key prefix identifying one or more objects to which the rule applies.
	Prefix *string `pulumi:"prefix"`
	// Specifies object tags key and value.
	Tags map[string]string `pulumi:"tags"`
	// Specifies a period in the object's transitions. See Transition below for details.
	Transitions []BucketLifecycleRuleTransition `pulumi:"transitions"`
}

type BucketLifecycleRuleArgs

type BucketLifecycleRuleArgs struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.
	AbortIncompleteMultipartUploadDays pulumi.IntPtrInput `pulumi:"abortIncompleteMultipartUploadDays"`
	// Specifies lifecycle rule status.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Specifies a period in the object's expire. See Expiration below for details.
	Expiration BucketLifecycleRuleExpirationPtrInput `pulumi:"expiration"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies when noncurrent object versions expire. See Noncurrent Version Expiration below for details.
	NoncurrentVersionExpiration BucketLifecycleRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"`
	// Specifies when noncurrent object versions transitions. See Noncurrent Version Transition below for details.
	NoncurrentVersionTransitions BucketLifecycleRuleNoncurrentVersionTransitionArrayInput `pulumi:"noncurrentVersionTransitions"`
	// Object key prefix identifying one or more objects to which the rule applies.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Specifies object tags key and value.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specifies a period in the object's transitions. See Transition below for details.
	Transitions BucketLifecycleRuleTransitionArrayInput `pulumi:"transitions"`
}

func (BucketLifecycleRuleArgs) ElementType

func (BucketLifecycleRuleArgs) ElementType() reflect.Type

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

type BucketLifecycleRuleArray

type BucketLifecycleRuleArray []BucketLifecycleRuleInput

func (BucketLifecycleRuleArray) ElementType

func (BucketLifecycleRuleArray) ElementType() reflect.Type

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayInput

type BucketLifecycleRuleArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput
	ToBucketLifecycleRuleArrayOutputWithContext(context.Context) BucketLifecycleRuleArrayOutput
}

BucketLifecycleRuleArrayInput is an input type that accepts BucketLifecycleRuleArray and BucketLifecycleRuleArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleArrayInput` via:

BucketLifecycleRuleArray{ BucketLifecycleRuleArgs{...} }

type BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleArrayOutput) ElementType

func (BucketLifecycleRuleArrayOutput) Index

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleExpiration

type BucketLifecycleRuleExpiration struct {
	// Specifies the date after which you want the corresponding action to take effect.
	Date *string `pulumi:"date"`
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days *int `pulumi:"days"`
	// On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Amazon S3 to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
	ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"`
}

type BucketLifecycleRuleExpirationArgs

type BucketLifecycleRuleExpirationArgs struct {
	// Specifies the date after which you want the corresponding action to take effect.
	Date pulumi.StringPtrInput `pulumi:"date"`
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Amazon S3 to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
	ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"`
}

func (BucketLifecycleRuleExpirationArgs) ElementType

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutput

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutputWithContext

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutput

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationInput

type BucketLifecycleRuleExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput
	ToBucketLifecycleRuleExpirationOutputWithContext(context.Context) BucketLifecycleRuleExpirationOutput
}

BucketLifecycleRuleExpirationInput is an input type that accepts BucketLifecycleRuleExpirationArgs and BucketLifecycleRuleExpirationOutput values. You can construct a concrete instance of `BucketLifecycleRuleExpirationInput` via:

BucketLifecycleRuleExpirationArgs{...}

type BucketLifecycleRuleExpirationOutput

type BucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleExpirationOutput) Date

Specifies the date after which you want the corresponding action to take effect.

func (BucketLifecycleRuleExpirationOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

func (BucketLifecycleRuleExpirationOutput) ElementType

func (BucketLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker

func (o BucketLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput

On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Amazon S3 to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutput

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutputWithContext

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutput

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationPtrInput

type BucketLifecycleRuleExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput
	ToBucketLifecycleRuleExpirationPtrOutputWithContext(context.Context) BucketLifecycleRuleExpirationPtrOutput
}

BucketLifecycleRuleExpirationPtrInput is an input type that accepts BucketLifecycleRuleExpirationArgs, BucketLifecycleRuleExpirationPtr and BucketLifecycleRuleExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleRuleExpirationPtrInput` via:

        BucketLifecycleRuleExpirationArgs{...}

or:

        nil

type BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleExpirationPtrOutput) Date

Specifies the date after which you want the corresponding action to take effect.

func (BucketLifecycleRuleExpirationPtrOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

func (BucketLifecycleRuleExpirationPtrOutput) Elem

func (BucketLifecycleRuleExpirationPtrOutput) ElementType

func (BucketLifecycleRuleExpirationPtrOutput) ExpiredObjectDeleteMarker

func (o BucketLifecycleRuleExpirationPtrOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput

On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Amazon S3 to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

func (BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutput

func (o BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (o BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleInput

type BucketLifecycleRuleInput interface {
	pulumi.Input

	ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput
	ToBucketLifecycleRuleOutputWithContext(context.Context) BucketLifecycleRuleOutput
}

BucketLifecycleRuleInput is an input type that accepts BucketLifecycleRuleArgs and BucketLifecycleRuleOutput values. You can construct a concrete instance of `BucketLifecycleRuleInput` via:

BucketLifecycleRuleArgs{...}

type BucketLifecycleRuleNoncurrentVersionExpiration

type BucketLifecycleRuleNoncurrentVersionExpiration struct {
	// Specifies the number of days noncurrent object versions expire.
	Days *int `pulumi:"days"`
}

type BucketLifecycleRuleNoncurrentVersionExpirationArgs

type BucketLifecycleRuleNoncurrentVersionExpirationArgs struct {
	// Specifies the number of days noncurrent object versions expire.
	Days pulumi.IntPtrInput `pulumi:"days"`
}

func (BucketLifecycleRuleNoncurrentVersionExpirationArgs) ElementType

func (BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationOutput

func (i BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationOutput() BucketLifecycleRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext

func (i BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

func (i BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext

func (i BucketLifecycleRuleNoncurrentVersionExpirationArgs) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleRuleNoncurrentVersionExpirationInput

type BucketLifecycleRuleNoncurrentVersionExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleRuleNoncurrentVersionExpirationOutput() BucketLifecycleRuleNoncurrentVersionExpirationOutput
	ToBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) BucketLifecycleRuleNoncurrentVersionExpirationOutput
}

BucketLifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts BucketLifecycleRuleNoncurrentVersionExpirationArgs and BucketLifecycleRuleNoncurrentVersionExpirationOutput values. You can construct a concrete instance of `BucketLifecycleRuleNoncurrentVersionExpirationInput` via:

BucketLifecycleRuleNoncurrentVersionExpirationArgs{...}

type BucketLifecycleRuleNoncurrentVersionExpirationOutput

type BucketLifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) Days

Specifies the number of days noncurrent object versions expire.

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) ElementType

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext

func (o BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionExpirationOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

func (o BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleRuleNoncurrentVersionExpirationOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleRuleNoncurrentVersionExpirationPtrInput

type BucketLifecycleRuleNoncurrentVersionExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput
	ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput
}

BucketLifecycleRuleNoncurrentVersionExpirationPtrInput is an input type that accepts BucketLifecycleRuleNoncurrentVersionExpirationArgs, BucketLifecycleRuleNoncurrentVersionExpirationPtr and BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleRuleNoncurrentVersionExpirationPtrInput` via:

        BucketLifecycleRuleNoncurrentVersionExpirationArgs{...}

or:

        nil

type BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Days

Specifies the number of days noncurrent object versions expire.

func (BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Elem

func (BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ElementType

func (BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleRuleNoncurrentVersionTransition

type BucketLifecycleRuleNoncurrentVersionTransition struct {
	// Specifies the number of days noncurrent object versions transition.
	Days *int `pulumi:"days"`
	// Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.
	StorageClass string `pulumi:"storageClass"`
}

type BucketLifecycleRuleNoncurrentVersionTransitionArgs

type BucketLifecycleRuleNoncurrentVersionTransitionArgs struct {
	// Specifies the number of days noncurrent object versions transition.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (BucketLifecycleRuleNoncurrentVersionTransitionArgs) ElementType

func (BucketLifecycleRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleRuleNoncurrentVersionTransitionOutput

func (i BucketLifecycleRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleRuleNoncurrentVersionTransitionOutput() BucketLifecycleRuleNoncurrentVersionTransitionOutput

func (BucketLifecycleRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleRuleNoncurrentVersionTransitionOutputWithContext

func (i BucketLifecycleRuleNoncurrentVersionTransitionArgs) ToBucketLifecycleRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionTransitionOutput

type BucketLifecycleRuleNoncurrentVersionTransitionArray

type BucketLifecycleRuleNoncurrentVersionTransitionArray []BucketLifecycleRuleNoncurrentVersionTransitionInput

func (BucketLifecycleRuleNoncurrentVersionTransitionArray) ElementType

func (BucketLifecycleRuleNoncurrentVersionTransitionArray) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

func (i BucketLifecycleRuleNoncurrentVersionTransitionArray) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutput() BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleRuleNoncurrentVersionTransitionArray) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext

func (i BucketLifecycleRuleNoncurrentVersionTransitionArray) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleRuleNoncurrentVersionTransitionArrayInput

type BucketLifecycleRuleNoncurrentVersionTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutput() BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput
	ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(context.Context) BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput
}

BucketLifecycleRuleNoncurrentVersionTransitionArrayInput is an input type that accepts BucketLifecycleRuleNoncurrentVersionTransitionArray and BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleNoncurrentVersionTransitionArrayInput` via:

BucketLifecycleRuleNoncurrentVersionTransitionArray{ BucketLifecycleRuleNoncurrentVersionTransitionArgs{...} }

type BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput) ElementType

func (BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput) Index

func (BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext

func (o BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleRuleNoncurrentVersionTransitionInput

type BucketLifecycleRuleNoncurrentVersionTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleRuleNoncurrentVersionTransitionOutput() BucketLifecycleRuleNoncurrentVersionTransitionOutput
	ToBucketLifecycleRuleNoncurrentVersionTransitionOutputWithContext(context.Context) BucketLifecycleRuleNoncurrentVersionTransitionOutput
}

BucketLifecycleRuleNoncurrentVersionTransitionInput is an input type that accepts BucketLifecycleRuleNoncurrentVersionTransitionArgs and BucketLifecycleRuleNoncurrentVersionTransitionOutput values. You can construct a concrete instance of `BucketLifecycleRuleNoncurrentVersionTransitionInput` via:

BucketLifecycleRuleNoncurrentVersionTransitionArgs{...}

type BucketLifecycleRuleNoncurrentVersionTransitionOutput

type BucketLifecycleRuleNoncurrentVersionTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleNoncurrentVersionTransitionOutput) Days

Specifies the number of days noncurrent object versions transition.

func (BucketLifecycleRuleNoncurrentVersionTransitionOutput) ElementType

func (BucketLifecycleRuleNoncurrentVersionTransitionOutput) StorageClass

Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.

func (BucketLifecycleRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionOutput

func (BucketLifecycleRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionOutputWithContext

func (o BucketLifecycleRuleNoncurrentVersionTransitionOutput) ToBucketLifecycleRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleNoncurrentVersionTransitionOutput

type BucketLifecycleRuleOutput

type BucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays

func (o BucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntPtrOutput

Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

func (BucketLifecycleRuleOutput) ElementType

func (BucketLifecycleRuleOutput) ElementType() reflect.Type

func (BucketLifecycleRuleOutput) Enabled

Specifies lifecycle rule status.

func (BucketLifecycleRuleOutput) Expiration

Specifies a period in the object's expire. See Expiration below for details.

func (BucketLifecycleRuleOutput) Id

Unique identifier for the rule. Must be less than or equal to 255 characters in length.

func (BucketLifecycleRuleOutput) NoncurrentVersionExpiration

Specifies when noncurrent object versions expire. See Noncurrent Version Expiration below for details.

func (BucketLifecycleRuleOutput) NoncurrentVersionTransitions

Specifies when noncurrent object versions transitions. See Noncurrent Version Transition below for details.

func (BucketLifecycleRuleOutput) Prefix

Object key prefix identifying one or more objects to which the rule applies.

func (BucketLifecycleRuleOutput) Tags

Specifies object tags key and value.

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) Transitions

Specifies a period in the object's transitions. See Transition below for details.

type BucketLifecycleRuleTransition

type BucketLifecycleRuleTransition struct {
	// Specifies the date after which you want the corresponding action to take effect.
	Date *string `pulumi:"date"`
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days *int `pulumi:"days"`
	// Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.
	StorageClass string `pulumi:"storageClass"`
}

type BucketLifecycleRuleTransitionArgs

type BucketLifecycleRuleTransitionArgs struct {
	// Specifies the date after which you want the corresponding action to take effect.
	Date pulumi.StringPtrInput `pulumi:"date"`
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (BucketLifecycleRuleTransitionArgs) ElementType

func (BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutput

func (i BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput

func (BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutputWithContext

func (i BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionOutput

type BucketLifecycleRuleTransitionArray

type BucketLifecycleRuleTransitionArray []BucketLifecycleRuleTransitionInput

func (BucketLifecycleRuleTransitionArray) ElementType

func (BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutput

func (i BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput

func (BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutputWithContext

func (i BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionArrayInput

type BucketLifecycleRuleTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput
	ToBucketLifecycleRuleTransitionArrayOutputWithContext(context.Context) BucketLifecycleRuleTransitionArrayOutput
}

BucketLifecycleRuleTransitionArrayInput is an input type that accepts BucketLifecycleRuleTransitionArray and BucketLifecycleRuleTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleTransitionArrayInput` via:

BucketLifecycleRuleTransitionArray{ BucketLifecycleRuleTransitionArgs{...} }

type BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleTransitionArrayOutput) ElementType

func (BucketLifecycleRuleTransitionArrayOutput) Index

func (BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutput

func (o BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput

func (BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutputWithContext

func (o BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionInput

type BucketLifecycleRuleTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput
	ToBucketLifecycleRuleTransitionOutputWithContext(context.Context) BucketLifecycleRuleTransitionOutput
}

BucketLifecycleRuleTransitionInput is an input type that accepts BucketLifecycleRuleTransitionArgs and BucketLifecycleRuleTransitionOutput values. You can construct a concrete instance of `BucketLifecycleRuleTransitionInput` via:

BucketLifecycleRuleTransitionArgs{...}

type BucketLifecycleRuleTransitionOutput

type BucketLifecycleRuleTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleTransitionOutput) Date

Specifies the date after which you want the corresponding action to take effect.

func (BucketLifecycleRuleTransitionOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

func (BucketLifecycleRuleTransitionOutput) ElementType

func (BucketLifecycleRuleTransitionOutput) StorageClass

Specifies the Amazon S3 [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Transition.html#AmazonS3-Type-Transition-StorageClass) to which you want the object to transition.

func (BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutput

func (o BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput

func (BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutputWithContext

func (o BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionOutput

type BucketLogging

type BucketLogging struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Name of the bucket where you want Amazon S3 to store server access logs.
	TargetBucket pulumi.StringOutput `pulumi:"targetBucket"`
	// Set of configuration blocks with information for granting permissions. See below.
	TargetGrants BucketLoggingTargetGrantArrayOutput `pulumi:"targetGrants"`
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingTargetObjectKeyFormatPtrOutput `pulumi:"targetObjectKeyFormat"`
	// Prefix for all log object keys.
	TargetPrefix pulumi.StringOutput `pulumi:"targetPrefix"`
}

Provides an S3 bucket (server access) logging resource. For more information, see [Logging requests using server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) in the AWS S3 User Guide.

> **Note:** Amazon S3 supports server access logging, AWS CloudTrail, or a combination of both. Refer to the [Logging options for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html) to decide which method meets your requirements.

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		logBucket, err := s3.NewBucket(ctx, "log_bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-log-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "log_bucket_acl", &s3.BucketAclArgs{
			Bucket: logBucket.ID(),
			Acl:    pulumi.String("log-delivery-write"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLogging(ctx, "example", &s3.BucketLoggingArgs{
			Bucket:       example.ID(),
			TargetBucket: logBucket.ID(),
			TargetPrefix: pulumi.String("log/"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket logging using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketLogging:BucketLogging example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketLogging:BucketLogging example bucket-name,123456789012 ```

func GetBucketLogging

func GetBucketLogging(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketLoggingState, opts ...pulumi.ResourceOption) (*BucketLogging, error)

GetBucketLogging gets an existing BucketLogging resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketLogging

func NewBucketLogging(ctx *pulumi.Context,
	name string, args *BucketLoggingArgs, opts ...pulumi.ResourceOption) (*BucketLogging, error)

NewBucketLogging registers a new resource with the given unique name, arguments, and options.

func (*BucketLogging) ElementType

func (*BucketLogging) ElementType() reflect.Type

func (*BucketLogging) ToBucketLoggingOutput

func (i *BucketLogging) ToBucketLoggingOutput() BucketLoggingOutput

func (*BucketLogging) ToBucketLoggingOutputWithContext

func (i *BucketLogging) ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput

type BucketLoggingArgs

type BucketLoggingArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Name of the bucket where you want Amazon S3 to store server access logs.
	TargetBucket pulumi.StringInput
	// Set of configuration blocks with information for granting permissions. See below.
	TargetGrants BucketLoggingTargetGrantArrayInput
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingTargetObjectKeyFormatPtrInput
	// Prefix for all log object keys.
	TargetPrefix pulumi.StringInput
}

The set of arguments for constructing a BucketLogging resource.

func (BucketLoggingArgs) ElementType

func (BucketLoggingArgs) ElementType() reflect.Type

type BucketLoggingArray

type BucketLoggingArray []BucketLoggingInput

func (BucketLoggingArray) ElementType

func (BucketLoggingArray) ElementType() reflect.Type

func (BucketLoggingArray) ToBucketLoggingArrayOutput

func (i BucketLoggingArray) ToBucketLoggingArrayOutput() BucketLoggingArrayOutput

func (BucketLoggingArray) ToBucketLoggingArrayOutputWithContext

func (i BucketLoggingArray) ToBucketLoggingArrayOutputWithContext(ctx context.Context) BucketLoggingArrayOutput

type BucketLoggingArrayInput

type BucketLoggingArrayInput interface {
	pulumi.Input

	ToBucketLoggingArrayOutput() BucketLoggingArrayOutput
	ToBucketLoggingArrayOutputWithContext(context.Context) BucketLoggingArrayOutput
}

BucketLoggingArrayInput is an input type that accepts BucketLoggingArray and BucketLoggingArrayOutput values. You can construct a concrete instance of `BucketLoggingArrayInput` via:

BucketLoggingArray{ BucketLoggingArgs{...} }

type BucketLoggingArrayOutput

type BucketLoggingArrayOutput struct{ *pulumi.OutputState }

func (BucketLoggingArrayOutput) ElementType

func (BucketLoggingArrayOutput) ElementType() reflect.Type

func (BucketLoggingArrayOutput) Index

func (BucketLoggingArrayOutput) ToBucketLoggingArrayOutput

func (o BucketLoggingArrayOutput) ToBucketLoggingArrayOutput() BucketLoggingArrayOutput

func (BucketLoggingArrayOutput) ToBucketLoggingArrayOutputWithContext

func (o BucketLoggingArrayOutput) ToBucketLoggingArrayOutputWithContext(ctx context.Context) BucketLoggingArrayOutput

type BucketLoggingInput

type BucketLoggingInput interface {
	pulumi.Input

	ToBucketLoggingOutput() BucketLoggingOutput
	ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput
}

type BucketLoggingMap

type BucketLoggingMap map[string]BucketLoggingInput

func (BucketLoggingMap) ElementType

func (BucketLoggingMap) ElementType() reflect.Type

func (BucketLoggingMap) ToBucketLoggingMapOutput

func (i BucketLoggingMap) ToBucketLoggingMapOutput() BucketLoggingMapOutput

func (BucketLoggingMap) ToBucketLoggingMapOutputWithContext

func (i BucketLoggingMap) ToBucketLoggingMapOutputWithContext(ctx context.Context) BucketLoggingMapOutput

type BucketLoggingMapInput

type BucketLoggingMapInput interface {
	pulumi.Input

	ToBucketLoggingMapOutput() BucketLoggingMapOutput
	ToBucketLoggingMapOutputWithContext(context.Context) BucketLoggingMapOutput
}

BucketLoggingMapInput is an input type that accepts BucketLoggingMap and BucketLoggingMapOutput values. You can construct a concrete instance of `BucketLoggingMapInput` via:

BucketLoggingMap{ "key": BucketLoggingArgs{...} }

type BucketLoggingMapOutput

type BucketLoggingMapOutput struct{ *pulumi.OutputState }

func (BucketLoggingMapOutput) ElementType

func (BucketLoggingMapOutput) ElementType() reflect.Type

func (BucketLoggingMapOutput) MapIndex

func (BucketLoggingMapOutput) ToBucketLoggingMapOutput

func (o BucketLoggingMapOutput) ToBucketLoggingMapOutput() BucketLoggingMapOutput

func (BucketLoggingMapOutput) ToBucketLoggingMapOutputWithContext

func (o BucketLoggingMapOutput) ToBucketLoggingMapOutputWithContext(ctx context.Context) BucketLoggingMapOutput

type BucketLoggingOutput

type BucketLoggingOutput struct{ *pulumi.OutputState }

func (BucketLoggingOutput) Bucket

Name of the bucket.

func (BucketLoggingOutput) ElementType

func (BucketLoggingOutput) ElementType() reflect.Type

func (BucketLoggingOutput) ExpectedBucketOwner

func (o BucketLoggingOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketLoggingOutput) Region

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.

func (BucketLoggingOutput) TargetBucket

func (o BucketLoggingOutput) TargetBucket() pulumi.StringOutput

Name of the bucket where you want Amazon S3 to store server access logs.

func (BucketLoggingOutput) TargetGrants

Set of configuration blocks with information for granting permissions. See below.

func (BucketLoggingOutput) TargetObjectKeyFormat

Amazon S3 key format for log objects. See below.

func (BucketLoggingOutput) TargetPrefix

func (o BucketLoggingOutput) TargetPrefix() pulumi.StringOutput

Prefix for all log object keys.

func (BucketLoggingOutput) ToBucketLoggingOutput

func (o BucketLoggingOutput) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingOutput) ToBucketLoggingOutputWithContext

func (o BucketLoggingOutput) ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput

type BucketLoggingState

type BucketLoggingState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Name of the bucket where you want Amazon S3 to store server access logs.
	TargetBucket pulumi.StringPtrInput
	// Set of configuration blocks with information for granting permissions. See below.
	TargetGrants BucketLoggingTargetGrantArrayInput
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingTargetObjectKeyFormatPtrInput
	// Prefix for all log object keys.
	TargetPrefix pulumi.StringPtrInput
}

func (BucketLoggingState) ElementType

func (BucketLoggingState) ElementType() reflect.Type

type BucketLoggingTargetGrant

type BucketLoggingTargetGrant struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee BucketLoggingTargetGrantGrantee `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `READ`, `WRITE`.
	Permission string `pulumi:"permission"`
}

type BucketLoggingTargetGrantArgs

type BucketLoggingTargetGrantArgs struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee BucketLoggingTargetGrantGranteeInput `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `READ`, `WRITE`.
	Permission pulumi.StringInput `pulumi:"permission"`
}

func (BucketLoggingTargetGrantArgs) ElementType

func (BucketLoggingTargetGrantArgs) ToBucketLoggingTargetGrantOutput

func (i BucketLoggingTargetGrantArgs) ToBucketLoggingTargetGrantOutput() BucketLoggingTargetGrantOutput

func (BucketLoggingTargetGrantArgs) ToBucketLoggingTargetGrantOutputWithContext

func (i BucketLoggingTargetGrantArgs) ToBucketLoggingTargetGrantOutputWithContext(ctx context.Context) BucketLoggingTargetGrantOutput

type BucketLoggingTargetGrantArray

type BucketLoggingTargetGrantArray []BucketLoggingTargetGrantInput

func (BucketLoggingTargetGrantArray) ElementType

func (BucketLoggingTargetGrantArray) ToBucketLoggingTargetGrantArrayOutput

func (i BucketLoggingTargetGrantArray) ToBucketLoggingTargetGrantArrayOutput() BucketLoggingTargetGrantArrayOutput

func (BucketLoggingTargetGrantArray) ToBucketLoggingTargetGrantArrayOutputWithContext

func (i BucketLoggingTargetGrantArray) ToBucketLoggingTargetGrantArrayOutputWithContext(ctx context.Context) BucketLoggingTargetGrantArrayOutput

type BucketLoggingTargetGrantArrayInput

type BucketLoggingTargetGrantArrayInput interface {
	pulumi.Input

	ToBucketLoggingTargetGrantArrayOutput() BucketLoggingTargetGrantArrayOutput
	ToBucketLoggingTargetGrantArrayOutputWithContext(context.Context) BucketLoggingTargetGrantArrayOutput
}

BucketLoggingTargetGrantArrayInput is an input type that accepts BucketLoggingTargetGrantArray and BucketLoggingTargetGrantArrayOutput values. You can construct a concrete instance of `BucketLoggingTargetGrantArrayInput` via:

BucketLoggingTargetGrantArray{ BucketLoggingTargetGrantArgs{...} }

type BucketLoggingTargetGrantArrayOutput

type BucketLoggingTargetGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetGrantArrayOutput) ElementType

func (BucketLoggingTargetGrantArrayOutput) Index

func (BucketLoggingTargetGrantArrayOutput) ToBucketLoggingTargetGrantArrayOutput

func (o BucketLoggingTargetGrantArrayOutput) ToBucketLoggingTargetGrantArrayOutput() BucketLoggingTargetGrantArrayOutput

func (BucketLoggingTargetGrantArrayOutput) ToBucketLoggingTargetGrantArrayOutputWithContext

func (o BucketLoggingTargetGrantArrayOutput) ToBucketLoggingTargetGrantArrayOutputWithContext(ctx context.Context) BucketLoggingTargetGrantArrayOutput

type BucketLoggingTargetGrantGrantee

type BucketLoggingTargetGrantGrantee struct {
	DisplayName *string `pulumi:"displayName"`
	// Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.
	EmailAddress *string `pulumi:"emailAddress"`
	// Canonical user ID of the grantee.
	Id *string `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.
	Type string `pulumi:"type"`
	// URI of the grantee group.
	Uri *string `pulumi:"uri"`
}

type BucketLoggingTargetGrantGranteeArgs

type BucketLoggingTargetGrantGranteeArgs struct {
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.
	EmailAddress pulumi.StringPtrInput `pulumi:"emailAddress"`
	// Canonical user ID of the grantee.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.
	Type pulumi.StringInput `pulumi:"type"`
	// URI of the grantee group.
	Uri pulumi.StringPtrInput `pulumi:"uri"`
}

func (BucketLoggingTargetGrantGranteeArgs) ElementType

func (BucketLoggingTargetGrantGranteeArgs) ToBucketLoggingTargetGrantGranteeOutput

func (i BucketLoggingTargetGrantGranteeArgs) ToBucketLoggingTargetGrantGranteeOutput() BucketLoggingTargetGrantGranteeOutput

func (BucketLoggingTargetGrantGranteeArgs) ToBucketLoggingTargetGrantGranteeOutputWithContext

func (i BucketLoggingTargetGrantGranteeArgs) ToBucketLoggingTargetGrantGranteeOutputWithContext(ctx context.Context) BucketLoggingTargetGrantGranteeOutput

type BucketLoggingTargetGrantGranteeInput

type BucketLoggingTargetGrantGranteeInput interface {
	pulumi.Input

	ToBucketLoggingTargetGrantGranteeOutput() BucketLoggingTargetGrantGranteeOutput
	ToBucketLoggingTargetGrantGranteeOutputWithContext(context.Context) BucketLoggingTargetGrantGranteeOutput
}

BucketLoggingTargetGrantGranteeInput is an input type that accepts BucketLoggingTargetGrantGranteeArgs and BucketLoggingTargetGrantGranteeOutput values. You can construct a concrete instance of `BucketLoggingTargetGrantGranteeInput` via:

BucketLoggingTargetGrantGranteeArgs{...}

type BucketLoggingTargetGrantGranteeOutput

type BucketLoggingTargetGrantGranteeOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetGrantGranteeOutput) DisplayName

func (BucketLoggingTargetGrantGranteeOutput) ElementType

func (BucketLoggingTargetGrantGranteeOutput) EmailAddress

Email address of the grantee. See [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for supported AWS regions where this argument can be specified.

func (BucketLoggingTargetGrantGranteeOutput) Id

Canonical user ID of the grantee.

func (BucketLoggingTargetGrantGranteeOutput) ToBucketLoggingTargetGrantGranteeOutput

func (o BucketLoggingTargetGrantGranteeOutput) ToBucketLoggingTargetGrantGranteeOutput() BucketLoggingTargetGrantGranteeOutput

func (BucketLoggingTargetGrantGranteeOutput) ToBucketLoggingTargetGrantGranteeOutputWithContext

func (o BucketLoggingTargetGrantGranteeOutput) ToBucketLoggingTargetGrantGranteeOutputWithContext(ctx context.Context) BucketLoggingTargetGrantGranteeOutput

func (BucketLoggingTargetGrantGranteeOutput) Type

Type of grantee. Valid values: `CanonicalUser`, `AmazonCustomerByEmail`, `Group`.

func (BucketLoggingTargetGrantGranteeOutput) Uri

URI of the grantee group.

type BucketLoggingTargetGrantInput

type BucketLoggingTargetGrantInput interface {
	pulumi.Input

	ToBucketLoggingTargetGrantOutput() BucketLoggingTargetGrantOutput
	ToBucketLoggingTargetGrantOutputWithContext(context.Context) BucketLoggingTargetGrantOutput
}

BucketLoggingTargetGrantInput is an input type that accepts BucketLoggingTargetGrantArgs and BucketLoggingTargetGrantOutput values. You can construct a concrete instance of `BucketLoggingTargetGrantInput` via:

BucketLoggingTargetGrantArgs{...}

type BucketLoggingTargetGrantOutput

type BucketLoggingTargetGrantOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetGrantOutput) ElementType

func (BucketLoggingTargetGrantOutput) Grantee

Configuration block for the person being granted permissions. See below.

func (BucketLoggingTargetGrantOutput) Permission

Logging permissions assigned to the grantee for the bucket. Valid values: `FULL_CONTROL`, `READ`, `WRITE`.

func (BucketLoggingTargetGrantOutput) ToBucketLoggingTargetGrantOutput

func (o BucketLoggingTargetGrantOutput) ToBucketLoggingTargetGrantOutput() BucketLoggingTargetGrantOutput

func (BucketLoggingTargetGrantOutput) ToBucketLoggingTargetGrantOutputWithContext

func (o BucketLoggingTargetGrantOutput) ToBucketLoggingTargetGrantOutputWithContext(ctx context.Context) BucketLoggingTargetGrantOutput

type BucketLoggingTargetObjectKeyFormat

type BucketLoggingTargetObjectKeyFormat struct {
	// Partitioned S3 key for log objects. See below.
	PartitionedPrefix *BucketLoggingTargetObjectKeyFormatPartitionedPrefix `pulumi:"partitionedPrefix"`
	// Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.
	SimplePrefix *BucketLoggingTargetObjectKeyFormatSimplePrefix `pulumi:"simplePrefix"`
}

type BucketLoggingTargetObjectKeyFormatArgs

type BucketLoggingTargetObjectKeyFormatArgs struct {
	// Partitioned S3 key for log objects. See below.
	PartitionedPrefix BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrInput `pulumi:"partitionedPrefix"`
	// Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.
	SimplePrefix BucketLoggingTargetObjectKeyFormatSimplePrefixPtrInput `pulumi:"simplePrefix"`
}

func (BucketLoggingTargetObjectKeyFormatArgs) ElementType

func (BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatOutput

func (i BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatOutput() BucketLoggingTargetObjectKeyFormatOutput

func (BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatOutput

func (BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatPtrOutput

func (i BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatPtrOutput() BucketLoggingTargetObjectKeyFormatPtrOutput

func (BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatArgs) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPtrOutput

type BucketLoggingTargetObjectKeyFormatInput

type BucketLoggingTargetObjectKeyFormatInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatOutput() BucketLoggingTargetObjectKeyFormatOutput
	ToBucketLoggingTargetObjectKeyFormatOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatOutput
}

BucketLoggingTargetObjectKeyFormatInput is an input type that accepts BucketLoggingTargetObjectKeyFormatArgs and BucketLoggingTargetObjectKeyFormatOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatInput` via:

BucketLoggingTargetObjectKeyFormatArgs{...}

type BucketLoggingTargetObjectKeyFormatOutput

type BucketLoggingTargetObjectKeyFormatOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatOutput) PartitionedPrefix

Partitioned S3 key for log objects. See below.

func (BucketLoggingTargetObjectKeyFormatOutput) SimplePrefix

Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.

func (BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatOutput

func (o BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatOutput() BucketLoggingTargetObjectKeyFormatOutput

func (BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatOutput

func (BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutput

func (o BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutput() BucketLoggingTargetObjectKeyFormatPtrOutput

func (BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPtrOutput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefix

type BucketLoggingTargetObjectKeyFormatPartitionedPrefix struct {
	// Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.
	PartitionDateSource string `pulumi:"partitionDateSource"`
}

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs struct {
	// Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.
	PartitionDateSource pulumi.StringInput `pulumi:"partitionDateSource"`
}

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ElementType

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

func (i BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput() BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixInput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput() BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput
	ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput
}

BucketLoggingTargetObjectKeyFormatPartitionedPrefixInput is an input type that accepts BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs and BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatPartitionedPrefixInput` via:

BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs{...}

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) PartitionDateSource

Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrInput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput() BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput
	ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput
}

BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrInput is an input type that accepts BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs, BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtr and BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrInput` via:

        BucketLoggingTargetObjectKeyFormatPartitionedPrefixArgs{...}

or:

        nil

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) Elem

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) PartitionDateSource

Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatPtrInput

type BucketLoggingTargetObjectKeyFormatPtrInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatPtrOutput() BucketLoggingTargetObjectKeyFormatPtrOutput
	ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatPtrOutput
}

BucketLoggingTargetObjectKeyFormatPtrInput is an input type that accepts BucketLoggingTargetObjectKeyFormatArgs, BucketLoggingTargetObjectKeyFormatPtr and BucketLoggingTargetObjectKeyFormatPtrOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatPtrInput` via:

        BucketLoggingTargetObjectKeyFormatArgs{...}

or:

        nil

type BucketLoggingTargetObjectKeyFormatPtrOutput

type BucketLoggingTargetObjectKeyFormatPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatPtrOutput) Elem

func (BucketLoggingTargetObjectKeyFormatPtrOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatPtrOutput) PartitionedPrefix

Partitioned S3 key for log objects. See below.

func (BucketLoggingTargetObjectKeyFormatPtrOutput) SimplePrefix

Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.

func (BucketLoggingTargetObjectKeyFormatPtrOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutput

func (o BucketLoggingTargetObjectKeyFormatPtrOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutput() BucketLoggingTargetObjectKeyFormatPtrOutput

func (BucketLoggingTargetObjectKeyFormatPtrOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatPtrOutput) ToBucketLoggingTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatPtrOutput

type BucketLoggingTargetObjectKeyFormatSimplePrefix

type BucketLoggingTargetObjectKeyFormatSimplePrefix struct {
}

type BucketLoggingTargetObjectKeyFormatSimplePrefixArgs

type BucketLoggingTargetObjectKeyFormatSimplePrefixArgs struct {
}

func (BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ElementType

func (BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutput

func (i BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutput() BucketLoggingTargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

func (i BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext

func (i BucketLoggingTargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatSimplePrefixInput

type BucketLoggingTargetObjectKeyFormatSimplePrefixInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutput() BucketLoggingTargetObjectKeyFormatSimplePrefixOutput
	ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixOutput
}

BucketLoggingTargetObjectKeyFormatSimplePrefixInput is an input type that accepts BucketLoggingTargetObjectKeyFormatSimplePrefixArgs and BucketLoggingTargetObjectKeyFormatSimplePrefixOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatSimplePrefixInput` via:

BucketLoggingTargetObjectKeyFormatSimplePrefixArgs{...}

type BucketLoggingTargetObjectKeyFormatSimplePrefixOutput

type BucketLoggingTargetObjectKeyFormatSimplePrefixOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

func (o BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatSimplePrefixPtrInput

type BucketLoggingTargetObjectKeyFormatSimplePrefixPtrInput interface {
	pulumi.Input

	ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput
	ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext(context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput
}

BucketLoggingTargetObjectKeyFormatSimplePrefixPtrInput is an input type that accepts BucketLoggingTargetObjectKeyFormatSimplePrefixArgs, BucketLoggingTargetObjectKeyFormatSimplePrefixPtr and BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput values. You can construct a concrete instance of `BucketLoggingTargetObjectKeyFormatSimplePrefixPtrInput` via:

        BucketLoggingTargetObjectKeyFormatSimplePrefixArgs{...}

or:

        nil

type BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput) Elem

func (BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput) ElementType

func (BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

func (BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext

func (o BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingTargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingType

type BucketLoggingType struct {
	// Name of the bucket that will receive the log objects.
	TargetBucket string `pulumi:"targetBucket"`
	// To specify a key prefix for log objects.
	TargetPrefix *string `pulumi:"targetPrefix"`
}

type BucketLoggingTypeArgs

type BucketLoggingTypeArgs struct {
	// Name of the bucket that will receive the log objects.
	TargetBucket pulumi.StringInput `pulumi:"targetBucket"`
	// To specify a key prefix for log objects.
	TargetPrefix pulumi.StringPtrInput `pulumi:"targetPrefix"`
}

func (BucketLoggingTypeArgs) ElementType

func (BucketLoggingTypeArgs) ElementType() reflect.Type

func (BucketLoggingTypeArgs) ToBucketLoggingTypeOutput

func (i BucketLoggingTypeArgs) ToBucketLoggingTypeOutput() BucketLoggingTypeOutput

func (BucketLoggingTypeArgs) ToBucketLoggingTypeOutputWithContext

func (i BucketLoggingTypeArgs) ToBucketLoggingTypeOutputWithContext(ctx context.Context) BucketLoggingTypeOutput

func (BucketLoggingTypeArgs) ToBucketLoggingTypePtrOutput

func (i BucketLoggingTypeArgs) ToBucketLoggingTypePtrOutput() BucketLoggingTypePtrOutput

func (BucketLoggingTypeArgs) ToBucketLoggingTypePtrOutputWithContext

func (i BucketLoggingTypeArgs) ToBucketLoggingTypePtrOutputWithContext(ctx context.Context) BucketLoggingTypePtrOutput

type BucketLoggingTypeInput

type BucketLoggingTypeInput interface {
	pulumi.Input

	ToBucketLoggingTypeOutput() BucketLoggingTypeOutput
	ToBucketLoggingTypeOutputWithContext(context.Context) BucketLoggingTypeOutput
}

BucketLoggingTypeInput is an input type that accepts BucketLoggingTypeArgs and BucketLoggingTypeOutput values. You can construct a concrete instance of `BucketLoggingTypeInput` via:

BucketLoggingTypeArgs{...}

type BucketLoggingTypeOutput

type BucketLoggingTypeOutput struct{ *pulumi.OutputState }

func (BucketLoggingTypeOutput) ElementType

func (BucketLoggingTypeOutput) ElementType() reflect.Type

func (BucketLoggingTypeOutput) TargetBucket

func (o BucketLoggingTypeOutput) TargetBucket() pulumi.StringOutput

Name of the bucket that will receive the log objects.

func (BucketLoggingTypeOutput) TargetPrefix

To specify a key prefix for log objects.

func (BucketLoggingTypeOutput) ToBucketLoggingTypeOutput

func (o BucketLoggingTypeOutput) ToBucketLoggingTypeOutput() BucketLoggingTypeOutput

func (BucketLoggingTypeOutput) ToBucketLoggingTypeOutputWithContext

func (o BucketLoggingTypeOutput) ToBucketLoggingTypeOutputWithContext(ctx context.Context) BucketLoggingTypeOutput

func (BucketLoggingTypeOutput) ToBucketLoggingTypePtrOutput

func (o BucketLoggingTypeOutput) ToBucketLoggingTypePtrOutput() BucketLoggingTypePtrOutput

func (BucketLoggingTypeOutput) ToBucketLoggingTypePtrOutputWithContext

func (o BucketLoggingTypeOutput) ToBucketLoggingTypePtrOutputWithContext(ctx context.Context) BucketLoggingTypePtrOutput

type BucketLoggingTypePtrInput

type BucketLoggingTypePtrInput interface {
	pulumi.Input

	ToBucketLoggingTypePtrOutput() BucketLoggingTypePtrOutput
	ToBucketLoggingTypePtrOutputWithContext(context.Context) BucketLoggingTypePtrOutput
}

BucketLoggingTypePtrInput is an input type that accepts BucketLoggingTypeArgs, BucketLoggingTypePtr and BucketLoggingTypePtrOutput values. You can construct a concrete instance of `BucketLoggingTypePtrInput` via:

        BucketLoggingTypeArgs{...}

or:

        nil

type BucketLoggingTypePtrOutput

type BucketLoggingTypePtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingTypePtrOutput) Elem

func (BucketLoggingTypePtrOutput) ElementType

func (BucketLoggingTypePtrOutput) ElementType() reflect.Type

func (BucketLoggingTypePtrOutput) TargetBucket

Name of the bucket that will receive the log objects.

func (BucketLoggingTypePtrOutput) TargetPrefix

To specify a key prefix for log objects.

func (BucketLoggingTypePtrOutput) ToBucketLoggingTypePtrOutput

func (o BucketLoggingTypePtrOutput) ToBucketLoggingTypePtrOutput() BucketLoggingTypePtrOutput

func (BucketLoggingTypePtrOutput) ToBucketLoggingTypePtrOutputWithContext

func (o BucketLoggingTypePtrOutput) ToBucketLoggingTypePtrOutputWithContext(ctx context.Context) BucketLoggingTypePtrOutput

type BucketMap

type BucketMap map[string]BucketInput

func (BucketMap) ElementType

func (BucketMap) ElementType() reflect.Type

func (BucketMap) ToBucketMapOutput

func (i BucketMap) ToBucketMapOutput() BucketMapOutput

func (BucketMap) ToBucketMapOutputWithContext

func (i BucketMap) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketMapInput

type BucketMapInput interface {
	pulumi.Input

	ToBucketMapOutput() BucketMapOutput
	ToBucketMapOutputWithContext(context.Context) BucketMapOutput
}

BucketMapInput is an input type that accepts BucketMap and BucketMapOutput values. You can construct a concrete instance of `BucketMapInput` via:

BucketMap{ "key": BucketArgs{...} }

type BucketMapOutput

type BucketMapOutput struct{ *pulumi.OutputState }

func (BucketMapOutput) ElementType

func (BucketMapOutput) ElementType() reflect.Type

func (BucketMapOutput) MapIndex

func (BucketMapOutput) ToBucketMapOutput

func (o BucketMapOutput) ToBucketMapOutput() BucketMapOutput

func (BucketMapOutput) ToBucketMapOutputWithContext

func (o BucketMapOutput) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketMetric

type BucketMetric struct {
	pulumi.CustomResourceState

	// Name of the bucket to put metric configuration.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// [Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter BucketMetricFilterPtrOutput `pulumi:"filter"`
	// Unique identifier of the metrics configuration for the bucket. Must be less than or equal to 64 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Provides a S3 bucket [metrics configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html) resource.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Add metrics configuration for entire S3 bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketMetric(ctx, "example-entire-bucket", &s3.BucketMetricArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("EntireBucket"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add metrics configuration with S3 object filter

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketMetric(ctx, "example-filtered", &s3.BucketMetricArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("ImportantBlueDocuments"),
			Filter: &s3.BucketMetricFilterArgs{
				Prefix: pulumi.String("documents/"),
				Tags: pulumi.StringMap{
					"priority": pulumi.String("high"),
					"class":    pulumi.String("blue"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add metrics configuration with S3 object filter for S3 Access Point

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		example_access_point, err := s3.NewAccessPoint(ctx, "example-access-point", &s3.AccessPointArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("example-access-point"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketMetric(ctx, "example-filtered", &s3.BucketMetricArgs{
			Bucket: example.ID(),
			Name:   pulumi.String("ImportantBlueDocuments"),
			Filter: &s3.BucketMetricFilterArgs{
				AccessPoint: example_access_point.Arn,
				Tags: pulumi.StringMap{
					"priority": pulumi.String("high"),
					"class":    pulumi.String("blue"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket metric configurations using `bucket:metric`. For example:

```sh $ pulumi import aws:s3/bucketMetric:BucketMetric my-bucket-entire-bucket my-bucket:EntireBucket ```

func GetBucketMetric

func GetBucketMetric(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketMetricState, opts ...pulumi.ResourceOption) (*BucketMetric, error)

GetBucketMetric gets an existing BucketMetric resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketMetric

func NewBucketMetric(ctx *pulumi.Context,
	name string, args *BucketMetricArgs, opts ...pulumi.ResourceOption) (*BucketMetric, error)

NewBucketMetric registers a new resource with the given unique name, arguments, and options.

func (*BucketMetric) ElementType

func (*BucketMetric) ElementType() reflect.Type

func (*BucketMetric) ToBucketMetricOutput

func (i *BucketMetric) ToBucketMetricOutput() BucketMetricOutput

func (*BucketMetric) ToBucketMetricOutputWithContext

func (i *BucketMetric) ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput

type BucketMetricArgs

type BucketMetricArgs struct {
	// Name of the bucket to put metric configuration.
	Bucket pulumi.StringInput
	// [Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter BucketMetricFilterPtrInput
	// Unique identifier of the metrics configuration for the bucket. Must be less than or equal to 64 characters in length.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketMetric resource.

func (BucketMetricArgs) ElementType

func (BucketMetricArgs) ElementType() reflect.Type

type BucketMetricArray

type BucketMetricArray []BucketMetricInput

func (BucketMetricArray) ElementType

func (BucketMetricArray) ElementType() reflect.Type

func (BucketMetricArray) ToBucketMetricArrayOutput

func (i BucketMetricArray) ToBucketMetricArrayOutput() BucketMetricArrayOutput

func (BucketMetricArray) ToBucketMetricArrayOutputWithContext

func (i BucketMetricArray) ToBucketMetricArrayOutputWithContext(ctx context.Context) BucketMetricArrayOutput

type BucketMetricArrayInput

type BucketMetricArrayInput interface {
	pulumi.Input

	ToBucketMetricArrayOutput() BucketMetricArrayOutput
	ToBucketMetricArrayOutputWithContext(context.Context) BucketMetricArrayOutput
}

BucketMetricArrayInput is an input type that accepts BucketMetricArray and BucketMetricArrayOutput values. You can construct a concrete instance of `BucketMetricArrayInput` via:

BucketMetricArray{ BucketMetricArgs{...} }

type BucketMetricArrayOutput

type BucketMetricArrayOutput struct{ *pulumi.OutputState }

func (BucketMetricArrayOutput) ElementType

func (BucketMetricArrayOutput) ElementType() reflect.Type

func (BucketMetricArrayOutput) Index

func (BucketMetricArrayOutput) ToBucketMetricArrayOutput

func (o BucketMetricArrayOutput) ToBucketMetricArrayOutput() BucketMetricArrayOutput

func (BucketMetricArrayOutput) ToBucketMetricArrayOutputWithContext

func (o BucketMetricArrayOutput) ToBucketMetricArrayOutputWithContext(ctx context.Context) BucketMetricArrayOutput

type BucketMetricFilter

type BucketMetricFilter struct {
	// S3 Access Point ARN for filtering (singular).
	AccessPoint *string `pulumi:"accessPoint"`
	// Object prefix for filtering (singular).
	Prefix *string `pulumi:"prefix"`
	// Object tags for filtering (up to 10).
	Tags map[string]string `pulumi:"tags"`
}

type BucketMetricFilterArgs

type BucketMetricFilterArgs struct {
	// S3 Access Point ARN for filtering (singular).
	AccessPoint pulumi.StringPtrInput `pulumi:"accessPoint"`
	// Object prefix for filtering (singular).
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Object tags for filtering (up to 10).
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketMetricFilterArgs) ElementType

func (BucketMetricFilterArgs) ElementType() reflect.Type

func (BucketMetricFilterArgs) ToBucketMetricFilterOutput

func (i BucketMetricFilterArgs) ToBucketMetricFilterOutput() BucketMetricFilterOutput

func (BucketMetricFilterArgs) ToBucketMetricFilterOutputWithContext

func (i BucketMetricFilterArgs) ToBucketMetricFilterOutputWithContext(ctx context.Context) BucketMetricFilterOutput

func (BucketMetricFilterArgs) ToBucketMetricFilterPtrOutput

func (i BucketMetricFilterArgs) ToBucketMetricFilterPtrOutput() BucketMetricFilterPtrOutput

func (BucketMetricFilterArgs) ToBucketMetricFilterPtrOutputWithContext

func (i BucketMetricFilterArgs) ToBucketMetricFilterPtrOutputWithContext(ctx context.Context) BucketMetricFilterPtrOutput

type BucketMetricFilterInput

type BucketMetricFilterInput interface {
	pulumi.Input

	ToBucketMetricFilterOutput() BucketMetricFilterOutput
	ToBucketMetricFilterOutputWithContext(context.Context) BucketMetricFilterOutput
}

BucketMetricFilterInput is an input type that accepts BucketMetricFilterArgs and BucketMetricFilterOutput values. You can construct a concrete instance of `BucketMetricFilterInput` via:

BucketMetricFilterArgs{...}

type BucketMetricFilterOutput

type BucketMetricFilterOutput struct{ *pulumi.OutputState }

func (BucketMetricFilterOutput) AccessPoint

S3 Access Point ARN for filtering (singular).

func (BucketMetricFilterOutput) ElementType

func (BucketMetricFilterOutput) ElementType() reflect.Type

func (BucketMetricFilterOutput) Prefix

Object prefix for filtering (singular).

func (BucketMetricFilterOutput) Tags

Object tags for filtering (up to 10).

func (BucketMetricFilterOutput) ToBucketMetricFilterOutput

func (o BucketMetricFilterOutput) ToBucketMetricFilterOutput() BucketMetricFilterOutput

func (BucketMetricFilterOutput) ToBucketMetricFilterOutputWithContext

func (o BucketMetricFilterOutput) ToBucketMetricFilterOutputWithContext(ctx context.Context) BucketMetricFilterOutput

func (BucketMetricFilterOutput) ToBucketMetricFilterPtrOutput

func (o BucketMetricFilterOutput) ToBucketMetricFilterPtrOutput() BucketMetricFilterPtrOutput

func (BucketMetricFilterOutput) ToBucketMetricFilterPtrOutputWithContext

func (o BucketMetricFilterOutput) ToBucketMetricFilterPtrOutputWithContext(ctx context.Context) BucketMetricFilterPtrOutput

type BucketMetricFilterPtrInput

type BucketMetricFilterPtrInput interface {
	pulumi.Input

	ToBucketMetricFilterPtrOutput() BucketMetricFilterPtrOutput
	ToBucketMetricFilterPtrOutputWithContext(context.Context) BucketMetricFilterPtrOutput
}

BucketMetricFilterPtrInput is an input type that accepts BucketMetricFilterArgs, BucketMetricFilterPtr and BucketMetricFilterPtrOutput values. You can construct a concrete instance of `BucketMetricFilterPtrInput` via:

        BucketMetricFilterArgs{...}

or:

        nil

type BucketMetricFilterPtrOutput

type BucketMetricFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketMetricFilterPtrOutput) AccessPoint

S3 Access Point ARN for filtering (singular).

func (BucketMetricFilterPtrOutput) Elem

func (BucketMetricFilterPtrOutput) ElementType

func (BucketMetricFilterPtrOutput) Prefix

Object prefix for filtering (singular).

func (BucketMetricFilterPtrOutput) Tags

Object tags for filtering (up to 10).

func (BucketMetricFilterPtrOutput) ToBucketMetricFilterPtrOutput

func (o BucketMetricFilterPtrOutput) ToBucketMetricFilterPtrOutput() BucketMetricFilterPtrOutput

func (BucketMetricFilterPtrOutput) ToBucketMetricFilterPtrOutputWithContext

func (o BucketMetricFilterPtrOutput) ToBucketMetricFilterPtrOutputWithContext(ctx context.Context) BucketMetricFilterPtrOutput

type BucketMetricInput

type BucketMetricInput interface {
	pulumi.Input

	ToBucketMetricOutput() BucketMetricOutput
	ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput
}

type BucketMetricMap

type BucketMetricMap map[string]BucketMetricInput

func (BucketMetricMap) ElementType

func (BucketMetricMap) ElementType() reflect.Type

func (BucketMetricMap) ToBucketMetricMapOutput

func (i BucketMetricMap) ToBucketMetricMapOutput() BucketMetricMapOutput

func (BucketMetricMap) ToBucketMetricMapOutputWithContext

func (i BucketMetricMap) ToBucketMetricMapOutputWithContext(ctx context.Context) BucketMetricMapOutput

type BucketMetricMapInput

type BucketMetricMapInput interface {
	pulumi.Input

	ToBucketMetricMapOutput() BucketMetricMapOutput
	ToBucketMetricMapOutputWithContext(context.Context) BucketMetricMapOutput
}

BucketMetricMapInput is an input type that accepts BucketMetricMap and BucketMetricMapOutput values. You can construct a concrete instance of `BucketMetricMapInput` via:

BucketMetricMap{ "key": BucketMetricArgs{...} }

type BucketMetricMapOutput

type BucketMetricMapOutput struct{ *pulumi.OutputState }

func (BucketMetricMapOutput) ElementType

func (BucketMetricMapOutput) ElementType() reflect.Type

func (BucketMetricMapOutput) MapIndex

func (BucketMetricMapOutput) ToBucketMetricMapOutput

func (o BucketMetricMapOutput) ToBucketMetricMapOutput() BucketMetricMapOutput

func (BucketMetricMapOutput) ToBucketMetricMapOutputWithContext

func (o BucketMetricMapOutput) ToBucketMetricMapOutputWithContext(ctx context.Context) BucketMetricMapOutput

type BucketMetricOutput

type BucketMetricOutput struct{ *pulumi.OutputState }

func (BucketMetricOutput) Bucket

Name of the bucket to put metric configuration.

func (BucketMetricOutput) ElementType

func (BucketMetricOutput) ElementType() reflect.Type

func (BucketMetricOutput) Filter

[Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).

func (BucketMetricOutput) Name

Unique identifier of the metrics configuration for the bucket. Must be less than or equal to 64 characters in length.

func (BucketMetricOutput) Region

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.

func (BucketMetricOutput) ToBucketMetricOutput

func (o BucketMetricOutput) ToBucketMetricOutput() BucketMetricOutput

func (BucketMetricOutput) ToBucketMetricOutputWithContext

func (o BucketMetricOutput) ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput

type BucketMetricState

type BucketMetricState struct {
	// Name of the bucket to put metric configuration.
	Bucket pulumi.StringPtrInput
	// [Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
	Filter BucketMetricFilterPtrInput
	// Unique identifier of the metrics configuration for the bucket. Must be less than or equal to 64 characters in length.
	Name pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

func (BucketMetricState) ElementType

func (BucketMetricState) ElementType() reflect.Type

type BucketNotification

type BucketNotification struct {
	pulumi.CustomResourceState

	// Name of the bucket for notification configuration.
	//
	// The following arguments are optional:
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Whether to enable Amazon EventBridge notifications. Defaults to `false`.
	Eventbridge pulumi.BoolPtrOutput `pulumi:"eventbridge"`
	// Used to configure notifications to a Lambda Function. See below.
	LambdaFunctions BucketNotificationLambdaFunctionArrayOutput `pulumi:"lambdaFunctions"`
	// Notification configuration to SQS Queue. See below.
	Queues BucketNotificationQueueArrayOutput `pulumi:"queues"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Notification configuration to SNS Topic. See below.
	Topics BucketNotificationTopicArrayOutput `pulumi:"topics"`
}

Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).

> **NOTE:** S3 Buckets only support a single notification configuration resource. Declaring multiple `s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. This resource will overwrite any existing event notifications configured for the S3 bucket it's associated with. See the example "Trigger multiple Lambda functions" for an option of how to configure multiple triggers within this resource.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Add notification configuration to SNS Topic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		topic := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("Service"),
							Identifiers: pulumi.StringArray{
								pulumi.String("s3.amazonaws.com"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("SNS:Publish"),
					},
					Resources: pulumi.StringArray{
						pulumi.String("arn:aws:sns:*:*:s3-event-notification-topic"),
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("ArnLike"),
							Variable: pulumi.String("aws:SourceArn"),
							Values: pulumi.StringArray{
								bucket.Arn,
							},
						},
					},
				},
			},
		}, nil)
		topicTopic, err := sns.NewTopic(ctx, "topic", &sns.TopicArgs{
			Name: pulumi.String("s3-event-notification-topic"),
			Policy: pulumi.String(topic.ApplyT(func(topic iam.GetPolicyDocumentResult) (*string, error) {
				return &topic.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Topics: s3.BucketNotificationTopicArray{
				&s3.BucketNotificationTopicArgs{
					TopicArn: topicTopic.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterSuffix: pulumi.String(".log"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add notification configuration to SQS Queue

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		queue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("*"),
							Identifiers: pulumi.StringArray{
								pulumi.String("*"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("sqs:SendMessage"),
					},
					Resources: pulumi.StringArray{
						pulumi.String("arn:aws:sqs:*:*:s3-event-notification-queue"),
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("ArnEquals"),
							Variable: pulumi.String("aws:SourceArn"),
							Values: pulumi.StringArray{
								bucket.Arn,
							},
						},
					},
				},
			},
		}, nil)
		queueQueue, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{
			Name: pulumi.String("s3-event-notification-queue"),
			Policy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {
				return &queue.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Queues: s3.BucketNotificationQueueArray{
				&s3.BucketNotificationQueueArgs{
					QueueArn: queueQueue.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterSuffix: pulumi.String(".log"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add notification configuration to Lambda Function

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"lambda.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		iamForLambda, err := iam.NewRole(ctx, "iam_for_lambda", &iam.RoleArgs{
			Name:             pulumi.String("iam_for_lambda"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		_func, err := lambda.NewFunction(ctx, "func", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("your-function.zip"),
			Name:    pulumi.String("example_lambda_name"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
			Runtime: pulumi.String(lambda.RuntimeNodeJS20dX),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		allowBucket, err := lambda.NewPermission(ctx, "allow_bucket", &lambda.PermissionArgs{
			StatementId: pulumi.String("AllowExecutionFromS3Bucket"),
			Action:      pulumi.String("lambda:InvokeFunction"),
			Function:    _func.Arn,
			Principal:   pulumi.String("s3.amazonaws.com"),
			SourceArn:   bucket.Arn,
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			LambdaFunctions: s3.BucketNotificationLambdaFunctionArray{
				&s3.BucketNotificationLambdaFunctionArgs{
					LambdaFunctionArn: _func.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("AWSLogs/"),
					FilterSuffix: pulumi.String(".log"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			allowBucket,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Trigger multiple Lambda functions

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"lambda.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		iamForLambda, err := iam.NewRole(ctx, "iam_for_lambda", &iam.RoleArgs{
			Name:             pulumi.String("iam_for_lambda"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		func1, err := lambda.NewFunction(ctx, "func1", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("your-function1.zip"),
			Name:    pulumi.String("example_lambda_name1"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
			Runtime: pulumi.String(lambda.RuntimeNodeJS20dX),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		allowBucket1, err := lambda.NewPermission(ctx, "allow_bucket1", &lambda.PermissionArgs{
			StatementId: pulumi.String("AllowExecutionFromS3Bucket1"),
			Action:      pulumi.String("lambda:InvokeFunction"),
			Function:    func1.Arn,
			Principal:   pulumi.String("s3.amazonaws.com"),
			SourceArn:   bucket.Arn,
		})
		if err != nil {
			return err
		}
		func2, err := lambda.NewFunction(ctx, "func2", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("your-function2.zip"),
			Name:    pulumi.String("example_lambda_name2"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
		})
		if err != nil {
			return err
		}
		allowBucket2, err := lambda.NewPermission(ctx, "allow_bucket2", &lambda.PermissionArgs{
			StatementId: pulumi.String("AllowExecutionFromS3Bucket2"),
			Action:      pulumi.String("lambda:InvokeFunction"),
			Function:    func2.Arn,
			Principal:   pulumi.String("s3.amazonaws.com"),
			SourceArn:   bucket.Arn,
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			LambdaFunctions: s3.BucketNotificationLambdaFunctionArray{
				&s3.BucketNotificationLambdaFunctionArgs{
					LambdaFunctionArn: func1.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("AWSLogs/"),
					FilterSuffix: pulumi.String(".log"),
				},
				&s3.BucketNotificationLambdaFunctionArgs{
					LambdaFunctionArn: func2.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("OtherLogs/"),
					FilterSuffix: pulumi.String(".log"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			allowBucket1,
			allowBucket2,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add multiple notification configurations to SQS Queue

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		queue := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("*"),
							Identifiers: pulumi.StringArray{
								pulumi.String("*"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("sqs:SendMessage"),
					},
					Resources: pulumi.StringArray{
						pulumi.String("arn:aws:sqs:*:*:s3-event-notification-queue"),
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("ArnEquals"),
							Variable: pulumi.String("aws:SourceArn"),
							Values: pulumi.StringArray{
								bucket.Arn,
							},
						},
					},
				},
			},
		}, nil)
		queueQueue, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{
			Name: pulumi.String("s3-event-notification-queue"),
			Policy: pulumi.String(queue.ApplyT(func(queue iam.GetPolicyDocumentResult) (*string, error) {
				return &queue.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Queues: s3.BucketNotificationQueueArray{
				&s3.BucketNotificationQueueArgs{
					Id:       pulumi.String("image-upload-event"),
					QueueArn: queueQueue.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("images/"),
				},
				&s3.BucketNotificationQueueArgs{
					Id:       pulumi.String("video-upload-event"),
					QueueArn: queueQueue.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("videos/"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

For JSON syntax, use an array instead of defining the `queue` key twice.

### Emit events to EventBridge

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("your-bucket-name"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucket_notification", &s3.BucketNotificationArgs{
			Bucket:      bucket.ID(),
			Eventbridge: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket notification using the `bucket`. For example:

```sh $ pulumi import aws:s3/bucketNotification:BucketNotification bucket_notification bucket-name ```

func GetBucketNotification

func GetBucketNotification(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketNotificationState, opts ...pulumi.ResourceOption) (*BucketNotification, error)

GetBucketNotification gets an existing BucketNotification resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketNotification

func NewBucketNotification(ctx *pulumi.Context,
	name string, args *BucketNotificationArgs, opts ...pulumi.ResourceOption) (*BucketNotification, error)

NewBucketNotification registers a new resource with the given unique name, arguments, and options.

func (*BucketNotification) ElementType

func (*BucketNotification) ElementType() reflect.Type

func (*BucketNotification) ToBucketNotificationOutput

func (i *BucketNotification) ToBucketNotificationOutput() BucketNotificationOutput

func (*BucketNotification) ToBucketNotificationOutputWithContext

func (i *BucketNotification) ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput

type BucketNotificationArgs

type BucketNotificationArgs struct {
	// Name of the bucket for notification configuration.
	//
	// The following arguments are optional:
	Bucket pulumi.StringInput
	// Whether to enable Amazon EventBridge notifications. Defaults to `false`.
	Eventbridge pulumi.BoolPtrInput
	// Used to configure notifications to a Lambda Function. See below.
	LambdaFunctions BucketNotificationLambdaFunctionArrayInput
	// Notification configuration to SQS Queue. See below.
	Queues BucketNotificationQueueArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// Notification configuration to SNS Topic. See below.
	Topics BucketNotificationTopicArrayInput
}

The set of arguments for constructing a BucketNotification resource.

func (BucketNotificationArgs) ElementType

func (BucketNotificationArgs) ElementType() reflect.Type

type BucketNotificationArray

type BucketNotificationArray []BucketNotificationInput

func (BucketNotificationArray) ElementType

func (BucketNotificationArray) ElementType() reflect.Type

func (BucketNotificationArray) ToBucketNotificationArrayOutput

func (i BucketNotificationArray) ToBucketNotificationArrayOutput() BucketNotificationArrayOutput

func (BucketNotificationArray) ToBucketNotificationArrayOutputWithContext

func (i BucketNotificationArray) ToBucketNotificationArrayOutputWithContext(ctx context.Context) BucketNotificationArrayOutput

type BucketNotificationArrayInput

type BucketNotificationArrayInput interface {
	pulumi.Input

	ToBucketNotificationArrayOutput() BucketNotificationArrayOutput
	ToBucketNotificationArrayOutputWithContext(context.Context) BucketNotificationArrayOutput
}

BucketNotificationArrayInput is an input type that accepts BucketNotificationArray and BucketNotificationArrayOutput values. You can construct a concrete instance of `BucketNotificationArrayInput` via:

BucketNotificationArray{ BucketNotificationArgs{...} }

type BucketNotificationArrayOutput

type BucketNotificationArrayOutput struct{ *pulumi.OutputState }

func (BucketNotificationArrayOutput) ElementType

func (BucketNotificationArrayOutput) Index

func (BucketNotificationArrayOutput) ToBucketNotificationArrayOutput

func (o BucketNotificationArrayOutput) ToBucketNotificationArrayOutput() BucketNotificationArrayOutput

func (BucketNotificationArrayOutput) ToBucketNotificationArrayOutputWithContext

func (o BucketNotificationArrayOutput) ToBucketNotificationArrayOutputWithContext(ctx context.Context) BucketNotificationArrayOutput

type BucketNotificationInput

type BucketNotificationInput interface {
	pulumi.Input

	ToBucketNotificationOutput() BucketNotificationOutput
	ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput
}

type BucketNotificationLambdaFunction

type BucketNotificationLambdaFunction struct {
	// [Event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// Lambda function ARN.
	LambdaFunctionArn *string `pulumi:"lambdaFunctionArn"`
}

type BucketNotificationLambdaFunctionArgs

type BucketNotificationLambdaFunctionArgs struct {
	// [Event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Lambda function ARN.
	LambdaFunctionArn pulumi.StringPtrInput `pulumi:"lambdaFunctionArn"`
}

func (BucketNotificationLambdaFunctionArgs) ElementType

func (BucketNotificationLambdaFunctionArgs) ToBucketNotificationLambdaFunctionOutput

func (i BucketNotificationLambdaFunctionArgs) ToBucketNotificationLambdaFunctionOutput() BucketNotificationLambdaFunctionOutput

func (BucketNotificationLambdaFunctionArgs) ToBucketNotificationLambdaFunctionOutputWithContext

func (i BucketNotificationLambdaFunctionArgs) ToBucketNotificationLambdaFunctionOutputWithContext(ctx context.Context) BucketNotificationLambdaFunctionOutput

type BucketNotificationLambdaFunctionArray

type BucketNotificationLambdaFunctionArray []BucketNotificationLambdaFunctionInput

func (BucketNotificationLambdaFunctionArray) ElementType

func (BucketNotificationLambdaFunctionArray) ToBucketNotificationLambdaFunctionArrayOutput

func (i BucketNotificationLambdaFunctionArray) ToBucketNotificationLambdaFunctionArrayOutput() BucketNotificationLambdaFunctionArrayOutput

func (BucketNotificationLambdaFunctionArray) ToBucketNotificationLambdaFunctionArrayOutputWithContext

func (i BucketNotificationLambdaFunctionArray) ToBucketNotificationLambdaFunctionArrayOutputWithContext(ctx context.Context) BucketNotificationLambdaFunctionArrayOutput

type BucketNotificationLambdaFunctionArrayInput

type BucketNotificationLambdaFunctionArrayInput interface {
	pulumi.Input

	ToBucketNotificationLambdaFunctionArrayOutput() BucketNotificationLambdaFunctionArrayOutput
	ToBucketNotificationLambdaFunctionArrayOutputWithContext(context.Context) BucketNotificationLambdaFunctionArrayOutput
}

BucketNotificationLambdaFunctionArrayInput is an input type that accepts BucketNotificationLambdaFunctionArray and BucketNotificationLambdaFunctionArrayOutput values. You can construct a concrete instance of `BucketNotificationLambdaFunctionArrayInput` via:

BucketNotificationLambdaFunctionArray{ BucketNotificationLambdaFunctionArgs{...} }

type BucketNotificationLambdaFunctionArrayOutput

type BucketNotificationLambdaFunctionArrayOutput struct{ *pulumi.OutputState }

func (BucketNotificationLambdaFunctionArrayOutput) ElementType

func (BucketNotificationLambdaFunctionArrayOutput) Index

func (BucketNotificationLambdaFunctionArrayOutput) ToBucketNotificationLambdaFunctionArrayOutput

func (o BucketNotificationLambdaFunctionArrayOutput) ToBucketNotificationLambdaFunctionArrayOutput() BucketNotificationLambdaFunctionArrayOutput

func (BucketNotificationLambdaFunctionArrayOutput) ToBucketNotificationLambdaFunctionArrayOutputWithContext

func (o BucketNotificationLambdaFunctionArrayOutput) ToBucketNotificationLambdaFunctionArrayOutputWithContext(ctx context.Context) BucketNotificationLambdaFunctionArrayOutput

type BucketNotificationLambdaFunctionInput

type BucketNotificationLambdaFunctionInput interface {
	pulumi.Input

	ToBucketNotificationLambdaFunctionOutput() BucketNotificationLambdaFunctionOutput
	ToBucketNotificationLambdaFunctionOutputWithContext(context.Context) BucketNotificationLambdaFunctionOutput
}

BucketNotificationLambdaFunctionInput is an input type that accepts BucketNotificationLambdaFunctionArgs and BucketNotificationLambdaFunctionOutput values. You can construct a concrete instance of `BucketNotificationLambdaFunctionInput` via:

BucketNotificationLambdaFunctionArgs{...}

type BucketNotificationLambdaFunctionOutput

type BucketNotificationLambdaFunctionOutput struct{ *pulumi.OutputState }

func (BucketNotificationLambdaFunctionOutput) ElementType

func (BucketNotificationLambdaFunctionOutput) FilterPrefix

Object key name prefix.

func (BucketNotificationLambdaFunctionOutput) FilterSuffix

Object key name suffix.

func (BucketNotificationLambdaFunctionOutput) Id

Unique identifier for each of the notification configurations.

func (BucketNotificationLambdaFunctionOutput) LambdaFunctionArn

Lambda function ARN.

func (BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutput

func (o BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutput() BucketNotificationLambdaFunctionOutput

func (BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutputWithContext

func (o BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutputWithContext(ctx context.Context) BucketNotificationLambdaFunctionOutput

type BucketNotificationMap

type BucketNotificationMap map[string]BucketNotificationInput

func (BucketNotificationMap) ElementType

func (BucketNotificationMap) ElementType() reflect.Type

func (BucketNotificationMap) ToBucketNotificationMapOutput

func (i BucketNotificationMap) ToBucketNotificationMapOutput() BucketNotificationMapOutput

func (BucketNotificationMap) ToBucketNotificationMapOutputWithContext

func (i BucketNotificationMap) ToBucketNotificationMapOutputWithContext(ctx context.Context) BucketNotificationMapOutput

type BucketNotificationMapInput

type BucketNotificationMapInput interface {
	pulumi.Input

	ToBucketNotificationMapOutput() BucketNotificationMapOutput
	ToBucketNotificationMapOutputWithContext(context.Context) BucketNotificationMapOutput
}

BucketNotificationMapInput is an input type that accepts BucketNotificationMap and BucketNotificationMapOutput values. You can construct a concrete instance of `BucketNotificationMapInput` via:

BucketNotificationMap{ "key": BucketNotificationArgs{...} }

type BucketNotificationMapOutput

type BucketNotificationMapOutput struct{ *pulumi.OutputState }

func (BucketNotificationMapOutput) ElementType

func (BucketNotificationMapOutput) MapIndex

func (BucketNotificationMapOutput) ToBucketNotificationMapOutput

func (o BucketNotificationMapOutput) ToBucketNotificationMapOutput() BucketNotificationMapOutput

func (BucketNotificationMapOutput) ToBucketNotificationMapOutputWithContext

func (o BucketNotificationMapOutput) ToBucketNotificationMapOutputWithContext(ctx context.Context) BucketNotificationMapOutput

type BucketNotificationOutput

type BucketNotificationOutput struct{ *pulumi.OutputState }

func (BucketNotificationOutput) Bucket

Name of the bucket for notification configuration.

The following arguments are optional:

func (BucketNotificationOutput) ElementType

func (BucketNotificationOutput) ElementType() reflect.Type

func (BucketNotificationOutput) Eventbridge

Whether to enable Amazon EventBridge notifications. Defaults to `false`.

func (BucketNotificationOutput) LambdaFunctions

Used to configure notifications to a Lambda Function. See below.

func (BucketNotificationOutput) Queues

Notification configuration to SQS Queue. See below.

func (BucketNotificationOutput) Region

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.

func (BucketNotificationOutput) ToBucketNotificationOutput

func (o BucketNotificationOutput) ToBucketNotificationOutput() BucketNotificationOutput

func (BucketNotificationOutput) ToBucketNotificationOutputWithContext

func (o BucketNotificationOutput) ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput

func (BucketNotificationOutput) Topics

Notification configuration to SNS Topic. See below.

type BucketNotificationQueue

type BucketNotificationQueue struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// SQS queue ARN.
	QueueArn string `pulumi:"queueArn"`
}

type BucketNotificationQueueArgs

type BucketNotificationQueueArgs struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// SQS queue ARN.
	QueueArn pulumi.StringInput `pulumi:"queueArn"`
}

func (BucketNotificationQueueArgs) ElementType

func (BucketNotificationQueueArgs) ToBucketNotificationQueueOutput

func (i BucketNotificationQueueArgs) ToBucketNotificationQueueOutput() BucketNotificationQueueOutput

func (BucketNotificationQueueArgs) ToBucketNotificationQueueOutputWithContext

func (i BucketNotificationQueueArgs) ToBucketNotificationQueueOutputWithContext(ctx context.Context) BucketNotificationQueueOutput

type BucketNotificationQueueArray

type BucketNotificationQueueArray []BucketNotificationQueueInput

func (BucketNotificationQueueArray) ElementType

func (BucketNotificationQueueArray) ToBucketNotificationQueueArrayOutput

func (i BucketNotificationQueueArray) ToBucketNotificationQueueArrayOutput() BucketNotificationQueueArrayOutput

func (BucketNotificationQueueArray) ToBucketNotificationQueueArrayOutputWithContext

func (i BucketNotificationQueueArray) ToBucketNotificationQueueArrayOutputWithContext(ctx context.Context) BucketNotificationQueueArrayOutput

type BucketNotificationQueueArrayInput

type BucketNotificationQueueArrayInput interface {
	pulumi.Input

	ToBucketNotificationQueueArrayOutput() BucketNotificationQueueArrayOutput
	ToBucketNotificationQueueArrayOutputWithContext(context.Context) BucketNotificationQueueArrayOutput
}

BucketNotificationQueueArrayInput is an input type that accepts BucketNotificationQueueArray and BucketNotificationQueueArrayOutput values. You can construct a concrete instance of `BucketNotificationQueueArrayInput` via:

BucketNotificationQueueArray{ BucketNotificationQueueArgs{...} }

type BucketNotificationQueueArrayOutput

type BucketNotificationQueueArrayOutput struct{ *pulumi.OutputState }

func (BucketNotificationQueueArrayOutput) ElementType

func (BucketNotificationQueueArrayOutput) Index

func (BucketNotificationQueueArrayOutput) ToBucketNotificationQueueArrayOutput

func (o BucketNotificationQueueArrayOutput) ToBucketNotificationQueueArrayOutput() BucketNotificationQueueArrayOutput

func (BucketNotificationQueueArrayOutput) ToBucketNotificationQueueArrayOutputWithContext

func (o BucketNotificationQueueArrayOutput) ToBucketNotificationQueueArrayOutputWithContext(ctx context.Context) BucketNotificationQueueArrayOutput

type BucketNotificationQueueInput

type BucketNotificationQueueInput interface {
	pulumi.Input

	ToBucketNotificationQueueOutput() BucketNotificationQueueOutput
	ToBucketNotificationQueueOutputWithContext(context.Context) BucketNotificationQueueOutput
}

BucketNotificationQueueInput is an input type that accepts BucketNotificationQueueArgs and BucketNotificationQueueOutput values. You can construct a concrete instance of `BucketNotificationQueueInput` via:

BucketNotificationQueueArgs{...}

type BucketNotificationQueueOutput

type BucketNotificationQueueOutput struct{ *pulumi.OutputState }

func (BucketNotificationQueueOutput) ElementType

func (BucketNotificationQueueOutput) FilterPrefix

Object key name prefix.

func (BucketNotificationQueueOutput) FilterSuffix

Object key name suffix.

func (BucketNotificationQueueOutput) Id

Unique identifier for each of the notification configurations.

func (BucketNotificationQueueOutput) QueueArn

SQS queue ARN.

func (BucketNotificationQueueOutput) ToBucketNotificationQueueOutput

func (o BucketNotificationQueueOutput) ToBucketNotificationQueueOutput() BucketNotificationQueueOutput

func (BucketNotificationQueueOutput) ToBucketNotificationQueueOutputWithContext

func (o BucketNotificationQueueOutput) ToBucketNotificationQueueOutputWithContext(ctx context.Context) BucketNotificationQueueOutput

type BucketNotificationState

type BucketNotificationState struct {
	// Name of the bucket for notification configuration.
	//
	// The following arguments are optional:
	Bucket pulumi.StringPtrInput
	// Whether to enable Amazon EventBridge notifications. Defaults to `false`.
	Eventbridge pulumi.BoolPtrInput
	// Used to configure notifications to a Lambda Function. See below.
	LambdaFunctions BucketNotificationLambdaFunctionArrayInput
	// Notification configuration to SQS Queue. See below.
	Queues BucketNotificationQueueArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// Notification configuration to SNS Topic. See below.
	Topics BucketNotificationTopicArrayInput
}

func (BucketNotificationState) ElementType

func (BucketNotificationState) ElementType() reflect.Type

type BucketNotificationTopic

type BucketNotificationTopic struct {
	// [Event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// SNS topic ARN.
	TopicArn string `pulumi:"topicArn"`
}

type BucketNotificationTopicArgs

type BucketNotificationTopicArgs struct {
	// [Event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// SNS topic ARN.
	TopicArn pulumi.StringInput `pulumi:"topicArn"`
}

func (BucketNotificationTopicArgs) ElementType

func (BucketNotificationTopicArgs) ToBucketNotificationTopicOutput

func (i BucketNotificationTopicArgs) ToBucketNotificationTopicOutput() BucketNotificationTopicOutput

func (BucketNotificationTopicArgs) ToBucketNotificationTopicOutputWithContext

func (i BucketNotificationTopicArgs) ToBucketNotificationTopicOutputWithContext(ctx context.Context) BucketNotificationTopicOutput

type BucketNotificationTopicArray

type BucketNotificationTopicArray []BucketNotificationTopicInput

func (BucketNotificationTopicArray) ElementType

func (BucketNotificationTopicArray) ToBucketNotificationTopicArrayOutput

func (i BucketNotificationTopicArray) ToBucketNotificationTopicArrayOutput() BucketNotificationTopicArrayOutput

func (BucketNotificationTopicArray) ToBucketNotificationTopicArrayOutputWithContext

func (i BucketNotificationTopicArray) ToBucketNotificationTopicArrayOutputWithContext(ctx context.Context) BucketNotificationTopicArrayOutput

type BucketNotificationTopicArrayInput

type BucketNotificationTopicArrayInput interface {
	pulumi.Input

	ToBucketNotificationTopicArrayOutput() BucketNotificationTopicArrayOutput
	ToBucketNotificationTopicArrayOutputWithContext(context.Context) BucketNotificationTopicArrayOutput
}

BucketNotificationTopicArrayInput is an input type that accepts BucketNotificationTopicArray and BucketNotificationTopicArrayOutput values. You can construct a concrete instance of `BucketNotificationTopicArrayInput` via:

BucketNotificationTopicArray{ BucketNotificationTopicArgs{...} }

type BucketNotificationTopicArrayOutput

type BucketNotificationTopicArrayOutput struct{ *pulumi.OutputState }

func (BucketNotificationTopicArrayOutput) ElementType

func (BucketNotificationTopicArrayOutput) Index

func (BucketNotificationTopicArrayOutput) ToBucketNotificationTopicArrayOutput

func (o BucketNotificationTopicArrayOutput) ToBucketNotificationTopicArrayOutput() BucketNotificationTopicArrayOutput

func (BucketNotificationTopicArrayOutput) ToBucketNotificationTopicArrayOutputWithContext

func (o BucketNotificationTopicArrayOutput) ToBucketNotificationTopicArrayOutputWithContext(ctx context.Context) BucketNotificationTopicArrayOutput

type BucketNotificationTopicInput

type BucketNotificationTopicInput interface {
	pulumi.Input

	ToBucketNotificationTopicOutput() BucketNotificationTopicOutput
	ToBucketNotificationTopicOutputWithContext(context.Context) BucketNotificationTopicOutput
}

BucketNotificationTopicInput is an input type that accepts BucketNotificationTopicArgs and BucketNotificationTopicOutput values. You can construct a concrete instance of `BucketNotificationTopicInput` via:

BucketNotificationTopicArgs{...}

type BucketNotificationTopicOutput

type BucketNotificationTopicOutput struct{ *pulumi.OutputState }

func (BucketNotificationTopicOutput) ElementType

func (BucketNotificationTopicOutput) FilterPrefix

Object key name prefix.

func (BucketNotificationTopicOutput) FilterSuffix

Object key name suffix.

func (BucketNotificationTopicOutput) Id

Unique identifier for each of the notification configurations.

func (BucketNotificationTopicOutput) ToBucketNotificationTopicOutput

func (o BucketNotificationTopicOutput) ToBucketNotificationTopicOutput() BucketNotificationTopicOutput

func (BucketNotificationTopicOutput) ToBucketNotificationTopicOutputWithContext

func (o BucketNotificationTopicOutput) ToBucketNotificationTopicOutputWithContext(ctx context.Context) BucketNotificationTopicOutput

func (BucketNotificationTopicOutput) TopicArn

SNS topic ARN.

type BucketObject

type BucketObject struct {
	pulumi.CustomResourceState

	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// ARN of the object.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolOutput `pulumi:"bucketKeyEnabled"`
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrOutput `pulumi:"cacheControl"`
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"`
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrOutput `pulumi:"contentDisposition"`
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrOutput `pulumi:"contentEncoding"`
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrOutput `pulumi:"contentLanguage"`
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"` (see `sourceHash` instead).
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringOutput `pulumi:"key"`
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrOutput `pulumi:"objectLockLegalHoldStatus"`
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrOutput `pulumi:"objectLockMode"`
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrOutput `pulumi:"objectLockRetainUntilDate"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringOutput `pulumi:"serverSideEncryption"`
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveOutput `pulumi:"source"`
	// Triggers updates like `etag` but useful to address `etag` encryption limitations.
	SourceHash pulumi.StringPtrOutput `pulumi:"sourceHash"`
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	WebsiteRedirect pulumi.StringPtrOutput `pulumi:"websiteRedirect"`
}

Provides an S3 object resource.

## Example Usage

### Uploading a file to a bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		invokeFilemd5, err := std.Filemd5(ctx, &std.Filemd5Args{
			Input: "path/to/file",
		}, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "object", &s3.BucketObjectArgs{
			Bucket: pulumi.Any("your_bucket_name"),
			Key:    pulumi.String("new_object_key"),
			Source: pulumi.NewFileAsset("path/to/file"),
			Etag:   pulumi.String(invokeFilemd5.Result),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Encrypting with KMS Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplekms, err := kms.NewKey(ctx, "examplekms", &kms.KeyArgs{
			Description:          pulumi.String("KMS key 1"),
			DeletionWindowInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "example", &s3.BucketObjectArgs{
			Key:      pulumi.String("someobject"),
			Bucket:   examplebucket.ID(),
			Source:   pulumi.NewFileAsset("index.html"),
			KmsKeyId: examplekms.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Server Side Encryption with S3 Default Master Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "example", &s3.BucketObjectArgs{
			Key:                  pulumi.String("someobject"),
			Bucket:               examplebucket.ID(),
			Source:               pulumi.NewFileAsset("index.html"),
			ServerSideEncryption: pulumi.String("aws:kms"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Server Side Encryption with AWS-Managed Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "example", &s3.BucketObjectArgs{
			Key:                  pulumi.String("someobject"),
			Bucket:               examplebucket.ID(),
			Source:               pulumi.NewFileAsset("index.html"),
			ServerSideEncryption: pulumi.String("AES256"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### S3 Object Lock

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket:            pulumi.String("examplebuckettftest"),
			ObjectLockEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioning, err := s3.NewBucketVersioning(ctx, "example", &s3.BucketVersioningArgs{
			Bucket: examplebucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "example", &s3.BucketObjectArgs{
			Key:                       pulumi.String("someobject"),
			Bucket:                    examplebucket.ID(),
			Source:                    pulumi.NewFileAsset("important.txt"),
			ObjectLockLegalHoldStatus: pulumi.String("ON"),
			ObjectLockMode:            pulumi.String("GOVERNANCE"),
			ObjectLockRetainUntilDate: pulumi.String("2021-12-31T23:59:60Z"),
			ForceDestroy:              pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketVersioning,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Import using S3 URL syntax:

__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:

Import using the `id`, which is the bucket name and the key together:

```sh $ pulumi import aws:s3/bucketObject:BucketObject example some-bucket-name/some/key.txt ``` Import using S3 URL syntax:

```sh $ pulumi import aws:s3/bucketObject:BucketObject example s3://some-bucket-name/some/key.txt ```

func GetBucketObject

func GetBucketObject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketObjectState, opts ...pulumi.ResourceOption) (*BucketObject, error)

GetBucketObject gets an existing BucketObject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketObject

func NewBucketObject(ctx *pulumi.Context,
	name string, args *BucketObjectArgs, opts ...pulumi.ResourceOption) (*BucketObject, error)

NewBucketObject registers a new resource with the given unique name, arguments, and options.

func (*BucketObject) ElementType

func (*BucketObject) ElementType() reflect.Type

func (*BucketObject) ToBucketObjectOutput

func (i *BucketObject) ToBucketObjectOutput() BucketObjectOutput

func (*BucketObject) ToBucketObjectOutputWithContext

func (i *BucketObject) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

type BucketObjectArgs

type BucketObjectArgs struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrInput
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.Input
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolPtrInput
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"` (see `sourceHash` instead).
	Etag pulumi.StringPtrInput
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringPtrInput
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Triggers updates like `etag` but useful to address `etag` encryption limitations.
	SourceHash pulumi.StringPtrInput
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	WebsiteRedirect pulumi.StringPtrInput
}

The set of arguments for constructing a BucketObject resource.

func (BucketObjectArgs) ElementType

func (BucketObjectArgs) ElementType() reflect.Type

type BucketObjectArray

type BucketObjectArray []BucketObjectInput

func (BucketObjectArray) ElementType

func (BucketObjectArray) ElementType() reflect.Type

func (BucketObjectArray) ToBucketObjectArrayOutput

func (i BucketObjectArray) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArray) ToBucketObjectArrayOutputWithContext

func (i BucketObjectArray) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectArrayInput

type BucketObjectArrayInput interface {
	pulumi.Input

	ToBucketObjectArrayOutput() BucketObjectArrayOutput
	ToBucketObjectArrayOutputWithContext(context.Context) BucketObjectArrayOutput
}

BucketObjectArrayInput is an input type that accepts BucketObjectArray and BucketObjectArrayOutput values. You can construct a concrete instance of `BucketObjectArrayInput` via:

BucketObjectArray{ BucketObjectArgs{...} }

type BucketObjectArrayOutput

type BucketObjectArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectArrayOutput) ElementType

func (BucketObjectArrayOutput) ElementType() reflect.Type

func (BucketObjectArrayOutput) Index

func (BucketObjectArrayOutput) ToBucketObjectArrayOutput

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectInput

type BucketObjectInput interface {
	pulumi.Input

	ToBucketObjectOutput() BucketObjectOutput
	ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput
}

type BucketObjectLockConfiguration

type BucketObjectLockConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.
	ObjectLockEnabled pulumi.StringPtrOutput `pulumi:"objectLockEnabled"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationRulePtrOutput `pulumi:"rule"`
	// This argument is deprecated and no longer needed to enable Object Lock.
	// To enable Object Lock for an existing bucket, you must first enable versioning on the bucket and then enable Object Lock. For more details on versioning, see the `s3.BucketVersioning` resource.
	Token pulumi.StringPtrOutput `pulumi:"token"`
}

Provides an S3 bucket Object Lock configuration resource. For more information about Object Locking, go to [Using S3 Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) in the Amazon S3 User Guide.

> This resource can be used enable Object Lock for **new** and **existing** buckets.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Object Lock configuration for new or existing buckets

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioning(ctx, "example", &s3.BucketVersioningArgs{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectLockConfiguration(ctx, "example", &s3.BucketObjectLockConfigurationArgs{
			Bucket: example.ID(),
			Rule: &s3.BucketObjectLockConfigurationRuleArgs{
				DefaultRetention: &s3.BucketObjectLockConfigurationRuleDefaultRetentionArgs{
					Mode: pulumi.String("COMPLIANCE"),
					Days: pulumi.Int(5),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner`, separated by a comma (`,`). For example:

__Using `pulumi import`__, import an S3 bucket Object Lock Configuration using one of two forms. If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`. For example:

```sh $ pulumi import aws:s3/bucketObjectLockConfiguration:BucketObjectLockConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner`, separated by a comma (`,`). For example:

```sh $ pulumi import aws:s3/bucketObjectLockConfiguration:BucketObjectLockConfiguration example bucket-name,123456789012 ```

func GetBucketObjectLockConfiguration

func GetBucketObjectLockConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketObjectLockConfigurationState, opts ...pulumi.ResourceOption) (*BucketObjectLockConfiguration, error)

GetBucketObjectLockConfiguration gets an existing BucketObjectLockConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketObjectLockConfiguration

func NewBucketObjectLockConfiguration(ctx *pulumi.Context,
	name string, args *BucketObjectLockConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketObjectLockConfiguration, error)

NewBucketObjectLockConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketObjectLockConfiguration) ElementType

func (*BucketObjectLockConfiguration) ToBucketObjectLockConfigurationOutput

func (i *BucketObjectLockConfiguration) ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput

func (*BucketObjectLockConfiguration) ToBucketObjectLockConfigurationOutputWithContext

func (i *BucketObjectLockConfiguration) ToBucketObjectLockConfigurationOutputWithContext(ctx context.Context) BucketObjectLockConfigurationOutput

type BucketObjectLockConfigurationArgs

type BucketObjectLockConfigurationArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.
	ObjectLockEnabled pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationRulePtrInput
	// This argument is deprecated and no longer needed to enable Object Lock.
	// To enable Object Lock for an existing bucket, you must first enable versioning on the bucket and then enable Object Lock. For more details on versioning, see the `s3.BucketVersioning` resource.
	Token pulumi.StringPtrInput
}

The set of arguments for constructing a BucketObjectLockConfiguration resource.

func (BucketObjectLockConfigurationArgs) ElementType

type BucketObjectLockConfigurationArray

type BucketObjectLockConfigurationArray []BucketObjectLockConfigurationInput

func (BucketObjectLockConfigurationArray) ElementType

func (BucketObjectLockConfigurationArray) ToBucketObjectLockConfigurationArrayOutput

func (i BucketObjectLockConfigurationArray) ToBucketObjectLockConfigurationArrayOutput() BucketObjectLockConfigurationArrayOutput

func (BucketObjectLockConfigurationArray) ToBucketObjectLockConfigurationArrayOutputWithContext

func (i BucketObjectLockConfigurationArray) ToBucketObjectLockConfigurationArrayOutputWithContext(ctx context.Context) BucketObjectLockConfigurationArrayOutput

type BucketObjectLockConfigurationArrayInput

type BucketObjectLockConfigurationArrayInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationArrayOutput() BucketObjectLockConfigurationArrayOutput
	ToBucketObjectLockConfigurationArrayOutputWithContext(context.Context) BucketObjectLockConfigurationArrayOutput
}

BucketObjectLockConfigurationArrayInput is an input type that accepts BucketObjectLockConfigurationArray and BucketObjectLockConfigurationArrayOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationArrayInput` via:

BucketObjectLockConfigurationArray{ BucketObjectLockConfigurationArgs{...} }

type BucketObjectLockConfigurationArrayOutput

type BucketObjectLockConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationArrayOutput) ElementType

func (BucketObjectLockConfigurationArrayOutput) Index

func (BucketObjectLockConfigurationArrayOutput) ToBucketObjectLockConfigurationArrayOutput

func (o BucketObjectLockConfigurationArrayOutput) ToBucketObjectLockConfigurationArrayOutput() BucketObjectLockConfigurationArrayOutput

func (BucketObjectLockConfigurationArrayOutput) ToBucketObjectLockConfigurationArrayOutputWithContext

func (o BucketObjectLockConfigurationArrayOutput) ToBucketObjectLockConfigurationArrayOutputWithContext(ctx context.Context) BucketObjectLockConfigurationArrayOutput

type BucketObjectLockConfigurationInput

type BucketObjectLockConfigurationInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput
	ToBucketObjectLockConfigurationOutputWithContext(ctx context.Context) BucketObjectLockConfigurationOutput
}

type BucketObjectLockConfigurationMap

type BucketObjectLockConfigurationMap map[string]BucketObjectLockConfigurationInput

func (BucketObjectLockConfigurationMap) ElementType

func (BucketObjectLockConfigurationMap) ToBucketObjectLockConfigurationMapOutput

func (i BucketObjectLockConfigurationMap) ToBucketObjectLockConfigurationMapOutput() BucketObjectLockConfigurationMapOutput

func (BucketObjectLockConfigurationMap) ToBucketObjectLockConfigurationMapOutputWithContext

func (i BucketObjectLockConfigurationMap) ToBucketObjectLockConfigurationMapOutputWithContext(ctx context.Context) BucketObjectLockConfigurationMapOutput

type BucketObjectLockConfigurationMapInput

type BucketObjectLockConfigurationMapInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationMapOutput() BucketObjectLockConfigurationMapOutput
	ToBucketObjectLockConfigurationMapOutputWithContext(context.Context) BucketObjectLockConfigurationMapOutput
}

BucketObjectLockConfigurationMapInput is an input type that accepts BucketObjectLockConfigurationMap and BucketObjectLockConfigurationMapOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationMapInput` via:

BucketObjectLockConfigurationMap{ "key": BucketObjectLockConfigurationArgs{...} }

type BucketObjectLockConfigurationMapOutput

type BucketObjectLockConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationMapOutput) ElementType

func (BucketObjectLockConfigurationMapOutput) MapIndex

func (BucketObjectLockConfigurationMapOutput) ToBucketObjectLockConfigurationMapOutput

func (o BucketObjectLockConfigurationMapOutput) ToBucketObjectLockConfigurationMapOutput() BucketObjectLockConfigurationMapOutput

func (BucketObjectLockConfigurationMapOutput) ToBucketObjectLockConfigurationMapOutputWithContext

func (o BucketObjectLockConfigurationMapOutput) ToBucketObjectLockConfigurationMapOutputWithContext(ctx context.Context) BucketObjectLockConfigurationMapOutput

type BucketObjectLockConfigurationOutput

type BucketObjectLockConfigurationOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationOutput) Bucket

Name of the bucket.

func (BucketObjectLockConfigurationOutput) ElementType

func (BucketObjectLockConfigurationOutput) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketObjectLockConfigurationOutput) ObjectLockEnabled

Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.

func (BucketObjectLockConfigurationOutput) Region

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.

func (BucketObjectLockConfigurationOutput) Rule

Configuration block for specifying the Object Lock rule for the specified object. See below.

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutput

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutputWithContext

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutputWithContext(ctx context.Context) BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationOutput) Token

This argument is deprecated and no longer needed to enable Object Lock. To enable Object Lock for an existing bucket, you must first enable versioning on the bucket and then enable Object Lock. For more details on versioning, see the `s3.BucketVersioning` resource.

type BucketObjectLockConfigurationRule

type BucketObjectLockConfigurationRule struct {
	// Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.
	DefaultRetention BucketObjectLockConfigurationRuleDefaultRetention `pulumi:"defaultRetention"`
}

type BucketObjectLockConfigurationRuleArgs

type BucketObjectLockConfigurationRuleArgs struct {
	// Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.
	DefaultRetention BucketObjectLockConfigurationRuleDefaultRetentionInput `pulumi:"defaultRetention"`
}

func (BucketObjectLockConfigurationRuleArgs) ElementType

func (BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRuleOutput

func (i BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRuleOutput() BucketObjectLockConfigurationRuleOutput

func (BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRuleOutputWithContext

func (i BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRuleOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleOutput

func (BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRulePtrOutput

func (i BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRulePtrOutput() BucketObjectLockConfigurationRulePtrOutput

func (BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRulePtrOutputWithContext

func (i BucketObjectLockConfigurationRuleArgs) ToBucketObjectLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRulePtrOutput

type BucketObjectLockConfigurationRuleDefaultRetention

type BucketObjectLockConfigurationRuleDefaultRetention struct {
	// Number of days that you want to specify for the default retention period.
	Days *int `pulumi:"days"`
	// Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.
	Mode *string `pulumi:"mode"`
	// Number of years that you want to specify for the default retention period.
	Years *int `pulumi:"years"`
}

type BucketObjectLockConfigurationRuleDefaultRetentionArgs

type BucketObjectLockConfigurationRuleDefaultRetentionArgs struct {
	// Number of days that you want to specify for the default retention period.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.
	Mode pulumi.StringPtrInput `pulumi:"mode"`
	// Number of years that you want to specify for the default retention period.
	Years pulumi.IntPtrInput `pulumi:"years"`
}

func (BucketObjectLockConfigurationRuleDefaultRetentionArgs) ElementType

func (BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionOutput

func (i BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionOutput() BucketObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionOutputWithContext

func (i BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (i BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput() BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (i BucketObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

type BucketObjectLockConfigurationRuleDefaultRetentionInput

type BucketObjectLockConfigurationRuleDefaultRetentionInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationRuleDefaultRetentionOutput() BucketObjectLockConfigurationRuleDefaultRetentionOutput
	ToBucketObjectLockConfigurationRuleDefaultRetentionOutputWithContext(context.Context) BucketObjectLockConfigurationRuleDefaultRetentionOutput
}

BucketObjectLockConfigurationRuleDefaultRetentionInput is an input type that accepts BucketObjectLockConfigurationRuleDefaultRetentionArgs and BucketObjectLockConfigurationRuleDefaultRetentionOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationRuleDefaultRetentionInput` via:

BucketObjectLockConfigurationRuleDefaultRetentionArgs{...}

type BucketObjectLockConfigurationRuleDefaultRetentionOutput

type BucketObjectLockConfigurationRuleDefaultRetentionOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) Days

Number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ElementType

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) Mode

Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionOutputWithContext

func (o BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (o BucketObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) Years

Number of years that you want to specify for the default retention period.

type BucketObjectLockConfigurationRuleDefaultRetentionPtrInput

type BucketObjectLockConfigurationRuleDefaultRetentionPtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput() BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput
	ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext(context.Context) BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput
}

BucketObjectLockConfigurationRuleDefaultRetentionPtrInput is an input type that accepts BucketObjectLockConfigurationRuleDefaultRetentionArgs, BucketObjectLockConfigurationRuleDefaultRetentionPtr and BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationRuleDefaultRetentionPtrInput` via:

        BucketObjectLockConfigurationRuleDefaultRetentionArgs{...}

or:

        nil

type BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

type BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Days

Number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Elem

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ElementType

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Mode

Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (o BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Years

Number of years that you want to specify for the default retention period.

type BucketObjectLockConfigurationRuleInput

type BucketObjectLockConfigurationRuleInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationRuleOutput() BucketObjectLockConfigurationRuleOutput
	ToBucketObjectLockConfigurationRuleOutputWithContext(context.Context) BucketObjectLockConfigurationRuleOutput
}

BucketObjectLockConfigurationRuleInput is an input type that accepts BucketObjectLockConfigurationRuleArgs and BucketObjectLockConfigurationRuleOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationRuleInput` via:

BucketObjectLockConfigurationRuleArgs{...}

type BucketObjectLockConfigurationRuleOutput

type BucketObjectLockConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationRuleOutput) DefaultRetention

Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.

func (BucketObjectLockConfigurationRuleOutput) ElementType

func (BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRuleOutput

func (o BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRuleOutput() BucketObjectLockConfigurationRuleOutput

func (BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRuleOutputWithContext

func (o BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRuleOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleOutput

func (BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRulePtrOutput

func (o BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRulePtrOutput() BucketObjectLockConfigurationRulePtrOutput

func (BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRulePtrOutputWithContext

func (o BucketObjectLockConfigurationRuleOutput) ToBucketObjectLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRulePtrOutput

type BucketObjectLockConfigurationRulePtrInput

type BucketObjectLockConfigurationRulePtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationRulePtrOutput() BucketObjectLockConfigurationRulePtrOutput
	ToBucketObjectLockConfigurationRulePtrOutputWithContext(context.Context) BucketObjectLockConfigurationRulePtrOutput
}

BucketObjectLockConfigurationRulePtrInput is an input type that accepts BucketObjectLockConfigurationRuleArgs, BucketObjectLockConfigurationRulePtr and BucketObjectLockConfigurationRulePtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationRulePtrInput` via:

        BucketObjectLockConfigurationRuleArgs{...}

or:

        nil

type BucketObjectLockConfigurationRulePtrOutput

type BucketObjectLockConfigurationRulePtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationRulePtrOutput) DefaultRetention

Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.

func (BucketObjectLockConfigurationRulePtrOutput) Elem

func (BucketObjectLockConfigurationRulePtrOutput) ElementType

func (BucketObjectLockConfigurationRulePtrOutput) ToBucketObjectLockConfigurationRulePtrOutput

func (o BucketObjectLockConfigurationRulePtrOutput) ToBucketObjectLockConfigurationRulePtrOutput() BucketObjectLockConfigurationRulePtrOutput

func (BucketObjectLockConfigurationRulePtrOutput) ToBucketObjectLockConfigurationRulePtrOutputWithContext

func (o BucketObjectLockConfigurationRulePtrOutput) ToBucketObjectLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRulePtrOutput

type BucketObjectLockConfigurationState

type BucketObjectLockConfigurationState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.
	ObjectLockEnabled pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationRulePtrInput
	// This argument is deprecated and no longer needed to enable Object Lock.
	// To enable Object Lock for an existing bucket, you must first enable versioning on the bucket and then enable Object Lock. For more details on versioning, see the `s3.BucketVersioning` resource.
	Token pulumi.StringPtrInput
}

func (BucketObjectLockConfigurationState) ElementType

type BucketObjectLockConfigurationType

type BucketObjectLockConfigurationType struct {
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
	//
	// Deprecated: object_lock_enabled is deprecated. Use the top-level parameter objectLockEnabled instead.
	ObjectLockEnabled *string `pulumi:"objectLockEnabled"`
	// Object Lock rule in place for this bucket (documented below).
	//
	// Deprecated: rule is deprecated. Use the s3.BucketObjectLockConfiguration resource instead.
	Rule *BucketObjectLockConfigurationRule `pulumi:"rule"`
}

type BucketObjectLockConfigurationTypeArgs

type BucketObjectLockConfigurationTypeArgs struct {
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
	//
	// Deprecated: object_lock_enabled is deprecated. Use the top-level parameter objectLockEnabled instead.
	ObjectLockEnabled pulumi.StringPtrInput `pulumi:"objectLockEnabled"`
	// Object Lock rule in place for this bucket (documented below).
	//
	// Deprecated: rule is deprecated. Use the s3.BucketObjectLockConfiguration resource instead.
	Rule BucketObjectLockConfigurationRulePtrInput `pulumi:"rule"`
}

func (BucketObjectLockConfigurationTypeArgs) ElementType

func (BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypeOutput

func (i BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypeOutput() BucketObjectLockConfigurationTypeOutput

func (BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypeOutputWithContext

func (i BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypeOutputWithContext(ctx context.Context) BucketObjectLockConfigurationTypeOutput

func (BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypePtrOutput

func (i BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypePtrOutput() BucketObjectLockConfigurationTypePtrOutput

func (BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypePtrOutputWithContext

func (i BucketObjectLockConfigurationTypeArgs) ToBucketObjectLockConfigurationTypePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationTypePtrOutput

type BucketObjectLockConfigurationTypeInput

type BucketObjectLockConfigurationTypeInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationTypeOutput() BucketObjectLockConfigurationTypeOutput
	ToBucketObjectLockConfigurationTypeOutputWithContext(context.Context) BucketObjectLockConfigurationTypeOutput
}

BucketObjectLockConfigurationTypeInput is an input type that accepts BucketObjectLockConfigurationTypeArgs and BucketObjectLockConfigurationTypeOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationTypeInput` via:

BucketObjectLockConfigurationTypeArgs{...}

type BucketObjectLockConfigurationTypeOutput

type BucketObjectLockConfigurationTypeOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationTypeOutput) ElementType

func (BucketObjectLockConfigurationTypeOutput) ObjectLockEnabled deprecated

Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.

Deprecated: object_lock_enabled is deprecated. Use the top-level parameter objectLockEnabled instead.

func (BucketObjectLockConfigurationTypeOutput) Rule deprecated

Object Lock rule in place for this bucket (documented below).

Deprecated: rule is deprecated. Use the s3.BucketObjectLockConfiguration resource instead.

func (BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypeOutput

func (o BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypeOutput() BucketObjectLockConfigurationTypeOutput

func (BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypeOutputWithContext

func (o BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypeOutputWithContext(ctx context.Context) BucketObjectLockConfigurationTypeOutput

func (BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypePtrOutput

func (o BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypePtrOutput() BucketObjectLockConfigurationTypePtrOutput

func (BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypePtrOutputWithContext

func (o BucketObjectLockConfigurationTypeOutput) ToBucketObjectLockConfigurationTypePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationTypePtrOutput

type BucketObjectLockConfigurationTypePtrInput

type BucketObjectLockConfigurationTypePtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationTypePtrOutput() BucketObjectLockConfigurationTypePtrOutput
	ToBucketObjectLockConfigurationTypePtrOutputWithContext(context.Context) BucketObjectLockConfigurationTypePtrOutput
}

BucketObjectLockConfigurationTypePtrInput is an input type that accepts BucketObjectLockConfigurationTypeArgs, BucketObjectLockConfigurationTypePtr and BucketObjectLockConfigurationTypePtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationTypePtrInput` via:

        BucketObjectLockConfigurationTypeArgs{...}

or:

        nil

type BucketObjectLockConfigurationTypePtrOutput

type BucketObjectLockConfigurationTypePtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationTypePtrOutput) Elem

func (BucketObjectLockConfigurationTypePtrOutput) ElementType

func (BucketObjectLockConfigurationTypePtrOutput) ObjectLockEnabled deprecated

Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.

Deprecated: object_lock_enabled is deprecated. Use the top-level parameter objectLockEnabled instead.

func (BucketObjectLockConfigurationTypePtrOutput) Rule deprecated

Object Lock rule in place for this bucket (documented below).

Deprecated: rule is deprecated. Use the s3.BucketObjectLockConfiguration resource instead.

func (BucketObjectLockConfigurationTypePtrOutput) ToBucketObjectLockConfigurationTypePtrOutput

func (o BucketObjectLockConfigurationTypePtrOutput) ToBucketObjectLockConfigurationTypePtrOutput() BucketObjectLockConfigurationTypePtrOutput

func (BucketObjectLockConfigurationTypePtrOutput) ToBucketObjectLockConfigurationTypePtrOutputWithContext

func (o BucketObjectLockConfigurationTypePtrOutput) ToBucketObjectLockConfigurationTypePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationTypePtrOutput

type BucketObjectMap

type BucketObjectMap map[string]BucketObjectInput

func (BucketObjectMap) ElementType

func (BucketObjectMap) ElementType() reflect.Type

func (BucketObjectMap) ToBucketObjectMapOutput

func (i BucketObjectMap) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMap) ToBucketObjectMapOutputWithContext

func (i BucketObjectMap) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectMapInput

type BucketObjectMapInput interface {
	pulumi.Input

	ToBucketObjectMapOutput() BucketObjectMapOutput
	ToBucketObjectMapOutputWithContext(context.Context) BucketObjectMapOutput
}

BucketObjectMapInput is an input type that accepts BucketObjectMap and BucketObjectMapOutput values. You can construct a concrete instance of `BucketObjectMapInput` via:

BucketObjectMap{ "key": BucketObjectArgs{...} }

type BucketObjectMapOutput

type BucketObjectMapOutput struct{ *pulumi.OutputState }

func (BucketObjectMapOutput) ElementType

func (BucketObjectMapOutput) ElementType() reflect.Type

func (BucketObjectMapOutput) MapIndex

func (BucketObjectMapOutput) ToBucketObjectMapOutput

func (o BucketObjectMapOutput) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMapOutput) ToBucketObjectMapOutputWithContext

func (o BucketObjectMapOutput) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectOutput

type BucketObjectOutput struct{ *pulumi.OutputState }

func (BucketObjectOutput) Acl

[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.

func (BucketObjectOutput) Arn

ARN of the object.

func (BucketObjectOutput) Bucket

Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.

func (BucketObjectOutput) BucketKeyEnabled

func (o BucketObjectOutput) BucketKeyEnabled() pulumi.BoolOutput

Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (BucketObjectOutput) CacheControl

func (o BucketObjectOutput) CacheControl() pulumi.StringPtrOutput

Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.

func (BucketObjectOutput) Content

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

func (BucketObjectOutput) ContentBase64

func (o BucketObjectOutput) ContentBase64() pulumi.StringPtrOutput

Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.

func (BucketObjectOutput) ContentDisposition

func (o BucketObjectOutput) ContentDisposition() pulumi.StringPtrOutput

Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.

func (BucketObjectOutput) ContentEncoding

func (o BucketObjectOutput) ContentEncoding() pulumi.StringPtrOutput

Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.

func (BucketObjectOutput) ContentLanguage

func (o BucketObjectOutput) ContentLanguage() pulumi.StringPtrOutput

Language the content is in e.g., en-US or en-GB.

func (BucketObjectOutput) ContentType

func (o BucketObjectOutput) ContentType() pulumi.StringOutput

Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.

func (BucketObjectOutput) ElementType

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) Etag

Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"` (see `sourceHash` instead).

func (BucketObjectOutput) ForceDestroy

func (o BucketObjectOutput) ForceDestroy() pulumi.BoolPtrOutput

Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.

func (BucketObjectOutput) Key

Name of the object once it is in the bucket.

The following arguments are optional:

func (BucketObjectOutput) KmsKeyId

func (o BucketObjectOutput) KmsKeyId() pulumi.StringOutput

ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.

func (BucketObjectOutput) Metadata

Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).

func (BucketObjectOutput) ObjectLockLegalHoldStatus

func (o BucketObjectOutput) ObjectLockLegalHoldStatus() pulumi.StringPtrOutput

[Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.

func (BucketObjectOutput) ObjectLockMode

func (o BucketObjectOutput) ObjectLockMode() pulumi.StringPtrOutput

Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.

func (BucketObjectOutput) ObjectLockRetainUntilDate

func (o BucketObjectOutput) ObjectLockRetainUntilDate() pulumi.StringPtrOutput

Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).

func (BucketObjectOutput) Region

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.

func (BucketObjectOutput) ServerSideEncryption

func (o BucketObjectOutput) ServerSideEncryption() pulumi.StringOutput

Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".

func (BucketObjectOutput) Source

Path to a file that will be read and uploaded as raw bytes for the object content.

func (BucketObjectOutput) SourceHash

func (o BucketObjectOutput) SourceHash() pulumi.StringPtrOutput

Triggers updates like `etag` but useful to address `etag` encryption limitations.

func (BucketObjectOutput) StorageClass

func (o BucketObjectOutput) StorageClass() pulumi.StringOutput

[Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".

func (BucketObjectOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (BucketObjectOutput) TagsAll

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (BucketObjectOutput) ToBucketObjectOutput

func (o BucketObjectOutput) ToBucketObjectOutput() BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectOutputWithContext

func (o BucketObjectOutput) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

func (BucketObjectOutput) VersionId

func (o BucketObjectOutput) VersionId() pulumi.StringOutput

Unique version ID value for the object, if bucket versioning is enabled.

func (BucketObjectOutput) WebsiteRedirect

func (o BucketObjectOutput) WebsiteRedirect() pulumi.StringPtrOutput

Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).

If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.

> **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.

type BucketObjectState

type BucketObjectState struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrInput
	// ARN of the object.
	Arn pulumi.StringPtrInput
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.Input
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolPtrInput
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"` (see `sourceHash` instead).
	Etag pulumi.StringPtrInput
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringPtrInput
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Triggers updates like `etag` but useful to address `etag` encryption limitations.
	SourceHash pulumi.StringPtrInput
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringPtrInput
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	WebsiteRedirect pulumi.StringPtrInput
}

func (BucketObjectState) ElementType

func (BucketObjectState) ElementType() reflect.Type

type BucketObjectv2

type BucketObjectv2 struct {
	pulumi.CustomResourceState

	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.
	Acl pulumi.StringOutput `pulumi:"acl"`
	// ARN of the object.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolOutput `pulumi:"bucketKeyEnabled"`
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrOutput `pulumi:"cacheControl"`
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrOutput `pulumi:"checksumAlgorithm"`
	// The base64-encoded, 32-bit CRC32 checksum of the object.
	ChecksumCrc32 pulumi.StringOutput `pulumi:"checksumCrc32"`
	// The base64-encoded, 32-bit CRC32C checksum of the object.
	ChecksumCrc32c pulumi.StringOutput `pulumi:"checksumCrc32c"`
	// The base64-encoded, 64-bit CRC64NVME checksum of the object.
	ChecksumCrc64nvme pulumi.StringOutput `pulumi:"checksumCrc64nvme"`
	// The base64-encoded, 160-bit SHA-1 digest of the object.
	ChecksumSha1 pulumi.StringOutput `pulumi:"checksumSha1"`
	// The base64-encoded, 256-bit SHA-256 digest of the object.
	ChecksumSha256 pulumi.StringOutput `pulumi:"checksumSha256"`
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"`
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrOutput `pulumi:"contentDisposition"`
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrOutput `pulumi:"contentEncoding"`
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrOutput `pulumi:"contentLanguage"`
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringOutput `pulumi:"key"`
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrOutput `pulumi:"objectLockLegalHoldStatus"`
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrOutput `pulumi:"objectLockMode"`
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrOutput `pulumi:"objectLockRetainUntilDate"`
	// Override provider-level configuration options. See Override Provider below for more details.
	OverrideProvider BucketObjectv2OverrideProviderPtrOutput `pulumi:"overrideProvider"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringOutput `pulumi:"serverSideEncryption"`
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveOutput `pulumi:"source"`
	// Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)
	SourceHash pulumi.StringPtrOutput `pulumi:"sourceHash"`
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	//
	// > **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.
	WebsiteRedirect pulumi.StringPtrOutput `pulumi:"websiteRedirect"`
}

Provides an S3 object resource.

## Example Usage

### Uploading a file to a bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		invokeFilemd5, err := std.Filemd5(ctx, &std.Filemd5Args{
			Input: "path/to/file",
		}, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "object", &s3.BucketObjectv2Args{
			Bucket: pulumi.Any("your_bucket_name"),
			Key:    pulumi.String("new_object_key"),
			Source: pulumi.NewFileAsset("path/to/file"),
			Etag:   pulumi.String(invokeFilemd5.Result),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Encrypting with KMS Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplekms, err := kms.NewKey(ctx, "examplekms", &kms.KeyArgs{
			Description:          pulumi.String("KMS key 1"),
			DeletionWindowInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
			Key:      pulumi.String("someobject"),
			Bucket:   examplebucket.ID(),
			Source:   pulumi.NewFileAsset("index.html"),
			KmsKeyId: examplekms.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Server Side Encryption with S3 Default Master Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
			Key:                  pulumi.String("someobject"),
			Bucket:               examplebucket.ID(),
			Source:               pulumi.NewFileAsset("index.html"),
			ServerSideEncryption: pulumi.String("aws:kms"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Server Side Encryption with AWS-Managed Key

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
			Key:                  pulumi.String("someobject"),
			Bucket:               examplebucket.ID(),
			Source:               pulumi.NewFileAsset("index.html"),
			ServerSideEncryption: pulumi.String("AES256"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### S3 Object Lock

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket:            pulumi.String("examplebuckettftest"),
			ObjectLockEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioning, err := s3.NewBucketVersioning(ctx, "example", &s3.BucketVersioningArgs{
			Bucket: examplebucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "examplebucket_object", &s3.BucketObjectv2Args{
			Key:                       pulumi.String("someobject"),
			Bucket:                    examplebucket.ID(),
			Source:                    pulumi.NewFileAsset("important.txt"),
			ObjectLockLegalHoldStatus: pulumi.String("ON"),
			ObjectLockMode:            pulumi.String("GOVERNANCE"),
			ObjectLockRetainUntilDate: pulumi.String("2021-12-31T23:59:60Z"),
			ForceDestroy:              pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketVersioning,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Ignoring Provider `defaultTags`

S3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). If the resource's own `tags` and the provider-level `defaultTags` would together lead to more than 10 tags on an S3 object, use the `overrideProvider` configuration block to suppress any provider-level `defaultTags`.

> S3 objects stored in Amazon S3 Express directory buckets do not support tags, so any provider-level `defaultTags` must be suppressed.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "examplebucket_object", &s3.BucketObjectv2Args{
			Key:    pulumi.String("someobject"),
			Bucket: examplebucket.ID(),
			Source: pulumi.NewFileAsset("important.txt"),
			Tags: pulumi.StringMap{
				"Env": pulumi.String("test"),
			},
			OverrideProvider: &s3.BucketObjectv2OverrideProviderArgs{
				DefaultTags: &s3.BucketObjectv2OverrideProviderDefaultTagsArgs{
					Tags: pulumi.StringMap{},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Import using S3 URL syntax:

__Using `pulumi import` to import__ objects using the `id` or S3 URL. For example:

Import using the `id`, which is the bucket name and the key together:

```sh $ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example some-bucket-name/some/key.txt ``` Import using S3 URL syntax:

```sh $ pulumi import aws:s3/bucketObjectv2:BucketObjectv2 example s3://some-bucket-name/some/key.txt ```

func GetBucketObjectv2

func GetBucketObjectv2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketObjectv2State, opts ...pulumi.ResourceOption) (*BucketObjectv2, error)

GetBucketObjectv2 gets an existing BucketObjectv2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketObjectv2

func NewBucketObjectv2(ctx *pulumi.Context,
	name string, args *BucketObjectv2Args, opts ...pulumi.ResourceOption) (*BucketObjectv2, error)

NewBucketObjectv2 registers a new resource with the given unique name, arguments, and options.

func (*BucketObjectv2) ElementType

func (*BucketObjectv2) ElementType() reflect.Type

func (*BucketObjectv2) ToBucketObjectv2Output

func (i *BucketObjectv2) ToBucketObjectv2Output() BucketObjectv2Output

func (*BucketObjectv2) ToBucketObjectv2OutputWithContext

func (i *BucketObjectv2) ToBucketObjectv2OutputWithContext(ctx context.Context) BucketObjectv2Output

type BucketObjectv2Args

type BucketObjectv2Args struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.
	Acl pulumi.StringPtrInput
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.Input
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolPtrInput
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).
	Etag pulumi.StringPtrInput
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringPtrInput
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	// Override provider-level configuration options. See Override Provider below for more details.
	OverrideProvider BucketObjectv2OverrideProviderPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)
	SourceHash pulumi.StringPtrInput
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	//
	// > **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.
	WebsiteRedirect pulumi.StringPtrInput
}

The set of arguments for constructing a BucketObjectv2 resource.

func (BucketObjectv2Args) ElementType

func (BucketObjectv2Args) ElementType() reflect.Type

type BucketObjectv2Array

type BucketObjectv2Array []BucketObjectv2Input

func (BucketObjectv2Array) ElementType

func (BucketObjectv2Array) ElementType() reflect.Type

func (BucketObjectv2Array) ToBucketObjectv2ArrayOutput

func (i BucketObjectv2Array) ToBucketObjectv2ArrayOutput() BucketObjectv2ArrayOutput

func (BucketObjectv2Array) ToBucketObjectv2ArrayOutputWithContext

func (i BucketObjectv2Array) ToBucketObjectv2ArrayOutputWithContext(ctx context.Context) BucketObjectv2ArrayOutput

type BucketObjectv2ArrayInput

type BucketObjectv2ArrayInput interface {
	pulumi.Input

	ToBucketObjectv2ArrayOutput() BucketObjectv2ArrayOutput
	ToBucketObjectv2ArrayOutputWithContext(context.Context) BucketObjectv2ArrayOutput
}

BucketObjectv2ArrayInput is an input type that accepts BucketObjectv2Array and BucketObjectv2ArrayOutput values. You can construct a concrete instance of `BucketObjectv2ArrayInput` via:

BucketObjectv2Array{ BucketObjectv2Args{...} }

type BucketObjectv2ArrayOutput

type BucketObjectv2ArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectv2ArrayOutput) ElementType

func (BucketObjectv2ArrayOutput) ElementType() reflect.Type

func (BucketObjectv2ArrayOutput) Index

func (BucketObjectv2ArrayOutput) ToBucketObjectv2ArrayOutput

func (o BucketObjectv2ArrayOutput) ToBucketObjectv2ArrayOutput() BucketObjectv2ArrayOutput

func (BucketObjectv2ArrayOutput) ToBucketObjectv2ArrayOutputWithContext

func (o BucketObjectv2ArrayOutput) ToBucketObjectv2ArrayOutputWithContext(ctx context.Context) BucketObjectv2ArrayOutput

type BucketObjectv2Input

type BucketObjectv2Input interface {
	pulumi.Input

	ToBucketObjectv2Output() BucketObjectv2Output
	ToBucketObjectv2OutputWithContext(ctx context.Context) BucketObjectv2Output
}

type BucketObjectv2Map

type BucketObjectv2Map map[string]BucketObjectv2Input

func (BucketObjectv2Map) ElementType

func (BucketObjectv2Map) ElementType() reflect.Type

func (BucketObjectv2Map) ToBucketObjectv2MapOutput

func (i BucketObjectv2Map) ToBucketObjectv2MapOutput() BucketObjectv2MapOutput

func (BucketObjectv2Map) ToBucketObjectv2MapOutputWithContext

func (i BucketObjectv2Map) ToBucketObjectv2MapOutputWithContext(ctx context.Context) BucketObjectv2MapOutput

type BucketObjectv2MapInput

type BucketObjectv2MapInput interface {
	pulumi.Input

	ToBucketObjectv2MapOutput() BucketObjectv2MapOutput
	ToBucketObjectv2MapOutputWithContext(context.Context) BucketObjectv2MapOutput
}

BucketObjectv2MapInput is an input type that accepts BucketObjectv2Map and BucketObjectv2MapOutput values. You can construct a concrete instance of `BucketObjectv2MapInput` via:

BucketObjectv2Map{ "key": BucketObjectv2Args{...} }

type BucketObjectv2MapOutput

type BucketObjectv2MapOutput struct{ *pulumi.OutputState }

func (BucketObjectv2MapOutput) ElementType

func (BucketObjectv2MapOutput) ElementType() reflect.Type

func (BucketObjectv2MapOutput) MapIndex

func (BucketObjectv2MapOutput) ToBucketObjectv2MapOutput

func (o BucketObjectv2MapOutput) ToBucketObjectv2MapOutput() BucketObjectv2MapOutput

func (BucketObjectv2MapOutput) ToBucketObjectv2MapOutputWithContext

func (o BucketObjectv2MapOutput) ToBucketObjectv2MapOutputWithContext(ctx context.Context) BucketObjectv2MapOutput

type BucketObjectv2Output

type BucketObjectv2Output struct{ *pulumi.OutputState }

func (BucketObjectv2Output) Acl

[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.

func (BucketObjectv2Output) Arn

ARN of the object.

func (BucketObjectv2Output) Bucket

Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.

func (BucketObjectv2Output) BucketKeyEnabled

func (o BucketObjectv2Output) BucketKeyEnabled() pulumi.BoolOutput

Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (BucketObjectv2Output) CacheControl

func (o BucketObjectv2Output) CacheControl() pulumi.StringPtrOutput

Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.

func (BucketObjectv2Output) ChecksumAlgorithm

func (o BucketObjectv2Output) ChecksumAlgorithm() pulumi.StringPtrOutput

Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.

func (BucketObjectv2Output) ChecksumCrc32

func (o BucketObjectv2Output) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (BucketObjectv2Output) ChecksumCrc32c

func (o BucketObjectv2Output) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (BucketObjectv2Output) ChecksumCrc64nvme

func (o BucketObjectv2Output) ChecksumCrc64nvme() pulumi.StringOutput

The base64-encoded, 64-bit CRC64NVME checksum of the object.

func (BucketObjectv2Output) ChecksumSha1

func (o BucketObjectv2Output) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (BucketObjectv2Output) ChecksumSha256

func (o BucketObjectv2Output) ChecksumSha256() pulumi.StringOutput

The base64-encoded, 256-bit SHA-256 digest of the object.

func (BucketObjectv2Output) Content

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

func (BucketObjectv2Output) ContentBase64

func (o BucketObjectv2Output) ContentBase64() pulumi.StringPtrOutput

Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.

func (BucketObjectv2Output) ContentDisposition

func (o BucketObjectv2Output) ContentDisposition() pulumi.StringPtrOutput

Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.

func (BucketObjectv2Output) ContentEncoding

func (o BucketObjectv2Output) ContentEncoding() pulumi.StringPtrOutput

Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.

func (BucketObjectv2Output) ContentLanguage

func (o BucketObjectv2Output) ContentLanguage() pulumi.StringPtrOutput

Language the content is in e.g., en-US or en-GB.

func (BucketObjectv2Output) ContentType

func (o BucketObjectv2Output) ContentType() pulumi.StringOutput

Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.

func (BucketObjectv2Output) ElementType

func (BucketObjectv2Output) ElementType() reflect.Type

func (BucketObjectv2Output) Etag

Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).

func (BucketObjectv2Output) ForceDestroy

func (o BucketObjectv2Output) ForceDestroy() pulumi.BoolPtrOutput

Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.

func (BucketObjectv2Output) Key

Name of the object once it is in the bucket.

The following arguments are optional:

func (BucketObjectv2Output) KmsKeyId

ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.

func (BucketObjectv2Output) Metadata

Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).

func (BucketObjectv2Output) ObjectLockLegalHoldStatus

func (o BucketObjectv2Output) ObjectLockLegalHoldStatus() pulumi.StringPtrOutput

[Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.

func (BucketObjectv2Output) ObjectLockMode

func (o BucketObjectv2Output) ObjectLockMode() pulumi.StringPtrOutput

Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.

func (BucketObjectv2Output) ObjectLockRetainUntilDate

func (o BucketObjectv2Output) ObjectLockRetainUntilDate() pulumi.StringPtrOutput

Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).

func (BucketObjectv2Output) OverrideProvider

Override provider-level configuration options. See Override Provider below for more details.

func (BucketObjectv2Output) Region

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.

func (BucketObjectv2Output) ServerSideEncryption

func (o BucketObjectv2Output) ServerSideEncryption() pulumi.StringOutput

Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".

func (BucketObjectv2Output) Source

Path to a file that will be read and uploaded as raw bytes for the object content.

func (BucketObjectv2Output) SourceHash

Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)

func (BucketObjectv2Output) StorageClass

func (o BucketObjectv2Output) StorageClass() pulumi.StringOutput

[Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".

func (BucketObjectv2Output) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (BucketObjectv2Output) TagsAll

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (BucketObjectv2Output) ToBucketObjectv2Output

func (o BucketObjectv2Output) ToBucketObjectv2Output() BucketObjectv2Output

func (BucketObjectv2Output) ToBucketObjectv2OutputWithContext

func (o BucketObjectv2Output) ToBucketObjectv2OutputWithContext(ctx context.Context) BucketObjectv2Output

func (BucketObjectv2Output) VersionId

Unique version ID value for the object, if bucket versioning is enabled.

func (BucketObjectv2Output) WebsiteRedirect

func (o BucketObjectv2Output) WebsiteRedirect() pulumi.StringPtrOutput

Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).

If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.

> **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.

> **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.

type BucketObjectv2OverrideProvider

type BucketObjectv2OverrideProvider struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags *BucketObjectv2OverrideProviderDefaultTags `pulumi:"defaultTags"`
}

type BucketObjectv2OverrideProviderArgs

type BucketObjectv2OverrideProviderArgs struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags BucketObjectv2OverrideProviderDefaultTagsPtrInput `pulumi:"defaultTags"`
}

func (BucketObjectv2OverrideProviderArgs) ElementType

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutput

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutput() BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutputWithContext

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutput

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutputWithContext

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2OverrideProviderDefaultTags

type BucketObjectv2OverrideProviderDefaultTags struct {
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]string `pulumi:"tags"`
}

type BucketObjectv2OverrideProviderDefaultTagsArgs

type BucketObjectv2OverrideProviderDefaultTagsArgs struct {
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ElementType

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutput

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutput() BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderDefaultTagsInput

type BucketObjectv2OverrideProviderDefaultTagsInput interface {
	pulumi.Input

	ToBucketObjectv2OverrideProviderDefaultTagsOutput() BucketObjectv2OverrideProviderDefaultTagsOutput
	ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext(context.Context) BucketObjectv2OverrideProviderDefaultTagsOutput
}

BucketObjectv2OverrideProviderDefaultTagsInput is an input type that accepts BucketObjectv2OverrideProviderDefaultTagsArgs and BucketObjectv2OverrideProviderDefaultTagsOutput values. You can construct a concrete instance of `BucketObjectv2OverrideProviderDefaultTagsInput` via:

BucketObjectv2OverrideProviderDefaultTagsArgs{...}

type BucketObjectv2OverrideProviderDefaultTagsOutput

type BucketObjectv2OverrideProviderDefaultTagsOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ElementType

func (BucketObjectv2OverrideProviderDefaultTagsOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutput

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutput() BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderDefaultTagsPtrInput

type BucketObjectv2OverrideProviderDefaultTagsPtrInput interface {
	pulumi.Input

	ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput
	ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput
}

BucketObjectv2OverrideProviderDefaultTagsPtrInput is an input type that accepts BucketObjectv2OverrideProviderDefaultTagsArgs, BucketObjectv2OverrideProviderDefaultTagsPtr and BucketObjectv2OverrideProviderDefaultTagsPtrOutput values. You can construct a concrete instance of `BucketObjectv2OverrideProviderDefaultTagsPtrInput` via:

        BucketObjectv2OverrideProviderDefaultTagsArgs{...}

or:

        nil

type BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderDefaultTagsPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) Elem

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ElementType

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (o BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext

func (o BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderInput

type BucketObjectv2OverrideProviderInput interface {
	pulumi.Input

	ToBucketObjectv2OverrideProviderOutput() BucketObjectv2OverrideProviderOutput
	ToBucketObjectv2OverrideProviderOutputWithContext(context.Context) BucketObjectv2OverrideProviderOutput
}

BucketObjectv2OverrideProviderInput is an input type that accepts BucketObjectv2OverrideProviderArgs and BucketObjectv2OverrideProviderOutput values. You can construct a concrete instance of `BucketObjectv2OverrideProviderInput` via:

BucketObjectv2OverrideProviderArgs{...}

type BucketObjectv2OverrideProviderOutput

type BucketObjectv2OverrideProviderOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderOutput) DefaultTags

Override the provider `defaultTags` configuration block.

func (BucketObjectv2OverrideProviderOutput) ElementType

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutput

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutput() BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutputWithContext

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutput

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2OverrideProviderPtrInput

type BucketObjectv2OverrideProviderPtrInput interface {
	pulumi.Input

	ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput
	ToBucketObjectv2OverrideProviderPtrOutputWithContext(context.Context) BucketObjectv2OverrideProviderPtrOutput
}

BucketObjectv2OverrideProviderPtrInput is an input type that accepts BucketObjectv2OverrideProviderArgs, BucketObjectv2OverrideProviderPtr and BucketObjectv2OverrideProviderPtrOutput values. You can construct a concrete instance of `BucketObjectv2OverrideProviderPtrInput` via:

        BucketObjectv2OverrideProviderArgs{...}

or:

        nil

type BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2OverrideProviderPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderPtrOutput) DefaultTags

Override the provider `defaultTags` configuration block.

func (BucketObjectv2OverrideProviderPtrOutput) Elem

func (BucketObjectv2OverrideProviderPtrOutput) ElementType

func (BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutput

func (o BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext

func (o BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2State

type BucketObjectv2State struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.
	Acl pulumi.StringPtrInput
	// ARN of the object.
	Arn pulumi.StringPtrInput
	// Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
	Bucket pulumi.Input
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolPtrInput
	// Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrInput
	// The base64-encoded, 32-bit CRC32 checksum of the object.
	ChecksumCrc32 pulumi.StringPtrInput
	// The base64-encoded, 32-bit CRC32C checksum of the object.
	ChecksumCrc32c pulumi.StringPtrInput
	// The base64-encoded, 64-bit CRC64NVME checksum of the object.
	ChecksumCrc64nvme pulumi.StringPtrInput
	// The base64-encoded, 160-bit SHA-1 digest of the object.
	ChecksumSha1 pulumi.StringPtrInput
	// The base64-encoded, 256-bit SHA-256 digest of the object.
	ChecksumSha256 pulumi.StringPtrInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).
	Etag pulumi.StringPtrInput
	// Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Name of the object once it is in the bucket.
	//
	// The following arguments are optional:
	Key pulumi.StringPtrInput
	// ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
	KmsKeyId pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	// Override provider-level configuration options. See Override Provider below for more details.
	OverrideProvider BucketObjectv2OverrideProviderPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// Path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)
	SourceHash pulumi.StringPtrInput
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringPtrInput
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	//
	// If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty.
	//
	// > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes.
	//
	// > **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.
	WebsiteRedirect pulumi.StringPtrInput
}

func (BucketObjectv2State) ElementType

func (BucketObjectv2State) ElementType() reflect.Type

type BucketOutput

type BucketOutput struct{ *pulumi.OutputState }

func (BucketOutput) AccelerationStatus deprecated

func (o BucketOutput) AccelerationStatus() pulumi.StringOutput

Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAccelerateConfiguration` instead.

Deprecated: acceleration_status is deprecated. Use the s3.BucketAccelerateConfiguration resource instead.

func (BucketOutput) Acl deprecated

The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`. Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.

Deprecated: acl is deprecated. Use the s3.BucketAcl resource instead.

func (BucketOutput) Arn

ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.

func (BucketOutput) Bucket

func (o BucketOutput) Bucket() pulumi.StringOutput

Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.

func (BucketOutput) BucketDomainName

func (o BucketOutput) BucketDomainName() pulumi.StringOutput

Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.

func (BucketOutput) BucketPrefix

func (o BucketOutput) BucketPrefix() pulumi.StringOutput

Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).

func (BucketOutput) BucketRegion

func (o BucketOutput) BucketRegion() pulumi.StringOutput

AWS region this bucket resides in.

func (BucketOutput) BucketRegionalDomainName

func (o BucketOutput) BucketRegionalDomainName() pulumi.StringOutput

The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.

func (BucketOutput) CorsRules deprecated

Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfiguration` instead.

Deprecated: cors_rule is deprecated. Use the s3.BucketCorsConfiguration resource instead.

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) ForceDestroy

func (o BucketOutput) ForceDestroy() pulumi.BoolPtrOutput

Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.

func (BucketOutput) Grants deprecated

An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.

Deprecated: grant is deprecated. Use the s3.BucketAcl resource instead.

func (BucketOutput) HostedZoneId

func (o BucketOutput) HostedZoneId() pulumi.StringOutput

[Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.

func (BucketOutput) LifecycleRules deprecated

func (o BucketOutput) LifecycleRules() BucketLifecycleRuleArrayOutput

Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketLifecycleConfiguration` instead.

Deprecated: lifecycle_rule is deprecated. Use the s3.BucketLifecycleConfiguration resource instead.

func (BucketOutput) Logging deprecated

Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketLogging` instead.

Deprecated: logging is deprecated. Use the s3.BucketLogging resource instead.

func (BucketOutput) ObjectLockConfiguration deprecated

func (o BucketOutput) ObjectLockConfiguration() BucketObjectLockConfigurationTypeOutput

Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details. The provider wil only perform drift detection if a configuration value is provided. Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfiguration` instead.

Deprecated: object_lock_configuration is deprecated. Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfiguration resource instead.

func (BucketOutput) ObjectLockEnabled

func (o BucketOutput) ObjectLockEnabled() pulumi.BoolOutput

Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.

func (BucketOutput) Policy deprecated

func (o BucketOutput) Policy() pulumi.StringOutput

Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketPolicy` instead.

Deprecated: policy is deprecated. Use the s3.BucketPolicy resource instead.

func (BucketOutput) Region

func (o BucketOutput) Region() pulumi.StringOutput

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.

func (BucketOutput) ReplicationConfiguration deprecated

func (o BucketOutput) ReplicationConfiguration() BucketReplicationConfigurationOutput

Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketReplicationConfig` instead.

Deprecated: replication_configuration is deprecated. Use the s3.BucketReplicationConfig resource instead.

func (BucketOutput) RequestPayer deprecated

func (o BucketOutput) RequestPayer() pulumi.StringOutput

Specifies who should bear the cost of Amazon S3 data transfer. Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer. See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketRequestPaymentConfiguration` instead.

Deprecated: request_payer is deprecated. Use the s3.BucketRequestPaymentConfiguration resource instead.

func (BucketOutput) ServerSideEncryptionConfiguration deprecated

func (o BucketOutput) ServerSideEncryptionConfiguration() BucketServerSideEncryptionConfigurationTypeOutput

Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketServerSideEncryptionConfiguration` instead.

Deprecated: server_side_encryption_configuration is deprecated. Use the s3.BucketServerSideEncryptionConfiguration resource instead.

func (BucketOutput) Tags

Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

The following arguments are deprecated, and will be removed in a future major version:

func (BucketOutput) TagsAll

func (o BucketOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

func (o BucketOutput) ToBucketOutputWithContext(ctx context.Context) BucketOutput

func (BucketOutput) Versioning deprecated

Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioning` instead.

Deprecated: versioning is deprecated. Use the s3.BucketVersioning resource instead.

func (BucketOutput) Website deprecated

func (o BucketOutput) Website() BucketWebsiteOutput

Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketWebsiteConfiguration` instead.

Deprecated: website is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.

func (BucketOutput) WebsiteDomain deprecated

func (o BucketOutput) WebsiteDomain() pulumi.StringOutput

(**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfiguration` instead.

Deprecated: website_domain is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.

func (BucketOutput) WebsiteEndpoint deprecated

func (o BucketOutput) WebsiteEndpoint() pulumi.StringOutput

(**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfiguration` instead.

Deprecated: website_endpoint is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.

type BucketOwnershipControls

type BucketOwnershipControls struct {
	pulumi.CustomResourceState

	// Name of the bucket that you want to associate this access point with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration block(s) with Ownership Controls rules. Detailed below.
	Rule BucketOwnershipControlsRuleOutput `pulumi:"rule"`
}

Provides a resource to manage S3 Bucket Ownership Controls. For more information, see the [S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketOwnershipControls(ctx, "example", &s3.BucketOwnershipControlsArgs{
			Bucket: example.ID(),
			Rule: &s3.BucketOwnershipControlsRuleArgs{
				ObjectOwnership: pulumi.String("BucketOwnerPreferred"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 Bucket Ownership Controls using S3 Bucket name. For example:

```sh $ pulumi import aws:s3/bucketOwnershipControls:BucketOwnershipControls example my-bucket ```

func GetBucketOwnershipControls

func GetBucketOwnershipControls(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketOwnershipControlsState, opts ...pulumi.ResourceOption) (*BucketOwnershipControls, error)

GetBucketOwnershipControls gets an existing BucketOwnershipControls resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketOwnershipControls

func NewBucketOwnershipControls(ctx *pulumi.Context,
	name string, args *BucketOwnershipControlsArgs, opts ...pulumi.ResourceOption) (*BucketOwnershipControls, error)

NewBucketOwnershipControls registers a new resource with the given unique name, arguments, and options.

func (*BucketOwnershipControls) ElementType

func (*BucketOwnershipControls) ElementType() reflect.Type

func (*BucketOwnershipControls) ToBucketOwnershipControlsOutput

func (i *BucketOwnershipControls) ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput

func (*BucketOwnershipControls) ToBucketOwnershipControlsOutputWithContext

func (i *BucketOwnershipControls) ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput

type BucketOwnershipControlsArgs

type BucketOwnershipControlsArgs struct {
	// Name of the bucket that you want to associate this access point with.
	Bucket pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block(s) with Ownership Controls rules. Detailed below.
	Rule BucketOwnershipControlsRuleInput
}

The set of arguments for constructing a BucketOwnershipControls resource.

func (BucketOwnershipControlsArgs) ElementType

type BucketOwnershipControlsArray

type BucketOwnershipControlsArray []BucketOwnershipControlsInput

func (BucketOwnershipControlsArray) ElementType

func (BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutput

func (i BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutput() BucketOwnershipControlsArrayOutput

func (BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutputWithContext

func (i BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutputWithContext(ctx context.Context) BucketOwnershipControlsArrayOutput

type BucketOwnershipControlsArrayInput

type BucketOwnershipControlsArrayInput interface {
	pulumi.Input

	ToBucketOwnershipControlsArrayOutput() BucketOwnershipControlsArrayOutput
	ToBucketOwnershipControlsArrayOutputWithContext(context.Context) BucketOwnershipControlsArrayOutput
}

BucketOwnershipControlsArrayInput is an input type that accepts BucketOwnershipControlsArray and BucketOwnershipControlsArrayOutput values. You can construct a concrete instance of `BucketOwnershipControlsArrayInput` via:

BucketOwnershipControlsArray{ BucketOwnershipControlsArgs{...} }

type BucketOwnershipControlsArrayOutput

type BucketOwnershipControlsArrayOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsArrayOutput) ElementType

func (BucketOwnershipControlsArrayOutput) Index

func (BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutput

func (o BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutput() BucketOwnershipControlsArrayOutput

func (BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutputWithContext

func (o BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutputWithContext(ctx context.Context) BucketOwnershipControlsArrayOutput

type BucketOwnershipControlsInput

type BucketOwnershipControlsInput interface {
	pulumi.Input

	ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput
	ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput
}

type BucketOwnershipControlsMap

type BucketOwnershipControlsMap map[string]BucketOwnershipControlsInput

func (BucketOwnershipControlsMap) ElementType

func (BucketOwnershipControlsMap) ElementType() reflect.Type

func (BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutput

func (i BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutput() BucketOwnershipControlsMapOutput

func (BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutputWithContext

func (i BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutputWithContext(ctx context.Context) BucketOwnershipControlsMapOutput

type BucketOwnershipControlsMapInput

type BucketOwnershipControlsMapInput interface {
	pulumi.Input

	ToBucketOwnershipControlsMapOutput() BucketOwnershipControlsMapOutput
	ToBucketOwnershipControlsMapOutputWithContext(context.Context) BucketOwnershipControlsMapOutput
}

BucketOwnershipControlsMapInput is an input type that accepts BucketOwnershipControlsMap and BucketOwnershipControlsMapOutput values. You can construct a concrete instance of `BucketOwnershipControlsMapInput` via:

BucketOwnershipControlsMap{ "key": BucketOwnershipControlsArgs{...} }

type BucketOwnershipControlsMapOutput

type BucketOwnershipControlsMapOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsMapOutput) ElementType

func (BucketOwnershipControlsMapOutput) MapIndex

func (BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutput

func (o BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutput() BucketOwnershipControlsMapOutput

func (BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutputWithContext

func (o BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutputWithContext(ctx context.Context) BucketOwnershipControlsMapOutput

type BucketOwnershipControlsOutput

type BucketOwnershipControlsOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsOutput) Bucket

Name of the bucket that you want to associate this access point with.

func (BucketOwnershipControlsOutput) ElementType

func (BucketOwnershipControlsOutput) Region

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.

func (BucketOwnershipControlsOutput) Rule

Configuration block(s) with Ownership Controls rules. Detailed below.

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutput

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutputWithContext

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput

type BucketOwnershipControlsRule

type BucketOwnershipControlsRule struct {
	// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced`
	// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL.
	// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL.
	// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket.
	ObjectOwnership string `pulumi:"objectOwnership"`
}

type BucketOwnershipControlsRuleArgs

type BucketOwnershipControlsRuleArgs struct {
	// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced`
	// * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL.
	// * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL.
	// * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket.
	ObjectOwnership pulumi.StringInput `pulumi:"objectOwnership"`
}

func (BucketOwnershipControlsRuleArgs) ElementType

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutput

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutputWithContext

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutput

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutputWithContext

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsRuleInput

type BucketOwnershipControlsRuleInput interface {
	pulumi.Input

	ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput
	ToBucketOwnershipControlsRuleOutputWithContext(context.Context) BucketOwnershipControlsRuleOutput
}

BucketOwnershipControlsRuleInput is an input type that accepts BucketOwnershipControlsRuleArgs and BucketOwnershipControlsRuleOutput values. You can construct a concrete instance of `BucketOwnershipControlsRuleInput` via:

BucketOwnershipControlsRuleArgs{...}

type BucketOwnershipControlsRuleOutput

type BucketOwnershipControlsRuleOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsRuleOutput) ElementType

func (BucketOwnershipControlsRuleOutput) ObjectOwnership

Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket.

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutput

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutputWithContext

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutput

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutputWithContext

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsRulePtrInput

type BucketOwnershipControlsRulePtrInput interface {
	pulumi.Input

	ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput
	ToBucketOwnershipControlsRulePtrOutputWithContext(context.Context) BucketOwnershipControlsRulePtrOutput
}

BucketOwnershipControlsRulePtrInput is an input type that accepts BucketOwnershipControlsRuleArgs, BucketOwnershipControlsRulePtr and BucketOwnershipControlsRulePtrOutput values. You can construct a concrete instance of `BucketOwnershipControlsRulePtrInput` via:

        BucketOwnershipControlsRuleArgs{...}

or:

        nil

type BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsRulePtrOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsRulePtrOutput) Elem

func (BucketOwnershipControlsRulePtrOutput) ElementType

func (BucketOwnershipControlsRulePtrOutput) ObjectOwnership

Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced` * `BucketOwnerPreferred` - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the `bucket-owner-full-control` canned ACL. * `ObjectWriter` - Uploading account will own the object if the object is uploaded with the `bucket-owner-full-control` canned ACL. * `BucketOwnerEnforced` - Bucket owner automatically owns and has full control over every object in the bucket. ACLs no longer affect permissions to data in the S3 bucket.

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput

func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext

func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsState

type BucketOwnershipControlsState struct {
	// Name of the bucket that you want to associate this access point with.
	Bucket pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block(s) with Ownership Controls rules. Detailed below.
	Rule BucketOwnershipControlsRulePtrInput
}

func (BucketOwnershipControlsState) ElementType

type BucketPolicy

type BucketPolicy struct {
	pulumi.CustomResourceState

	// Name of the bucket to which to apply the policy.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Text of the policy. Although this is a bucket policy rather than an IAM policy, the `iam.getPolicyDocument` data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Attaches a policy to an S3 bucket resource.

> Policies can be attached to both S3 general purpose buckets and S3 directory buckets.

## Example Usage

### Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
		})
		if err != nil {
			return err
		}
		allowAccessFromAnotherAccount := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("AWS"),
							Identifiers: pulumi.StringArray{
								pulumi.String("123456789012"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetObject"),
						pulumi.String("s3:ListBucket"),
					},
					Resources: pulumi.StringArray{
						example.Arn,
						example.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		_, err = s3.NewBucketPolicy(ctx, "allow_access_from_another_account", &s3.BucketPolicyArgs{
			Bucket: example.ID(),
			Policy: pulumi.String(allowAccessFromAnotherAccount.ApplyT(func(allowAccessFromAnotherAccount iam.GetPolicyDocumentResult) (*string, error) {
				return &allowAccessFromAnotherAccount.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket policies using the bucket name. For example:

```sh $ pulumi import aws:s3/bucketPolicy:BucketPolicy allow_access_from_another_account my-tf-test-bucket ```

func GetBucketPolicy

func GetBucketPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketPolicyState, opts ...pulumi.ResourceOption) (*BucketPolicy, error)

GetBucketPolicy gets an existing BucketPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketPolicy

func NewBucketPolicy(ctx *pulumi.Context,
	name string, args *BucketPolicyArgs, opts ...pulumi.ResourceOption) (*BucketPolicy, error)

NewBucketPolicy registers a new resource with the given unique name, arguments, and options.

func (*BucketPolicy) ElementType

func (*BucketPolicy) ElementType() reflect.Type

func (*BucketPolicy) ToBucketPolicyOutput

func (i *BucketPolicy) ToBucketPolicyOutput() BucketPolicyOutput

func (*BucketPolicy) ToBucketPolicyOutputWithContext

func (i *BucketPolicy) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

type BucketPolicyArgs

type BucketPolicyArgs struct {
	// Name of the bucket to which to apply the policy.
	Bucket pulumi.StringInput
	// Text of the policy. Although this is a bucket policy rather than an IAM policy, the `iam.getPolicyDocument` data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size.
	Policy pulumi.Input
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketPolicy resource.

func (BucketPolicyArgs) ElementType

func (BucketPolicyArgs) ElementType() reflect.Type

type BucketPolicyArray

type BucketPolicyArray []BucketPolicyInput

func (BucketPolicyArray) ElementType

func (BucketPolicyArray) ElementType() reflect.Type

func (BucketPolicyArray) ToBucketPolicyArrayOutput

func (i BucketPolicyArray) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArray) ToBucketPolicyArrayOutputWithContext

func (i BucketPolicyArray) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyArrayInput

type BucketPolicyArrayInput interface {
	pulumi.Input

	ToBucketPolicyArrayOutput() BucketPolicyArrayOutput
	ToBucketPolicyArrayOutputWithContext(context.Context) BucketPolicyArrayOutput
}

BucketPolicyArrayInput is an input type that accepts BucketPolicyArray and BucketPolicyArrayOutput values. You can construct a concrete instance of `BucketPolicyArrayInput` via:

BucketPolicyArray{ BucketPolicyArgs{...} }

type BucketPolicyArrayOutput

type BucketPolicyArrayOutput struct{ *pulumi.OutputState }

func (BucketPolicyArrayOutput) ElementType

func (BucketPolicyArrayOutput) ElementType() reflect.Type

func (BucketPolicyArrayOutput) Index

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutput

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyInput

type BucketPolicyInput interface {
	pulumi.Input

	ToBucketPolicyOutput() BucketPolicyOutput
	ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput
}

type BucketPolicyMap

type BucketPolicyMap map[string]BucketPolicyInput

func (BucketPolicyMap) ElementType

func (BucketPolicyMap) ElementType() reflect.Type

func (BucketPolicyMap) ToBucketPolicyMapOutput

func (i BucketPolicyMap) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMap) ToBucketPolicyMapOutputWithContext

func (i BucketPolicyMap) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyMapInput

type BucketPolicyMapInput interface {
	pulumi.Input

	ToBucketPolicyMapOutput() BucketPolicyMapOutput
	ToBucketPolicyMapOutputWithContext(context.Context) BucketPolicyMapOutput
}

BucketPolicyMapInput is an input type that accepts BucketPolicyMap and BucketPolicyMapOutput values. You can construct a concrete instance of `BucketPolicyMapInput` via:

BucketPolicyMap{ "key": BucketPolicyArgs{...} }

type BucketPolicyMapOutput

type BucketPolicyMapOutput struct{ *pulumi.OutputState }

func (BucketPolicyMapOutput) ElementType

func (BucketPolicyMapOutput) ElementType() reflect.Type

func (BucketPolicyMapOutput) MapIndex

func (BucketPolicyMapOutput) ToBucketPolicyMapOutput

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyOutput

type BucketPolicyOutput struct{ *pulumi.OutputState }

func (BucketPolicyOutput) Bucket

Name of the bucket to which to apply the policy.

func (BucketPolicyOutput) ElementType

func (BucketPolicyOutput) ElementType() reflect.Type

func (BucketPolicyOutput) Policy

Text of the policy. Although this is a bucket policy rather than an IAM policy, the `iam.getPolicyDocument` data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size.

func (BucketPolicyOutput) Region

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.

func (BucketPolicyOutput) ToBucketPolicyOutput

func (o BucketPolicyOutput) ToBucketPolicyOutput() BucketPolicyOutput

func (BucketPolicyOutput) ToBucketPolicyOutputWithContext

func (o BucketPolicyOutput) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

type BucketPolicyState

type BucketPolicyState struct {
	// Name of the bucket to which to apply the policy.
	Bucket pulumi.StringPtrInput
	// Text of the policy. Although this is a bucket policy rather than an IAM policy, the `iam.getPolicyDocument` data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size.
	Policy pulumi.Input
	// 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.
	Region pulumi.StringPtrInput
}

func (BucketPolicyState) ElementType

func (BucketPolicyState) ElementType() reflect.Type

type BucketPublicAccessBlock

type BucketPublicAccessBlock struct {
	pulumi.CustomResourceState

	// Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls will fail if the request includes an object ACL.
	BlockPublicAcls pulumi.BoolPtrOutput `pulumi:"blockPublicAcls"`
	// Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrOutput `pulumi:"blockPublicPolicy"`
	// S3 Bucket to which this Public Access Block configuration should be applied.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore public ACLs on this bucket and any objects that it contains.
	IgnorePublicAcls pulumi.BoolPtrOutput `pulumi:"ignorePublicAcls"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access this buckets if it has a public policy.
	RestrictPublicBuckets pulumi.BoolPtrOutput `pulumi:"restrictPublicBuckets"`
}

Manages S3 bucket-level Public Access Block configuration. For more information about these settings, see the [AWS S3 Block Public Access documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketPublicAccessBlock(ctx, "example", &s3.BucketPublicAccessBlockArgs{
			Bucket:                example.ID(),
			BlockPublicAcls:       pulumi.Bool(true),
			BlockPublicPolicy:     pulumi.Bool(true),
			IgnorePublicAcls:      pulumi.Bool(true),
			RestrictPublicBuckets: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_s3_bucket_public_access_block` using the bucket name. For example:

```sh $ pulumi import aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock example my-bucket ```

func GetBucketPublicAccessBlock

func GetBucketPublicAccessBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketPublicAccessBlockState, opts ...pulumi.ResourceOption) (*BucketPublicAccessBlock, error)

GetBucketPublicAccessBlock gets an existing BucketPublicAccessBlock resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketPublicAccessBlock

func NewBucketPublicAccessBlock(ctx *pulumi.Context,
	name string, args *BucketPublicAccessBlockArgs, opts ...pulumi.ResourceOption) (*BucketPublicAccessBlock, error)

NewBucketPublicAccessBlock registers a new resource with the given unique name, arguments, and options.

func (*BucketPublicAccessBlock) ElementType

func (*BucketPublicAccessBlock) ElementType() reflect.Type

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockOutput

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockOutputWithContext

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput

type BucketPublicAccessBlockArgs

type BucketPublicAccessBlockArgs struct {
	// Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls will fail if the request includes an object ACL.
	BlockPublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrInput
	// S3 Bucket to which this Public Access Block configuration should be applied.
	Bucket pulumi.StringInput
	// Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore public ACLs on this bucket and any objects that it contains.
	IgnorePublicAcls pulumi.BoolPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access this buckets if it has a public policy.
	RestrictPublicBuckets pulumi.BoolPtrInput
}

The set of arguments for constructing a BucketPublicAccessBlock resource.

func (BucketPublicAccessBlockArgs) ElementType

type BucketPublicAccessBlockArray

type BucketPublicAccessBlockArray []BucketPublicAccessBlockInput

func (BucketPublicAccessBlockArray) ElementType

func (BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutput

func (i BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutput() BucketPublicAccessBlockArrayOutput

func (BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutputWithContext

func (i BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutputWithContext(ctx context.Context) BucketPublicAccessBlockArrayOutput

type BucketPublicAccessBlockArrayInput

type BucketPublicAccessBlockArrayInput interface {
	pulumi.Input

	ToBucketPublicAccessBlockArrayOutput() BucketPublicAccessBlockArrayOutput
	ToBucketPublicAccessBlockArrayOutputWithContext(context.Context) BucketPublicAccessBlockArrayOutput
}

BucketPublicAccessBlockArrayInput is an input type that accepts BucketPublicAccessBlockArray and BucketPublicAccessBlockArrayOutput values. You can construct a concrete instance of `BucketPublicAccessBlockArrayInput` via:

BucketPublicAccessBlockArray{ BucketPublicAccessBlockArgs{...} }

type BucketPublicAccessBlockArrayOutput

type BucketPublicAccessBlockArrayOutput struct{ *pulumi.OutputState }

func (BucketPublicAccessBlockArrayOutput) ElementType

func (BucketPublicAccessBlockArrayOutput) Index

func (BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutput

func (o BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutput() BucketPublicAccessBlockArrayOutput

func (BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutputWithContext

func (o BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutputWithContext(ctx context.Context) BucketPublicAccessBlockArrayOutput

type BucketPublicAccessBlockInput

type BucketPublicAccessBlockInput interface {
	pulumi.Input

	ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput
	ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput
}

type BucketPublicAccessBlockMap

type BucketPublicAccessBlockMap map[string]BucketPublicAccessBlockInput

func (BucketPublicAccessBlockMap) ElementType

func (BucketPublicAccessBlockMap) ElementType() reflect.Type

func (BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutput

func (i BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutput() BucketPublicAccessBlockMapOutput

func (BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutputWithContext

func (i BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutputWithContext(ctx context.Context) BucketPublicAccessBlockMapOutput

type BucketPublicAccessBlockMapInput

type BucketPublicAccessBlockMapInput interface {
	pulumi.Input

	ToBucketPublicAccessBlockMapOutput() BucketPublicAccessBlockMapOutput
	ToBucketPublicAccessBlockMapOutputWithContext(context.Context) BucketPublicAccessBlockMapOutput
}

BucketPublicAccessBlockMapInput is an input type that accepts BucketPublicAccessBlockMap and BucketPublicAccessBlockMapOutput values. You can construct a concrete instance of `BucketPublicAccessBlockMapInput` via:

BucketPublicAccessBlockMap{ "key": BucketPublicAccessBlockArgs{...} }

type BucketPublicAccessBlockMapOutput

type BucketPublicAccessBlockMapOutput struct{ *pulumi.OutputState }

func (BucketPublicAccessBlockMapOutput) ElementType

func (BucketPublicAccessBlockMapOutput) MapIndex

func (BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutput

func (o BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutput() BucketPublicAccessBlockMapOutput

func (BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutputWithContext

func (o BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutputWithContext(ctx context.Context) BucketPublicAccessBlockMapOutput

type BucketPublicAccessBlockOutput

type BucketPublicAccessBlockOutput struct{ *pulumi.OutputState }

func (BucketPublicAccessBlockOutput) BlockPublicAcls

Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior: * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access. * PUT Object calls will fail if the request includes an object ACL.

func (BucketPublicAccessBlockOutput) BlockPublicPolicy

func (o BucketPublicAccessBlockOutput) BlockPublicPolicy() pulumi.BoolPtrOutput

Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazon S3 to: * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.

func (BucketPublicAccessBlockOutput) Bucket

S3 Bucket to which this Public Access Block configuration should be applied.

func (BucketPublicAccessBlockOutput) ElementType

func (BucketPublicAccessBlockOutput) IgnorePublicAcls

func (o BucketPublicAccessBlockOutput) IgnorePublicAcls() pulumi.BoolPtrOutput

Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to: * Ignore public ACLs on this bucket and any objects that it contains.

func (BucketPublicAccessBlockOutput) Region

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.

func (BucketPublicAccessBlockOutput) RestrictPublicBuckets

func (o BucketPublicAccessBlockOutput) RestrictPublicBuckets() pulumi.BoolPtrOutput

Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`: * Only the bucket owner and AWS Services can access this buckets if it has a public policy.

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutput

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutputWithContext

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput

type BucketPublicAccessBlockState

type BucketPublicAccessBlockState struct {
	// Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the following behavior:
	// * PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.
	// * PUT Object calls will fail if the request includes an object ACL.
	BlockPublicAcls pulumi.BoolPtrInput
	// Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazon S3 to:
	// * Reject calls to PUT Bucket policy if the specified bucket policy allows public access.
	BlockPublicPolicy pulumi.BoolPtrInput
	// S3 Bucket to which this Public Access Block configuration should be applied.
	Bucket pulumi.StringPtrInput
	// Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to `true` causes Amazon S3 to:
	// * Ignore public ACLs on this bucket and any objects that it contains.
	IgnorePublicAcls pulumi.BoolPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `false`. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to `true`:
	// * Only the bucket owner and AWS Services can access this buckets if it has a public policy.
	RestrictPublicBuckets pulumi.BoolPtrInput
}

func (BucketPublicAccessBlockState) ElementType

type BucketReplicationConfig

type BucketReplicationConfig struct {
	pulumi.CustomResourceState

	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringOutput `pulumi:"role"`
	// List of configuration blocks describing the rules managing the replication. See below.
	// > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rule` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
	//
	// > **NOTE:** Amazon S3's latest version of the replication configuration is V2, which includes the `filter` attribute for replication rules.
	//
	// > **NOTE:** The `existingObjectReplication` parameter is not supported by Amazon S3 at this time and should not be included in your `rule` configurations. Specifying this parameter will result in `MalformedXML` errors.
	// To replicate existing objects, please refer to the [Replicating existing objects with S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) documentation in the Amazon S3 User Guide.
	Rules BucketReplicationConfigRuleArrayOutput `pulumi:"rules"`
	// Token to allow replication to be enabled on an Object Lock-enabled bucket. You must contact AWS support for the bucket's "Object Lock token".
	// For more details, see [Using S3 Object Lock with replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-replication).
	Token pulumi.StringPtrOutput `pulumi:"token"`
}

## Import

Using `pulumi import`, import S3 bucket replication configuration using the `bucket`. For example:

```sh $ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name ```

func GetBucketReplicationConfig

func GetBucketReplicationConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketReplicationConfigState, opts ...pulumi.ResourceOption) (*BucketReplicationConfig, error)

GetBucketReplicationConfig gets an existing BucketReplicationConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketReplicationConfig

func NewBucketReplicationConfig(ctx *pulumi.Context,
	name string, args *BucketReplicationConfigArgs, opts ...pulumi.ResourceOption) (*BucketReplicationConfig, error)

NewBucketReplicationConfig registers a new resource with the given unique name, arguments, and options.

func (*BucketReplicationConfig) ElementType

func (*BucketReplicationConfig) ElementType() reflect.Type

func (*BucketReplicationConfig) ToBucketReplicationConfigOutput

func (i *BucketReplicationConfig) ToBucketReplicationConfigOutput() BucketReplicationConfigOutput

func (*BucketReplicationConfig) ToBucketReplicationConfigOutputWithContext

func (i *BucketReplicationConfig) ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput

type BucketReplicationConfigArgs

type BucketReplicationConfigArgs struct {
	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
	// ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringInput
	// List of configuration blocks describing the rules managing the replication. See below.
	// > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rule` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
	//
	// > **NOTE:** Amazon S3's latest version of the replication configuration is V2, which includes the `filter` attribute for replication rules.
	//
	// > **NOTE:** The `existingObjectReplication` parameter is not supported by Amazon S3 at this time and should not be included in your `rule` configurations. Specifying this parameter will result in `MalformedXML` errors.
	// To replicate existing objects, please refer to the [Replicating existing objects with S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) documentation in the Amazon S3 User Guide.
	Rules BucketReplicationConfigRuleArrayInput
	// Token to allow replication to be enabled on an Object Lock-enabled bucket. You must contact AWS support for the bucket's "Object Lock token".
	// For more details, see [Using S3 Object Lock with replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-replication).
	Token pulumi.StringPtrInput
}

The set of arguments for constructing a BucketReplicationConfig resource.

func (BucketReplicationConfigArgs) ElementType

type BucketReplicationConfigArray

type BucketReplicationConfigArray []BucketReplicationConfigInput

func (BucketReplicationConfigArray) ElementType

func (BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutput

func (i BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutput() BucketReplicationConfigArrayOutput

func (BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutputWithContext

func (i BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutputWithContext(ctx context.Context) BucketReplicationConfigArrayOutput

type BucketReplicationConfigArrayInput

type BucketReplicationConfigArrayInput interface {
	pulumi.Input

	ToBucketReplicationConfigArrayOutput() BucketReplicationConfigArrayOutput
	ToBucketReplicationConfigArrayOutputWithContext(context.Context) BucketReplicationConfigArrayOutput
}

BucketReplicationConfigArrayInput is an input type that accepts BucketReplicationConfigArray and BucketReplicationConfigArrayOutput values. You can construct a concrete instance of `BucketReplicationConfigArrayInput` via:

BucketReplicationConfigArray{ BucketReplicationConfigArgs{...} }

type BucketReplicationConfigArrayOutput

type BucketReplicationConfigArrayOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigArrayOutput) ElementType

func (BucketReplicationConfigArrayOutput) Index

func (BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutput

func (o BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutput() BucketReplicationConfigArrayOutput

func (BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutputWithContext

func (o BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutputWithContext(ctx context.Context) BucketReplicationConfigArrayOutput

type BucketReplicationConfigInput

type BucketReplicationConfigInput interface {
	pulumi.Input

	ToBucketReplicationConfigOutput() BucketReplicationConfigOutput
	ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput
}

type BucketReplicationConfigMap

type BucketReplicationConfigMap map[string]BucketReplicationConfigInput

func (BucketReplicationConfigMap) ElementType

func (BucketReplicationConfigMap) ElementType() reflect.Type

func (BucketReplicationConfigMap) ToBucketReplicationConfigMapOutput

func (i BucketReplicationConfigMap) ToBucketReplicationConfigMapOutput() BucketReplicationConfigMapOutput

func (BucketReplicationConfigMap) ToBucketReplicationConfigMapOutputWithContext

func (i BucketReplicationConfigMap) ToBucketReplicationConfigMapOutputWithContext(ctx context.Context) BucketReplicationConfigMapOutput

type BucketReplicationConfigMapInput

type BucketReplicationConfigMapInput interface {
	pulumi.Input

	ToBucketReplicationConfigMapOutput() BucketReplicationConfigMapOutput
	ToBucketReplicationConfigMapOutputWithContext(context.Context) BucketReplicationConfigMapOutput
}

BucketReplicationConfigMapInput is an input type that accepts BucketReplicationConfigMap and BucketReplicationConfigMapOutput values. You can construct a concrete instance of `BucketReplicationConfigMapInput` via:

BucketReplicationConfigMap{ "key": BucketReplicationConfigArgs{...} }

type BucketReplicationConfigMapOutput

type BucketReplicationConfigMapOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigMapOutput) ElementType

func (BucketReplicationConfigMapOutput) MapIndex

func (BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutput

func (o BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutput() BucketReplicationConfigMapOutput

func (BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutputWithContext

func (o BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutputWithContext(ctx context.Context) BucketReplicationConfigMapOutput

type BucketReplicationConfigOutput

type BucketReplicationConfigOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigOutput) Bucket

Name of the source S3 bucket you want Amazon S3 to monitor.

func (BucketReplicationConfigOutput) ElementType

func (BucketReplicationConfigOutput) Region

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.

func (BucketReplicationConfigOutput) Role

ARN of the IAM role for Amazon S3 to assume when replicating the objects.

func (BucketReplicationConfigOutput) Rules

List of configuration blocks describing the rules managing the replication. See below. > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rule` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.

> **NOTE:** Amazon S3's latest version of the replication configuration is V2, which includes the `filter` attribute for replication rules.

> **NOTE:** The `existingObjectReplication` parameter is not supported by Amazon S3 at this time and should not be included in your `rule` configurations. Specifying this parameter will result in `MalformedXML` errors. To replicate existing objects, please refer to the [Replicating existing objects with S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) documentation in the Amazon S3 User Guide.

func (BucketReplicationConfigOutput) ToBucketReplicationConfigOutput

func (o BucketReplicationConfigOutput) ToBucketReplicationConfigOutput() BucketReplicationConfigOutput

func (BucketReplicationConfigOutput) ToBucketReplicationConfigOutputWithContext

func (o BucketReplicationConfigOutput) ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput

func (BucketReplicationConfigOutput) Token

Token to allow replication to be enabled on an Object Lock-enabled bucket. You must contact AWS support for the bucket's "Object Lock token". For more details, see [Using S3 Object Lock with replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-replication).

type BucketReplicationConfigRule

type BucketReplicationConfigRule struct {
	// Whether delete markers are replicated. This argument is only valid with V2 replication configurations (i.e., when `filter` is used)documented below.
	DeleteMarkerReplication *BucketReplicationConfigRuleDeleteMarkerReplication `pulumi:"deleteMarkerReplication"`
	// Specifies the destination for the rule. See below.
	Destination BucketReplicationConfigRuleDestination `pulumi:"destination"`
	// Replicate existing objects in the source bucket according to the rule configurations. See below.
	ExistingObjectReplication *BucketReplicationConfigRuleExistingObjectReplication `pulumi:"existingObjectReplication"`
	// Filter that identifies subset of objects to which the replication rule applies. See below. If not specified, the `rule` will default to using `prefix`.
	Filter *BucketReplicationConfigRuleFilter `pulumi:"filter"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id *string `pulumi:"id"`
	// Object key name prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length. Defaults to an empty string (`""`) if `filter` is not specified.
	//
	// Deprecated: prefix is deprecated. Use filter instead.
	Prefix *string `pulumi:"prefix"`
	// Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.
	Priority *int `pulumi:"priority"`
	// Specifies special object selection criteria. See below.
	SourceSelectionCriteria *BucketReplicationConfigRuleSourceSelectionCriteria `pulumi:"sourceSelectionCriteria"`
	// Status of the rule. Either `"Enabled"` or `"Disabled"`. The rule is ignored if status is not "Enabled".
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleArgs

type BucketReplicationConfigRuleArgs struct {
	// Whether delete markers are replicated. This argument is only valid with V2 replication configurations (i.e., when `filter` is used)documented below.
	DeleteMarkerReplication BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput `pulumi:"deleteMarkerReplication"`
	// Specifies the destination for the rule. See below.
	Destination BucketReplicationConfigRuleDestinationInput `pulumi:"destination"`
	// Replicate existing objects in the source bucket according to the rule configurations. See below.
	ExistingObjectReplication BucketReplicationConfigRuleExistingObjectReplicationPtrInput `pulumi:"existingObjectReplication"`
	// Filter that identifies subset of objects to which the replication rule applies. See below. If not specified, the `rule` will default to using `prefix`.
	Filter BucketReplicationConfigRuleFilterPtrInput `pulumi:"filter"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Object key name prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length. Defaults to an empty string (`""`) if `filter` is not specified.
	//
	// Deprecated: prefix is deprecated. Use filter instead.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// Specifies special object selection criteria. See below.
	SourceSelectionCriteria BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput `pulumi:"sourceSelectionCriteria"`
	// Status of the rule. Either `"Enabled"` or `"Disabled"`. The rule is ignored if status is not "Enabled".
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleArgs) ElementType

func (BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutput

func (i BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutput() BucketReplicationConfigRuleOutput

func (BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutputWithContext

func (i BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutputWithContext(ctx context.Context) BucketReplicationConfigRuleOutput

type BucketReplicationConfigRuleArray

type BucketReplicationConfigRuleArray []BucketReplicationConfigRuleInput

func (BucketReplicationConfigRuleArray) ElementType

func (BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutput

func (i BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutput() BucketReplicationConfigRuleArrayOutput

func (BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutputWithContext

func (i BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigRuleArrayOutput

type BucketReplicationConfigRuleArrayInput

type BucketReplicationConfigRuleArrayInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleArrayOutput() BucketReplicationConfigRuleArrayOutput
	ToBucketReplicationConfigRuleArrayOutputWithContext(context.Context) BucketReplicationConfigRuleArrayOutput
}

BucketReplicationConfigRuleArrayInput is an input type that accepts BucketReplicationConfigRuleArray and BucketReplicationConfigRuleArrayOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleArrayInput` via:

BucketReplicationConfigRuleArray{ BucketReplicationConfigRuleArgs{...} }

type BucketReplicationConfigRuleArrayOutput

type BucketReplicationConfigRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleArrayOutput) ElementType

func (BucketReplicationConfigRuleArrayOutput) Index

func (BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutput

func (o BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutput() BucketReplicationConfigRuleArrayOutput

func (BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutputWithContext

func (o BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigRuleArrayOutput

type BucketReplicationConfigRuleDeleteMarkerReplication

type BucketReplicationConfigRuleDeleteMarkerReplication struct {
	// Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleDeleteMarkerReplicationArgs

type BucketReplicationConfigRuleDeleteMarkerReplicationArgs struct {
	// Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ElementType

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput() BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationInput

type BucketReplicationConfigRuleDeleteMarkerReplicationInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDeleteMarkerReplicationOutput() BucketReplicationConfigRuleDeleteMarkerReplicationOutput
	ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext(context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationOutput
}

BucketReplicationConfigRuleDeleteMarkerReplicationInput is an input type that accepts BucketReplicationConfigRuleDeleteMarkerReplicationArgs and BucketReplicationConfigRuleDeleteMarkerReplicationOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDeleteMarkerReplicationInput` via:

BucketReplicationConfigRuleDeleteMarkerReplicationArgs{...}

type BucketReplicationConfigRuleDeleteMarkerReplicationOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ElementType

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) Status

Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext

func (o BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext

func (o BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput() BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput
	ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput
}

BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput is an input type that accepts BucketReplicationConfigRuleDeleteMarkerReplicationArgs, BucketReplicationConfigRuleDeleteMarkerReplicationPtr and BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput` via:

        BucketReplicationConfigRuleDeleteMarkerReplicationArgs{...}

or:

        nil

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) Elem

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ElementType

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) Status

Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext

func (o BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDestination

type BucketReplicationConfigRuleDestination struct {
	// Configuration block that specifies the overrides to use for object owners on replication. See below. Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object. Must be used in conjunction with `account` owner override configuration.
	AccessControlTranslation *BucketReplicationConfigRuleDestinationAccessControlTranslation `pulumi:"accessControlTranslation"`
	// Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.
	Account *string `pulumi:"account"`
	// ARN of the bucket where you want Amazon S3 to store the results.
	Bucket string `pulumi:"bucket"`
	// Configuration block that provides information about encryption. See below. If `sourceSelectionCriteria` is specified, you must specify this element.
	EncryptionConfiguration *BucketReplicationConfigRuleDestinationEncryptionConfiguration `pulumi:"encryptionConfiguration"`
	// Configuration block that specifies replication metrics-related settings enabling replication metrics and events. See below.
	Metrics *BucketReplicationConfigRuleDestinationMetrics `pulumi:"metrics"`
	// Configuration block that specifies S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. See below. Replication Time Control must be used in conjunction with `metrics`.
	ReplicationTime *BucketReplicationConfigRuleDestinationReplicationTime `pulumi:"replicationTime"`
	// The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.
	StorageClass *string `pulumi:"storageClass"`
}

type BucketReplicationConfigRuleDestinationAccessControlTranslation

type BucketReplicationConfigRuleDestinationAccessControlTranslation struct {
	// Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the Amazon S3 API Reference. Valid values: `Destination`.
	Owner string `pulumi:"owner"`
}

type BucketReplicationConfigRuleDestinationAccessControlTranslationArgs

type BucketReplicationConfigRuleDestinationAccessControlTranslationArgs struct {
	// Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the Amazon S3 API Reference. Valid values: `Destination`.
	Owner pulumi.StringInput `pulumi:"owner"`
}

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ElementType

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext

func (i BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationInput

type BucketReplicationConfigRuleDestinationAccessControlTranslationInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutput() BucketReplicationConfigRuleDestinationAccessControlTranslationOutput
	ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationOutput
}

BucketReplicationConfigRuleDestinationAccessControlTranslationInput is an input type that accepts BucketReplicationConfigRuleDestinationAccessControlTranslationArgs and BucketReplicationConfigRuleDestinationAccessControlTranslationOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationAccessControlTranslationInput` via:

BucketReplicationConfigRuleDestinationAccessControlTranslationArgs{...}

type BucketReplicationConfigRuleDestinationAccessControlTranslationOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ElementType

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) Owner

Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the Amazon S3 API Reference. Valid values: `Destination`.

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput() BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput
	ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput
}

BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput is an input type that accepts BucketReplicationConfigRuleDestinationAccessControlTranslationArgs, BucketReplicationConfigRuleDestinationAccessControlTranslationPtr and BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput` via:

        BucketReplicationConfigRuleDestinationAccessControlTranslationArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) Elem

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) Owner

Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the Amazon S3 API Reference. Valid values: `Destination`.

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationArgs

type BucketReplicationConfigRuleDestinationArgs struct {
	// Configuration block that specifies the overrides to use for object owners on replication. See below. Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object. Must be used in conjunction with `account` owner override configuration.
	AccessControlTranslation BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput `pulumi:"accessControlTranslation"`
	// Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.
	Account pulumi.StringPtrInput `pulumi:"account"`
	// ARN of the bucket where you want Amazon S3 to store the results.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Configuration block that provides information about encryption. See below. If `sourceSelectionCriteria` is specified, you must specify this element.
	EncryptionConfiguration BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput `pulumi:"encryptionConfiguration"`
	// Configuration block that specifies replication metrics-related settings enabling replication metrics and events. See below.
	Metrics BucketReplicationConfigRuleDestinationMetricsPtrInput `pulumi:"metrics"`
	// Configuration block that specifies S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. See below. Replication Time Control must be used in conjunction with `metrics`.
	ReplicationTime BucketReplicationConfigRuleDestinationReplicationTimePtrInput `pulumi:"replicationTime"`
	// The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.
	StorageClass pulumi.StringPtrInput `pulumi:"storageClass"`
}

func (BucketReplicationConfigRuleDestinationArgs) ElementType

func (BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutput

func (i BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutput() BucketReplicationConfigRuleDestinationOutput

func (BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutputWithContext

func (i BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationOutput

type BucketReplicationConfigRuleDestinationEncryptionConfiguration

type BucketReplicationConfigRuleDestinationEncryptionConfiguration struct {
	// ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.
	ReplicaKmsKeyId string `pulumi:"replicaKmsKeyId"`
}

type BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs

type BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs struct {
	// ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.
	ReplicaKmsKeyId pulumi.StringInput `pulumi:"replicaKmsKeyId"`
}

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ElementType

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext

func (i BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationInput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutput() BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput
	ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput
}

BucketReplicationConfigRuleDestinationEncryptionConfigurationInput is an input type that accepts BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs and BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationEncryptionConfigurationInput` via:

BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs{...}

type BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ElementType

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ReplicaKmsKeyId

ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput() BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput
	ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput
}

BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput is an input type that accepts BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs, BucketReplicationConfigRuleDestinationEncryptionConfigurationPtr and BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput` via:

        BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) Elem

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ReplicaKmsKeyId

ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationInput

type BucketReplicationConfigRuleDestinationInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationOutput() BucketReplicationConfigRuleDestinationOutput
	ToBucketReplicationConfigRuleDestinationOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationOutput
}

BucketReplicationConfigRuleDestinationInput is an input type that accepts BucketReplicationConfigRuleDestinationArgs and BucketReplicationConfigRuleDestinationOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationInput` via:

BucketReplicationConfigRuleDestinationArgs{...}

type BucketReplicationConfigRuleDestinationMetrics

type BucketReplicationConfigRuleDestinationMetrics struct {
	// Configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event. See below.
	EventThreshold *BucketReplicationConfigRuleDestinationMetricsEventThreshold `pulumi:"eventThreshold"`
	// Status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleDestinationMetricsArgs

type BucketReplicationConfigRuleDestinationMetricsArgs struct {
	// Configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event. See below.
	EventThreshold BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput `pulumi:"eventThreshold"`
	// Status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleDestinationMetricsArgs) ElementType

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutput

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutput() BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput() BucketReplicationConfigRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThreshold

type BucketReplicationConfigRuleDestinationMetricsEventThreshold struct {
	// Time in minutes. Valid values: `15`.
	Minutes int `pulumi:"minutes"`
}

type BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs

type BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs struct {
	// Time in minutes. Valid values: `15`.
	Minutes pulumi.IntInput `pulumi:"minutes"`
}

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ElementType

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext

func (i BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdInput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutput() BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput
	ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput
}

BucketReplicationConfigRuleDestinationMetricsEventThresholdInput is an input type that accepts BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs and BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationMetricsEventThresholdInput` via:

BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs{...}

type BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ElementType

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) Minutes

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput() BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput
	ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput
}

BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput is an input type that accepts BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs, BucketReplicationConfigRuleDestinationMetricsEventThresholdPtr and BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput` via:

        BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) Elem

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) Minutes

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsInput

type BucketReplicationConfigRuleDestinationMetricsInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationMetricsOutput() BucketReplicationConfigRuleDestinationMetricsOutput
	ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationMetricsOutput
}

BucketReplicationConfigRuleDestinationMetricsInput is an input type that accepts BucketReplicationConfigRuleDestinationMetricsArgs and BucketReplicationConfigRuleDestinationMetricsOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationMetricsInput` via:

BucketReplicationConfigRuleDestinationMetricsArgs{...}

type BucketReplicationConfigRuleDestinationMetricsOutput

type BucketReplicationConfigRuleDestinationMetricsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsOutput) ElementType

func (BucketReplicationConfigRuleDestinationMetricsOutput) EventThreshold

Configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event. See below.

func (BucketReplicationConfigRuleDestinationMetricsOutput) Status

Status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutput

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutput() BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput() BucketReplicationConfigRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationMetricsPtrInput

type BucketReplicationConfigRuleDestinationMetricsPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationMetricsPtrOutput() BucketReplicationConfigRuleDestinationMetricsPtrOutput
	ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput
}

BucketReplicationConfigRuleDestinationMetricsPtrInput is an input type that accepts BucketReplicationConfigRuleDestinationMetricsArgs, BucketReplicationConfigRuleDestinationMetricsPtr and BucketReplicationConfigRuleDestinationMetricsPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationMetricsPtrInput` via:

        BucketReplicationConfigRuleDestinationMetricsArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationMetricsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) Elem

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) EventThreshold

Configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event. See below.

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) Status

Status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationOutput

type BucketReplicationConfigRuleDestinationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationOutput) AccessControlTranslation

Configuration block that specifies the overrides to use for object owners on replication. See below. Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object. Must be used in conjunction with `account` owner override configuration.

func (BucketReplicationConfigRuleDestinationOutput) Account

Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.

func (BucketReplicationConfigRuleDestinationOutput) Bucket

ARN of the bucket where you want Amazon S3 to store the results.

func (BucketReplicationConfigRuleDestinationOutput) ElementType

func (BucketReplicationConfigRuleDestinationOutput) EncryptionConfiguration

Configuration block that provides information about encryption. See below. If `sourceSelectionCriteria` is specified, you must specify this element.

func (BucketReplicationConfigRuleDestinationOutput) Metrics

Configuration block that specifies replication metrics-related settings enabling replication metrics and events. See below.

func (BucketReplicationConfigRuleDestinationOutput) ReplicationTime

Configuration block that specifies S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. See below. Replication Time Control must be used in conjunction with `metrics`.

func (BucketReplicationConfigRuleDestinationOutput) StorageClass

The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.

func (BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutput

func (o BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutput() BucketReplicationConfigRuleDestinationOutput

func (BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutputWithContext

func (o BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationOutput

type BucketReplicationConfigRuleDestinationReplicationTime

type BucketReplicationConfigRuleDestinationReplicationTime struct {
	// Status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
	// Configuration block specifying the time by which replication should be complete for all objects and operations on objects. See below.
	Time BucketReplicationConfigRuleDestinationReplicationTimeTime `pulumi:"time"`
}

type BucketReplicationConfigRuleDestinationReplicationTimeArgs

type BucketReplicationConfigRuleDestinationReplicationTimeArgs struct {
	// Status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
	// Configuration block specifying the time by which replication should be complete for all objects and operations on objects. See below.
	Time BucketReplicationConfigRuleDestinationReplicationTimeTimeInput `pulumi:"time"`
}

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext

func (i BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeInput

type BucketReplicationConfigRuleDestinationReplicationTimeInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationReplicationTimeOutput() BucketReplicationConfigRuleDestinationReplicationTimeOutput
	ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationReplicationTimeOutput
}

BucketReplicationConfigRuleDestinationReplicationTimeInput is an input type that accepts BucketReplicationConfigRuleDestinationReplicationTimeArgs and BucketReplicationConfigRuleDestinationReplicationTimeOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationReplicationTimeInput` via:

BucketReplicationConfigRuleDestinationReplicationTimeArgs{...}

type BucketReplicationConfigRuleDestinationReplicationTimeOutput

type BucketReplicationConfigRuleDestinationReplicationTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) Status

Status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) Time

Configuration block specifying the time by which replication should be complete for all objects and operations on objects. See below.

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimePtrInput

type BucketReplicationConfigRuleDestinationReplicationTimePtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput() BucketReplicationConfigRuleDestinationReplicationTimePtrOutput
	ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput
}

BucketReplicationConfigRuleDestinationReplicationTimePtrInput is an input type that accepts BucketReplicationConfigRuleDestinationReplicationTimeArgs, BucketReplicationConfigRuleDestinationReplicationTimePtr and BucketReplicationConfigRuleDestinationReplicationTimePtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationReplicationTimePtrInput` via:

        BucketReplicationConfigRuleDestinationReplicationTimeArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Elem

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Status

Status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Time

Configuration block specifying the time by which replication should be complete for all objects and operations on objects. See below.

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTime

type BucketReplicationConfigRuleDestinationReplicationTimeTime struct {
	// Time in minutes. Valid values: `15`.
	Minutes int `pulumi:"minutes"`
}

type BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs

type BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs struct {
	// Time in minutes. Valid values: `15`.
	Minutes pulumi.IntInput `pulumi:"minutes"`
}

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext

func (i BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext

func (i BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimeInput

type BucketReplicationConfigRuleDestinationReplicationTimeTimeInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutput() BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput
	ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput
}

BucketReplicationConfigRuleDestinationReplicationTimeTimeInput is an input type that accepts BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs and BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationReplicationTimeTimeInput` via:

BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs{...}

type BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) Minutes

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrInput

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput() BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput
	ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput
}

BucketReplicationConfigRuleDestinationReplicationTimeTimePtrInput is an input type that accepts BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs, BucketReplicationConfigRuleDestinationReplicationTimeTimePtr and BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleDestinationReplicationTimeTimePtrInput` via:

        BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs{...}

or:

        nil

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) Elem

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ElementType

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) Minutes

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleExistingObjectReplication

type BucketReplicationConfigRuleExistingObjectReplication struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleExistingObjectReplicationArgs

type BucketReplicationConfigRuleExistingObjectReplicationArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ElementType

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput() BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleExistingObjectReplicationInput

type BucketReplicationConfigRuleExistingObjectReplicationInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleExistingObjectReplicationOutput() BucketReplicationConfigRuleExistingObjectReplicationOutput
	ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext(context.Context) BucketReplicationConfigRuleExistingObjectReplicationOutput
}

BucketReplicationConfigRuleExistingObjectReplicationInput is an input type that accepts BucketReplicationConfigRuleExistingObjectReplicationArgs and BucketReplicationConfigRuleExistingObjectReplicationOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleExistingObjectReplicationInput` via:

BucketReplicationConfigRuleExistingObjectReplicationArgs{...}

type BucketReplicationConfigRuleExistingObjectReplicationOutput

type BucketReplicationConfigRuleExistingObjectReplicationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ElementType

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext

func (o BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext

func (o BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleExistingObjectReplicationPtrInput

type BucketReplicationConfigRuleExistingObjectReplicationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput() BucketReplicationConfigRuleExistingObjectReplicationPtrOutput
	ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput
}

BucketReplicationConfigRuleExistingObjectReplicationPtrInput is an input type that accepts BucketReplicationConfigRuleExistingObjectReplicationArgs, BucketReplicationConfigRuleExistingObjectReplicationPtr and BucketReplicationConfigRuleExistingObjectReplicationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleExistingObjectReplicationPtrInput` via:

        BucketReplicationConfigRuleExistingObjectReplicationArgs{...}

or:

        nil

type BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleExistingObjectReplicationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) Elem

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ElementType

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext

func (o BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleFilter

type BucketReplicationConfigRuleFilter struct {
	// Configuration block for specifying rule filters. This element is required only if you specify more than one filter. See and below for more details.
	And *BucketReplicationConfigRuleFilterAnd `pulumi:"and"`
	// Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix *string `pulumi:"prefix"`
	// Configuration block for specifying a tag key and value. See below.
	Tag *BucketReplicationConfigRuleFilterTag `pulumi:"tag"`
}

type BucketReplicationConfigRuleFilterAnd

type BucketReplicationConfigRuleFilterAnd struct {
	// Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix *string `pulumi:"prefix"`
	// Map of tags (key and value pairs) that identifies a subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.
	Tags map[string]string `pulumi:"tags"`
}

type BucketReplicationConfigRuleFilterAndArgs

type BucketReplicationConfigRuleFilterAndArgs struct {
	// Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Map of tags (key and value pairs) that identifies a subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketReplicationConfigRuleFilterAndArgs) ElementType

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutput

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutput() BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutputWithContext

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutput

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterAndInput

type BucketReplicationConfigRuleFilterAndInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterAndOutput() BucketReplicationConfigRuleFilterAndOutput
	ToBucketReplicationConfigRuleFilterAndOutputWithContext(context.Context) BucketReplicationConfigRuleFilterAndOutput
}

BucketReplicationConfigRuleFilterAndInput is an input type that accepts BucketReplicationConfigRuleFilterAndArgs and BucketReplicationConfigRuleFilterAndOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterAndInput` via:

BucketReplicationConfigRuleFilterAndArgs{...}

type BucketReplicationConfigRuleFilterAndOutput

type BucketReplicationConfigRuleFilterAndOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterAndOutput) ElementType

func (BucketReplicationConfigRuleFilterAndOutput) Prefix

Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigRuleFilterAndOutput) Tags

Map of tags (key and value pairs) that identifies a subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutput

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutput() BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutputWithContext

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterAndPtrInput

type BucketReplicationConfigRuleFilterAndPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput
	ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(context.Context) BucketReplicationConfigRuleFilterAndPtrOutput
}

BucketReplicationConfigRuleFilterAndPtrInput is an input type that accepts BucketReplicationConfigRuleFilterAndArgs, BucketReplicationConfigRuleFilterAndPtr and BucketReplicationConfigRuleFilterAndPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterAndPtrInput` via:

        BucketReplicationConfigRuleFilterAndArgs{...}

or:

        nil

type BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterAndPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterAndPtrOutput) Elem

func (BucketReplicationConfigRuleFilterAndPtrOutput) ElementType

func (BucketReplicationConfigRuleFilterAndPtrOutput) Prefix

Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigRuleFilterAndPtrOutput) Tags

Map of tags (key and value pairs) that identifies a subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.

func (BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput

func (o BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterArgs

type BucketReplicationConfigRuleFilterArgs struct {
	// Configuration block for specifying rule filters. This element is required only if you specify more than one filter. See and below for more details.
	And BucketReplicationConfigRuleFilterAndPtrInput `pulumi:"and"`
	// Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Configuration block for specifying a tag key and value. See below.
	Tag BucketReplicationConfigRuleFilterTagPtrInput `pulumi:"tag"`
}

func (BucketReplicationConfigRuleFilterArgs) ElementType

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutput

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutput() BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutputWithContext

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutput

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutputWithContext

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterInput

type BucketReplicationConfigRuleFilterInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterOutput() BucketReplicationConfigRuleFilterOutput
	ToBucketReplicationConfigRuleFilterOutputWithContext(context.Context) BucketReplicationConfigRuleFilterOutput
}

BucketReplicationConfigRuleFilterInput is an input type that accepts BucketReplicationConfigRuleFilterArgs and BucketReplicationConfigRuleFilterOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterInput` via:

BucketReplicationConfigRuleFilterArgs{...}

type BucketReplicationConfigRuleFilterOutput

type BucketReplicationConfigRuleFilterOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterOutput) And

Configuration block for specifying rule filters. This element is required only if you specify more than one filter. See and below for more details.

func (BucketReplicationConfigRuleFilterOutput) ElementType

func (BucketReplicationConfigRuleFilterOutput) Prefix

Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigRuleFilterOutput) Tag

Configuration block for specifying a tag key and value. See below.

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutput

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutput() BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutputWithContext

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutput

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterPtrInput

type BucketReplicationConfigRuleFilterPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput
	ToBucketReplicationConfigRuleFilterPtrOutputWithContext(context.Context) BucketReplicationConfigRuleFilterPtrOutput
}

BucketReplicationConfigRuleFilterPtrInput is an input type that accepts BucketReplicationConfigRuleFilterArgs, BucketReplicationConfigRuleFilterPtr and BucketReplicationConfigRuleFilterPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterPtrInput` via:

        BucketReplicationConfigRuleFilterArgs{...}

or:

        nil

type BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterPtrOutput) And

Configuration block for specifying rule filters. This element is required only if you specify more than one filter. See and below for more details.

func (BucketReplicationConfigRuleFilterPtrOutput) Elem

func (BucketReplicationConfigRuleFilterPtrOutput) ElementType

func (BucketReplicationConfigRuleFilterPtrOutput) Prefix

Object key name prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigRuleFilterPtrOutput) Tag

Configuration block for specifying a tag key and value. See below.

func (BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutput

func (o BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterTag

type BucketReplicationConfigRuleFilterTag struct {
	// Name of the object key.
	Key string `pulumi:"key"`
	// Value of the tag.
	Value string `pulumi:"value"`
}

type BucketReplicationConfigRuleFilterTagArgs

type BucketReplicationConfigRuleFilterTagArgs struct {
	// Name of the object key.
	Key pulumi.StringInput `pulumi:"key"`
	// Value of the tag.
	Value pulumi.StringInput `pulumi:"value"`
}

func (BucketReplicationConfigRuleFilterTagArgs) ElementType

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutput

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutput() BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutputWithContext

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutput

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

type BucketReplicationConfigRuleFilterTagInput

type BucketReplicationConfigRuleFilterTagInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterTagOutput() BucketReplicationConfigRuleFilterTagOutput
	ToBucketReplicationConfigRuleFilterTagOutputWithContext(context.Context) BucketReplicationConfigRuleFilterTagOutput
}

BucketReplicationConfigRuleFilterTagInput is an input type that accepts BucketReplicationConfigRuleFilterTagArgs and BucketReplicationConfigRuleFilterTagOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterTagInput` via:

BucketReplicationConfigRuleFilterTagArgs{...}

type BucketReplicationConfigRuleFilterTagOutput

type BucketReplicationConfigRuleFilterTagOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterTagOutput) ElementType

func (BucketReplicationConfigRuleFilterTagOutput) Key

Name of the object key.

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutput

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutput() BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutputWithContext

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagOutput) Value

Value of the tag.

type BucketReplicationConfigRuleFilterTagPtrInput

type BucketReplicationConfigRuleFilterTagPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput
	ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(context.Context) BucketReplicationConfigRuleFilterTagPtrOutput
}

BucketReplicationConfigRuleFilterTagPtrInput is an input type that accepts BucketReplicationConfigRuleFilterTagArgs, BucketReplicationConfigRuleFilterTagPtr and BucketReplicationConfigRuleFilterTagPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleFilterTagPtrInput` via:

        BucketReplicationConfigRuleFilterTagArgs{...}

or:

        nil

type BucketReplicationConfigRuleFilterTagPtrOutput

type BucketReplicationConfigRuleFilterTagPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterTagPtrOutput) Elem

func (BucketReplicationConfigRuleFilterTagPtrOutput) ElementType

func (BucketReplicationConfigRuleFilterTagPtrOutput) Key

Name of the object key.

func (BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput

func (o BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext

func (o BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagPtrOutput) Value

Value of the tag.

type BucketReplicationConfigRuleInput

type BucketReplicationConfigRuleInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleOutput() BucketReplicationConfigRuleOutput
	ToBucketReplicationConfigRuleOutputWithContext(context.Context) BucketReplicationConfigRuleOutput
}

BucketReplicationConfigRuleInput is an input type that accepts BucketReplicationConfigRuleArgs and BucketReplicationConfigRuleOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleInput` via:

BucketReplicationConfigRuleArgs{...}

type BucketReplicationConfigRuleOutput

type BucketReplicationConfigRuleOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleOutput) DeleteMarkerReplication

Whether delete markers are replicated. This argument is only valid with V2 replication configurations (i.e., when `filter` is used)documented below.

func (BucketReplicationConfigRuleOutput) Destination

Specifies the destination for the rule. See below.

func (BucketReplicationConfigRuleOutput) ElementType

func (BucketReplicationConfigRuleOutput) ExistingObjectReplication

Replicate existing objects in the source bucket according to the rule configurations. See below.

func (BucketReplicationConfigRuleOutput) Filter

Filter that identifies subset of objects to which the replication rule applies. See below. If not specified, the `rule` will default to using `prefix`.

func (BucketReplicationConfigRuleOutput) Id

Unique identifier for the rule. Must be less than or equal to 255 characters in length.

func (BucketReplicationConfigRuleOutput) Prefix deprecated

Object key name prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length. Defaults to an empty string (`""`) if `filter` is not specified.

Deprecated: prefix is deprecated. Use filter instead.

func (BucketReplicationConfigRuleOutput) Priority

Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.

func (BucketReplicationConfigRuleOutput) SourceSelectionCriteria

Specifies special object selection criteria. See below.

func (BucketReplicationConfigRuleOutput) Status

Status of the rule. Either `"Enabled"` or `"Disabled"`. The rule is ignored if status is not "Enabled".

func (BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutput

func (o BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutput() BucketReplicationConfigRuleOutput

func (BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutputWithContext

func (o BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutputWithContext(ctx context.Context) BucketReplicationConfigRuleOutput

type BucketReplicationConfigRuleSourceSelectionCriteria

type BucketReplicationConfigRuleSourceSelectionCriteria struct {
	// Configuration block that you can specify for selections for modifications on replicas. Amazon S3 doesn't replicate replica modifications by default. In the latest version of replication configuration (when `filter` is specified), you can specify this element and set the status to `Enabled` to replicate modifications on replicas.
	ReplicaModifications *BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModifications `pulumi:"replicaModifications"`
	// Configuration block for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If specified, `replicaKmsKeyId` in `destination` `encryptionConfiguration` must be specified as well.
	SseKmsEncryptedObjects *BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjects `pulumi:"sseKmsEncryptedObjects"`
}

type BucketReplicationConfigRuleSourceSelectionCriteriaArgs

type BucketReplicationConfigRuleSourceSelectionCriteriaArgs struct {
	// Configuration block that you can specify for selections for modifications on replicas. Amazon S3 doesn't replicate replica modifications by default. In the latest version of replication configuration (when `filter` is specified), you can specify this element and set the status to `Enabled` to replicate modifications on replicas.
	ReplicaModifications BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput `pulumi:"replicaModifications"`
	// Configuration block for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If specified, `replicaKmsKeyId` in `destination` `encryptionConfiguration` must be specified as well.
	SseKmsEncryptedObjects BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput `pulumi:"sseKmsEncryptedObjects"`
}

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput() BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaInput

type BucketReplicationConfigRuleSourceSelectionCriteriaInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaOutput() BucketReplicationConfigRuleSourceSelectionCriteriaOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaArgs and BucketReplicationConfigRuleSourceSelectionCriteriaOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaInput` via:

BucketReplicationConfigRuleSourceSelectionCriteriaArgs{...}

type BucketReplicationConfigRuleSourceSelectionCriteriaOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ReplicaModifications

Configuration block that you can specify for selections for modifications on replicas. Amazon S3 doesn't replicate replica modifications by default. In the latest version of replication configuration (when `filter` is specified), you can specify this element and set the status to `Enabled` to replicate modifications on replicas.

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) SseKmsEncryptedObjects

Configuration block for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If specified, `replicaKmsKeyId` in `destination` `encryptionConfiguration` must be specified as well.

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext

func (o BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext

func (o BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput() BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaArgs, BucketReplicationConfigRuleSourceSelectionCriteriaPtr and BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput` via:

        BucketReplicationConfigRuleSourceSelectionCriteriaArgs{...}

or:

        nil

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) Elem

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ReplicaModifications

Configuration block that you can specify for selections for modifications on replicas. Amazon S3 doesn't replicate replica modifications by default. In the latest version of replication configuration (when `filter` is specified), you can specify this element and set the status to `Enabled` to replicate modifications on replicas.

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) SseKmsEncryptedObjects

Configuration block for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If specified, `replicaKmsKeyId` in `destination` `encryptionConfiguration` must be specified as well.

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext

func (o BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModifications

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModifications struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutputWithContext

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext

func (i BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsInput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput() BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs and BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsInput` via:

BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs{...}

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutputWithContext

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput() BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs, BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtr and BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput` via:

        BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs{...}

or:

        nil

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) Elem

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjects

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjects struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

func (i BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput() BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs and BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput` via:

BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{...}

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput() BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput
	ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext(context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput
}

BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput is an input type that accepts BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs, BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtr and BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput` via:

        BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{...}

or:

        nil

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) Elem

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ElementType

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) Status

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

type BucketReplicationConfigState

type BucketReplicationConfigState struct {
	// Name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringPtrInput
	// List of configuration blocks describing the rules managing the replication. See below.
	// > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rule` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
	//
	// > **NOTE:** Amazon S3's latest version of the replication configuration is V2, which includes the `filter` attribute for replication rules.
	//
	// > **NOTE:** The `existingObjectReplication` parameter is not supported by Amazon S3 at this time and should not be included in your `rule` configurations. Specifying this parameter will result in `MalformedXML` errors.
	// To replicate existing objects, please refer to the [Replicating existing objects with S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) documentation in the Amazon S3 User Guide.
	Rules BucketReplicationConfigRuleArrayInput
	// Token to allow replication to be enabled on an Object Lock-enabled bucket. You must contact AWS support for the bucket's "Object Lock token".
	// For more details, see [Using S3 Object Lock with replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-replication).
	Token pulumi.StringPtrInput
}

func (BucketReplicationConfigState) ElementType

type BucketReplicationConfiguration

type BucketReplicationConfiguration struct {
	// ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role string `pulumi:"role"`
	// Specifies the rules managing the replication (documented below).
	Rules []BucketReplicationConfigurationRule `pulumi:"rules"`
}

type BucketReplicationConfigurationArgs

type BucketReplicationConfigurationArgs struct {
	// ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringInput `pulumi:"role"`
	// Specifies the rules managing the replication (documented below).
	Rules BucketReplicationConfigurationRuleArrayInput `pulumi:"rules"`
}

func (BucketReplicationConfigurationArgs) ElementType

func (BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationOutput

func (i BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationOutput() BucketReplicationConfigurationOutput

func (BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationOutputWithContext

func (i BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigurationOutput

func (BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationPtrOutput

func (i BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationPtrOutput() BucketReplicationConfigurationPtrOutput

func (BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationPtrOutputWithContext

func (i BucketReplicationConfigurationArgs) ToBucketReplicationConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationPtrOutput

type BucketReplicationConfigurationInput

type BucketReplicationConfigurationInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationOutput() BucketReplicationConfigurationOutput
	ToBucketReplicationConfigurationOutputWithContext(context.Context) BucketReplicationConfigurationOutput
}

BucketReplicationConfigurationInput is an input type that accepts BucketReplicationConfigurationArgs and BucketReplicationConfigurationOutput values. You can construct a concrete instance of `BucketReplicationConfigurationInput` via:

BucketReplicationConfigurationArgs{...}

type BucketReplicationConfigurationOutput

type BucketReplicationConfigurationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationOutput) ElementType

func (BucketReplicationConfigurationOutput) Role

ARN of the IAM role for Amazon S3 to assume when replicating the objects.

func (BucketReplicationConfigurationOutput) Rules

Specifies the rules managing the replication (documented below).

func (BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationOutput

func (o BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationOutput() BucketReplicationConfigurationOutput

func (BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationOutputWithContext

func (o BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigurationOutput

func (BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationPtrOutput

func (o BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationPtrOutput() BucketReplicationConfigurationPtrOutput

func (BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationPtrOutputWithContext

func (o BucketReplicationConfigurationOutput) ToBucketReplicationConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationPtrOutput

type BucketReplicationConfigurationPtrInput

type BucketReplicationConfigurationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationPtrOutput() BucketReplicationConfigurationPtrOutput
	ToBucketReplicationConfigurationPtrOutputWithContext(context.Context) BucketReplicationConfigurationPtrOutput
}

BucketReplicationConfigurationPtrInput is an input type that accepts BucketReplicationConfigurationArgs, BucketReplicationConfigurationPtr and BucketReplicationConfigurationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationPtrInput` via:

        BucketReplicationConfigurationArgs{...}

or:

        nil

type BucketReplicationConfigurationPtrOutput

type BucketReplicationConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationPtrOutput) Elem

func (BucketReplicationConfigurationPtrOutput) ElementType

func (BucketReplicationConfigurationPtrOutput) Role

ARN of the IAM role for Amazon S3 to assume when replicating the objects.

func (BucketReplicationConfigurationPtrOutput) Rules

Specifies the rules managing the replication (documented below).

func (BucketReplicationConfigurationPtrOutput) ToBucketReplicationConfigurationPtrOutput

func (o BucketReplicationConfigurationPtrOutput) ToBucketReplicationConfigurationPtrOutput() BucketReplicationConfigurationPtrOutput

func (BucketReplicationConfigurationPtrOutput) ToBucketReplicationConfigurationPtrOutputWithContext

func (o BucketReplicationConfigurationPtrOutput) ToBucketReplicationConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationPtrOutput

type BucketReplicationConfigurationRule

type BucketReplicationConfigurationRule struct {
	// Whether delete markers are replicated. The only valid value is `Enabled`. To disable, omit this argument. This argument is only valid with V2 replication configurations (i.e., when `filter` is used).
	DeleteMarkerReplicationStatus *string `pulumi:"deleteMarkerReplicationStatus"`
	// Specifies the destination for the rule (documented below).
	Destination BucketReplicationConfigurationRuleDestination `pulumi:"destination"`
	// Filter that identifies subset of objects to which the replication rule applies (documented below).
	Filter *BucketReplicationConfigurationRuleFilter `pulumi:"filter"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id *string `pulumi:"id"`
	// Object keyname prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix *string `pulumi:"prefix"`
	// Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.
	Priority *int `pulumi:"priority"`
	// Specifies special object selection criteria (documented below).
	SourceSelectionCriteria *BucketReplicationConfigurationRuleSourceSelectionCriteria `pulumi:"sourceSelectionCriteria"`
	// Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigurationRuleArgs

type BucketReplicationConfigurationRuleArgs struct {
	// Whether delete markers are replicated. The only valid value is `Enabled`. To disable, omit this argument. This argument is only valid with V2 replication configurations (i.e., when `filter` is used).
	DeleteMarkerReplicationStatus pulumi.StringPtrInput `pulumi:"deleteMarkerReplicationStatus"`
	// Specifies the destination for the rule (documented below).
	Destination BucketReplicationConfigurationRuleDestinationInput `pulumi:"destination"`
	// Filter that identifies subset of objects to which the replication rule applies (documented below).
	Filter BucketReplicationConfigurationRuleFilterPtrInput `pulumi:"filter"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Object keyname prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// Specifies special object selection criteria (documented below).
	SourceSelectionCriteria BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrInput `pulumi:"sourceSelectionCriteria"`
	// Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigurationRuleArgs) ElementType

func (BucketReplicationConfigurationRuleArgs) ToBucketReplicationConfigurationRuleOutput

func (i BucketReplicationConfigurationRuleArgs) ToBucketReplicationConfigurationRuleOutput() BucketReplicationConfigurationRuleOutput

func (BucketReplicationConfigurationRuleArgs) ToBucketReplicationConfigurationRuleOutputWithContext

func (i BucketReplicationConfigurationRuleArgs) ToBucketReplicationConfigurationRuleOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleOutput

type BucketReplicationConfigurationRuleArray

type BucketReplicationConfigurationRuleArray []BucketReplicationConfigurationRuleInput

func (BucketReplicationConfigurationRuleArray) ElementType

func (BucketReplicationConfigurationRuleArray) ToBucketReplicationConfigurationRuleArrayOutput

func (i BucketReplicationConfigurationRuleArray) ToBucketReplicationConfigurationRuleArrayOutput() BucketReplicationConfigurationRuleArrayOutput

func (BucketReplicationConfigurationRuleArray) ToBucketReplicationConfigurationRuleArrayOutputWithContext

func (i BucketReplicationConfigurationRuleArray) ToBucketReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleArrayOutput

type BucketReplicationConfigurationRuleArrayInput

type BucketReplicationConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleArrayOutput() BucketReplicationConfigurationRuleArrayOutput
	ToBucketReplicationConfigurationRuleArrayOutputWithContext(context.Context) BucketReplicationConfigurationRuleArrayOutput
}

BucketReplicationConfigurationRuleArrayInput is an input type that accepts BucketReplicationConfigurationRuleArray and BucketReplicationConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleArrayInput` via:

BucketReplicationConfigurationRuleArray{ BucketReplicationConfigurationRuleArgs{...} }

type BucketReplicationConfigurationRuleArrayOutput

type BucketReplicationConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleArrayOutput) ElementType

func (BucketReplicationConfigurationRuleArrayOutput) Index

func (BucketReplicationConfigurationRuleArrayOutput) ToBucketReplicationConfigurationRuleArrayOutput

func (o BucketReplicationConfigurationRuleArrayOutput) ToBucketReplicationConfigurationRuleArrayOutput() BucketReplicationConfigurationRuleArrayOutput

func (BucketReplicationConfigurationRuleArrayOutput) ToBucketReplicationConfigurationRuleArrayOutputWithContext

func (o BucketReplicationConfigurationRuleArrayOutput) ToBucketReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleArrayOutput

type BucketReplicationConfigurationRuleDestination

type BucketReplicationConfigurationRuleDestination struct {
	// Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslation *BucketReplicationConfigurationRuleDestinationAccessControlTranslation `pulumi:"accessControlTranslation"`
	// Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.
	AccountId *string `pulumi:"accountId"`
	// ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
	Bucket string `pulumi:"bucket"`
	// Enables replication metrics (required for S3 RTC) (documented below).
	Metrics *BucketReplicationConfigurationRuleDestinationMetrics `pulumi:"metrics"`
	// Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with
	// `sseKmsEncryptedObjects` source selection criteria.
	ReplicaKmsKeyId *string `pulumi:"replicaKmsKeyId"`
	// Enables S3 Replication Time Control (S3 RTC) (documented below).
	ReplicationTime *BucketReplicationConfigurationRuleDestinationReplicationTime `pulumi:"replicationTime"`
	// The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.
	StorageClass *string `pulumi:"storageClass"`
}

type BucketReplicationConfigurationRuleDestinationAccessControlTranslation

type BucketReplicationConfigurationRuleDestinationAccessControlTranslation struct {
	// Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) in the Amazon S3 API Reference. The only valid value is `Destination`.
	Owner string `pulumi:"owner"`
}

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs struct {
	// Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) in the Amazon S3 API Reference. The only valid value is `Destination`.
	Owner pulumi.StringInput `pulumi:"owner"`
}

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ElementType

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationInput

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput() BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput
	ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput
}

BucketReplicationConfigurationRuleDestinationAccessControlTranslationInput is an input type that accepts BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs and BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationAccessControlTranslationInput` via:

BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs{...}

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) Owner

Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) in the Amazon S3 API Reference. The only valid value is `Destination`.

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput() BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput
	ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput
}

BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput is an input type that accepts BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs, BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtr and BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput` via:

        BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) Elem

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) Owner

Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) in the Amazon S3 API Reference. The only valid value is `Destination`.

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext

type BucketReplicationConfigurationRuleDestinationArgs

type BucketReplicationConfigurationRuleDestinationArgs struct {
	// Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslation BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput `pulumi:"accessControlTranslation"`
	// Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.
	AccountId pulumi.StringPtrInput `pulumi:"accountId"`
	// ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Enables replication metrics (required for S3 RTC) (documented below).
	Metrics BucketReplicationConfigurationRuleDestinationMetricsPtrInput `pulumi:"metrics"`
	// Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with
	// `sseKmsEncryptedObjects` source selection criteria.
	ReplicaKmsKeyId pulumi.StringPtrInput `pulumi:"replicaKmsKeyId"`
	// Enables S3 Replication Time Control (S3 RTC) (documented below).
	ReplicationTime BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput `pulumi:"replicationTime"`
	// The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.
	StorageClass pulumi.StringPtrInput `pulumi:"storageClass"`
}

func (BucketReplicationConfigurationRuleDestinationArgs) ElementType

func (BucketReplicationConfigurationRuleDestinationArgs) ToBucketReplicationConfigurationRuleDestinationOutput

func (i BucketReplicationConfigurationRuleDestinationArgs) ToBucketReplicationConfigurationRuleDestinationOutput() BucketReplicationConfigurationRuleDestinationOutput

func (BucketReplicationConfigurationRuleDestinationArgs) ToBucketReplicationConfigurationRuleDestinationOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationArgs) ToBucketReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationOutput

type BucketReplicationConfigurationRuleDestinationInput

type BucketReplicationConfigurationRuleDestinationInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationOutput() BucketReplicationConfigurationRuleDestinationOutput
	ToBucketReplicationConfigurationRuleDestinationOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationOutput
}

BucketReplicationConfigurationRuleDestinationInput is an input type that accepts BucketReplicationConfigurationRuleDestinationArgs and BucketReplicationConfigurationRuleDestinationOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationInput` via:

BucketReplicationConfigurationRuleDestinationArgs{...}

type BucketReplicationConfigurationRuleDestinationMetrics

type BucketReplicationConfigurationRuleDestinationMetrics struct {
	// Threshold within which objects are to be replicated. The only valid value is `15`.
	Minutes *int `pulumi:"minutes"`
	// Status of replication metrics. Either `Enabled` or `Disabled`.
	Status *string `pulumi:"status"`
}

type BucketReplicationConfigurationRuleDestinationMetricsArgs

type BucketReplicationConfigurationRuleDestinationMetricsArgs struct {
	// Threshold within which objects are to be replicated. The only valid value is `15`.
	Minutes pulumi.IntPtrInput `pulumi:"minutes"`
	// Status of replication metrics. Either `Enabled` or `Disabled`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ElementType

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput() BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationMetricsInput

type BucketReplicationConfigurationRuleDestinationMetricsInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationMetricsOutput() BucketReplicationConfigurationRuleDestinationMetricsOutput
	ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationMetricsOutput
}

BucketReplicationConfigurationRuleDestinationMetricsInput is an input type that accepts BucketReplicationConfigurationRuleDestinationMetricsArgs and BucketReplicationConfigurationRuleDestinationMetricsOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationMetricsInput` via:

BucketReplicationConfigurationRuleDestinationMetricsArgs{...}

type BucketReplicationConfigurationRuleDestinationMetricsOutput

type BucketReplicationConfigurationRuleDestinationMetricsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) Status

Status of replication metrics. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationMetricsPtrInput

type BucketReplicationConfigurationRuleDestinationMetricsPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput() BucketReplicationConfigurationRuleDestinationMetricsPtrOutput
	ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput
}

BucketReplicationConfigurationRuleDestinationMetricsPtrInput is an input type that accepts BucketReplicationConfigurationRuleDestinationMetricsArgs, BucketReplicationConfigurationRuleDestinationMetricsPtr and BucketReplicationConfigurationRuleDestinationMetricsPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationMetricsPtrInput` via:

        BucketReplicationConfigurationRuleDestinationMetricsArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationMetricsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Elem

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Status

Status of replication metrics. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationOutput

type BucketReplicationConfigurationRuleDestinationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationOutput) AccessControlTranslation

Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.

func (BucketReplicationConfigurationRuleDestinationOutput) AccountId

Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.

func (BucketReplicationConfigurationRuleDestinationOutput) Bucket

ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.

func (BucketReplicationConfigurationRuleDestinationOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationOutput) Metrics

Enables replication metrics (required for S3 RTC) (documented below).

func (BucketReplicationConfigurationRuleDestinationOutput) ReplicaKmsKeyId

Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with `sseKmsEncryptedObjects` source selection criteria.

func (BucketReplicationConfigurationRuleDestinationOutput) ReplicationTime

Enables S3 Replication Time Control (S3 RTC) (documented below).

func (BucketReplicationConfigurationRuleDestinationOutput) StorageClass

The [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Destination.html#AmazonS3-Type-Destination-StorageClass) used to store the object. By default, Amazon S3 uses the storage class of the source object to create the object replica.

func (BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutput

func (o BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutput() BucketReplicationConfigurationRuleDestinationOutput

func (BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationOutput

type BucketReplicationConfigurationRuleDestinationReplicationTime

type BucketReplicationConfigurationRuleDestinationReplicationTime struct {
	// Threshold within which objects are to be replicated. The only valid value is `15`.
	Minutes *int `pulumi:"minutes"`
	// Status of RTC. Either `Enabled` or `Disabled`.
	Status *string `pulumi:"status"`
}

type BucketReplicationConfigurationRuleDestinationReplicationTimeArgs

type BucketReplicationConfigurationRuleDestinationReplicationTimeArgs struct {
	// Threshold within which objects are to be replicated. The only valid value is `15`.
	Minutes pulumi.IntPtrInput `pulumi:"minutes"`
	// Status of RTC. Either `Enabled` or `Disabled`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ElementType

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext

func (i BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimeInput

type BucketReplicationConfigurationRuleDestinationReplicationTimeInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutput() BucketReplicationConfigurationRuleDestinationReplicationTimeOutput
	ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimeOutput
}

BucketReplicationConfigurationRuleDestinationReplicationTimeInput is an input type that accepts BucketReplicationConfigurationRuleDestinationReplicationTimeArgs and BucketReplicationConfigurationRuleDestinationReplicationTimeOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationReplicationTimeInput` via:

BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{...}

type BucketReplicationConfigurationRuleDestinationReplicationTimeOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) Status

Status of RTC. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput() BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput
	ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput
}

BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput is an input type that accepts BucketReplicationConfigurationRuleDestinationReplicationTimeArgs, BucketReplicationConfigurationRuleDestinationReplicationTimePtr and BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput` via:

        BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Elem

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ElementType

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Status

Status of RTC. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleFilter

type BucketReplicationConfigurationRuleFilter struct {
	// Object keyname prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix *string `pulumi:"prefix"`
	// A map of tags that identifies subset of objects to which the rule applies.
	// The rule applies only to objects having all the tags in its tagset.
	Tags map[string]string `pulumi:"tags"`
}

type BucketReplicationConfigurationRuleFilterArgs

type BucketReplicationConfigurationRuleFilterArgs struct {
	// Object keyname prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// A map of tags that identifies subset of objects to which the rule applies.
	// The rule applies only to objects having all the tags in its tagset.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketReplicationConfigurationRuleFilterArgs) ElementType

func (BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterOutput

func (i BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterOutput() BucketReplicationConfigurationRuleFilterOutput

func (BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterOutputWithContext

func (i BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleFilterOutput

func (BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterPtrOutput

func (i BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterPtrOutput() BucketReplicationConfigurationRuleFilterPtrOutput

func (BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext

func (i BucketReplicationConfigurationRuleFilterArgs) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleFilterPtrOutput

type BucketReplicationConfigurationRuleFilterInput

type BucketReplicationConfigurationRuleFilterInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleFilterOutput() BucketReplicationConfigurationRuleFilterOutput
	ToBucketReplicationConfigurationRuleFilterOutputWithContext(context.Context) BucketReplicationConfigurationRuleFilterOutput
}

BucketReplicationConfigurationRuleFilterInput is an input type that accepts BucketReplicationConfigurationRuleFilterArgs and BucketReplicationConfigurationRuleFilterOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleFilterInput` via:

BucketReplicationConfigurationRuleFilterArgs{...}

type BucketReplicationConfigurationRuleFilterOutput

type BucketReplicationConfigurationRuleFilterOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleFilterOutput) ElementType

func (BucketReplicationConfigurationRuleFilterOutput) Prefix

Object keyname prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigurationRuleFilterOutput) Tags

A map of tags that identifies subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.

func (BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterOutput

func (o BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterOutput() BucketReplicationConfigurationRuleFilterOutput

func (BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterOutputWithContext

func (o BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleFilterOutput

func (BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterPtrOutput

func (o BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterPtrOutput() BucketReplicationConfigurationRuleFilterPtrOutput

func (BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext

func (o BucketReplicationConfigurationRuleFilterOutput) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleFilterPtrOutput

type BucketReplicationConfigurationRuleFilterPtrInput

type BucketReplicationConfigurationRuleFilterPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleFilterPtrOutput() BucketReplicationConfigurationRuleFilterPtrOutput
	ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleFilterPtrOutput
}

BucketReplicationConfigurationRuleFilterPtrInput is an input type that accepts BucketReplicationConfigurationRuleFilterArgs, BucketReplicationConfigurationRuleFilterPtr and BucketReplicationConfigurationRuleFilterPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleFilterPtrInput` via:

        BucketReplicationConfigurationRuleFilterArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleFilterPtrOutput

type BucketReplicationConfigurationRuleFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleFilterPtrOutput) Elem

func (BucketReplicationConfigurationRuleFilterPtrOutput) ElementType

func (BucketReplicationConfigurationRuleFilterPtrOutput) Prefix

Object keyname prefix that identifies subset of objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigurationRuleFilterPtrOutput) Tags

A map of tags that identifies subset of objects to which the rule applies. The rule applies only to objects having all the tags in its tagset.

func (BucketReplicationConfigurationRuleFilterPtrOutput) ToBucketReplicationConfigurationRuleFilterPtrOutput

func (o BucketReplicationConfigurationRuleFilterPtrOutput) ToBucketReplicationConfigurationRuleFilterPtrOutput() BucketReplicationConfigurationRuleFilterPtrOutput

func (BucketReplicationConfigurationRuleFilterPtrOutput) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext

func (o BucketReplicationConfigurationRuleFilterPtrOutput) ToBucketReplicationConfigurationRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleFilterPtrOutput

type BucketReplicationConfigurationRuleInput

type BucketReplicationConfigurationRuleInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleOutput() BucketReplicationConfigurationRuleOutput
	ToBucketReplicationConfigurationRuleOutputWithContext(context.Context) BucketReplicationConfigurationRuleOutput
}

BucketReplicationConfigurationRuleInput is an input type that accepts BucketReplicationConfigurationRuleArgs and BucketReplicationConfigurationRuleOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleInput` via:

BucketReplicationConfigurationRuleArgs{...}

type BucketReplicationConfigurationRuleOutput

type BucketReplicationConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleOutput) DeleteMarkerReplicationStatus

func (o BucketReplicationConfigurationRuleOutput) DeleteMarkerReplicationStatus() pulumi.StringPtrOutput

Whether delete markers are replicated. The only valid value is `Enabled`. To disable, omit this argument. This argument is only valid with V2 replication configurations (i.e., when `filter` is used).

func (BucketReplicationConfigurationRuleOutput) Destination

Specifies the destination for the rule (documented below).

func (BucketReplicationConfigurationRuleOutput) ElementType

func (BucketReplicationConfigurationRuleOutput) Filter

Filter that identifies subset of objects to which the replication rule applies (documented below).

func (BucketReplicationConfigurationRuleOutput) Id

Unique identifier for the rule. Must be less than or equal to 255 characters in length.

func (BucketReplicationConfigurationRuleOutput) Prefix

Object keyname prefix identifying one or more objects to which the rule applies. Must be less than or equal to 1024 characters in length.

func (BucketReplicationConfigurationRuleOutput) Priority

Priority associated with the rule. Priority should only be set if `filter` is configured. If not provided, defaults to `0`. Priority must be unique between multiple rules.

func (BucketReplicationConfigurationRuleOutput) SourceSelectionCriteria

Specifies special object selection criteria (documented below).

func (BucketReplicationConfigurationRuleOutput) Status

Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.

func (BucketReplicationConfigurationRuleOutput) ToBucketReplicationConfigurationRuleOutput

func (o BucketReplicationConfigurationRuleOutput) ToBucketReplicationConfigurationRuleOutput() BucketReplicationConfigurationRuleOutput

func (BucketReplicationConfigurationRuleOutput) ToBucketReplicationConfigurationRuleOutputWithContext

func (o BucketReplicationConfigurationRuleOutput) ToBucketReplicationConfigurationRuleOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteria

type BucketReplicationConfigurationRuleSourceSelectionCriteria struct {
	// Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId`
	// in `destination` must be specified as well.
	SseKmsEncryptedObjects *BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjects `pulumi:"sseKmsEncryptedObjects"`
}

type BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs

type BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs struct {
	// Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId`
	// in `destination` must be specified as well.
	SseKmsEncryptedObjects BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput `pulumi:"sseKmsEncryptedObjects"`
}

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext

func (i BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext

func (i BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaInput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutput() BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput
	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput
}

BucketReplicationConfigurationRuleSourceSelectionCriteriaInput is an input type that accepts BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs and BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleSourceSelectionCriteriaInput` via:

BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs{...}

type BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) SseKmsEncryptedObjects

Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId` in `destination` must be specified as well.

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext

func (o BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext

func (o BucketReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrInput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput() BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput
	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput
}

BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrInput is an input type that accepts BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs, BucketReplicationConfigurationRuleSourceSelectionCriteriaPtr and BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrInput` via:

        BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) Elem

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) SseKmsEncryptedObjects

Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId` in `destination` must be specified as well.

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext

func (o BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjects

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjects struct {
	// Boolean which indicates if this criteria is enabled.
	Enabled bool `pulumi:"enabled"`
}

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs struct {
	// Boolean which indicates if this criteria is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput() BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput
	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext(context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput
}

BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput is an input type that accepts BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs and BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput` via:

BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{...}

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) Enabled

Boolean which indicates if this criteria is enabled.

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput interface {
	pulumi.Input

	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput() BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput
	ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext(context.Context) BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput
}

BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput is an input type that accepts BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs, BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtr and BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput values. You can construct a concrete instance of `BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput` via:

        BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{...}

or:

        nil

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

type BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ElementType

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) Enabled

Boolean which indicates if this criteria is enabled.

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

func (BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext

type BucketRequestPaymentConfiguration

type BucketRequestPaymentConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.
	Payer pulumi.StringOutput `pulumi:"payer"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
}

Provides an S3 bucket request payment configuration resource. For more information, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html).

> **NOTE:** Destroying an `s3.BucketRequestPaymentConfiguration` resource resets the bucket's `payer` to the S3 default: the bucket owner.

> This resource cannot be used with S3 directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketRequestPaymentConfiguration(ctx, "example", &s3.BucketRequestPaymentConfigurationArgs{
			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
			Payer:  pulumi.String("Requester"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket request payment configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketRequestPaymentConfiguration:BucketRequestPaymentConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketRequestPaymentConfiguration:BucketRequestPaymentConfiguration example bucket-name,123456789012 ```

func GetBucketRequestPaymentConfiguration

func GetBucketRequestPaymentConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketRequestPaymentConfigurationState, opts ...pulumi.ResourceOption) (*BucketRequestPaymentConfiguration, error)

GetBucketRequestPaymentConfiguration gets an existing BucketRequestPaymentConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketRequestPaymentConfiguration

func NewBucketRequestPaymentConfiguration(ctx *pulumi.Context,
	name string, args *BucketRequestPaymentConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketRequestPaymentConfiguration, error)

NewBucketRequestPaymentConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketRequestPaymentConfiguration) ElementType

func (*BucketRequestPaymentConfiguration) ToBucketRequestPaymentConfigurationOutput

func (i *BucketRequestPaymentConfiguration) ToBucketRequestPaymentConfigurationOutput() BucketRequestPaymentConfigurationOutput

func (*BucketRequestPaymentConfiguration) ToBucketRequestPaymentConfigurationOutputWithContext

func (i *BucketRequestPaymentConfiguration) ToBucketRequestPaymentConfigurationOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationOutput

type BucketRequestPaymentConfigurationArgs

type BucketRequestPaymentConfigurationArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.
	Payer pulumi.StringInput
	// 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.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketRequestPaymentConfiguration resource.

func (BucketRequestPaymentConfigurationArgs) ElementType

type BucketRequestPaymentConfigurationArray

type BucketRequestPaymentConfigurationArray []BucketRequestPaymentConfigurationInput

func (BucketRequestPaymentConfigurationArray) ElementType

func (BucketRequestPaymentConfigurationArray) ToBucketRequestPaymentConfigurationArrayOutput

func (i BucketRequestPaymentConfigurationArray) ToBucketRequestPaymentConfigurationArrayOutput() BucketRequestPaymentConfigurationArrayOutput

func (BucketRequestPaymentConfigurationArray) ToBucketRequestPaymentConfigurationArrayOutputWithContext

func (i BucketRequestPaymentConfigurationArray) ToBucketRequestPaymentConfigurationArrayOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationArrayOutput

type BucketRequestPaymentConfigurationArrayInput

type BucketRequestPaymentConfigurationArrayInput interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationArrayOutput() BucketRequestPaymentConfigurationArrayOutput
	ToBucketRequestPaymentConfigurationArrayOutputWithContext(context.Context) BucketRequestPaymentConfigurationArrayOutput
}

BucketRequestPaymentConfigurationArrayInput is an input type that accepts BucketRequestPaymentConfigurationArray and BucketRequestPaymentConfigurationArrayOutput values. You can construct a concrete instance of `BucketRequestPaymentConfigurationArrayInput` via:

BucketRequestPaymentConfigurationArray{ BucketRequestPaymentConfigurationArgs{...} }

type BucketRequestPaymentConfigurationArrayOutput

type BucketRequestPaymentConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationArrayOutput) ElementType

func (BucketRequestPaymentConfigurationArrayOutput) Index

func (BucketRequestPaymentConfigurationArrayOutput) ToBucketRequestPaymentConfigurationArrayOutput

func (o BucketRequestPaymentConfigurationArrayOutput) ToBucketRequestPaymentConfigurationArrayOutput() BucketRequestPaymentConfigurationArrayOutput

func (BucketRequestPaymentConfigurationArrayOutput) ToBucketRequestPaymentConfigurationArrayOutputWithContext

func (o BucketRequestPaymentConfigurationArrayOutput) ToBucketRequestPaymentConfigurationArrayOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationArrayOutput

type BucketRequestPaymentConfigurationInput

type BucketRequestPaymentConfigurationInput interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationOutput() BucketRequestPaymentConfigurationOutput
	ToBucketRequestPaymentConfigurationOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationOutput
}

type BucketRequestPaymentConfigurationMap

type BucketRequestPaymentConfigurationMap map[string]BucketRequestPaymentConfigurationInput

func (BucketRequestPaymentConfigurationMap) ElementType

func (BucketRequestPaymentConfigurationMap) ToBucketRequestPaymentConfigurationMapOutput

func (i BucketRequestPaymentConfigurationMap) ToBucketRequestPaymentConfigurationMapOutput() BucketRequestPaymentConfigurationMapOutput

func (BucketRequestPaymentConfigurationMap) ToBucketRequestPaymentConfigurationMapOutputWithContext

func (i BucketRequestPaymentConfigurationMap) ToBucketRequestPaymentConfigurationMapOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationMapOutput

type BucketRequestPaymentConfigurationMapInput

type BucketRequestPaymentConfigurationMapInput interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationMapOutput() BucketRequestPaymentConfigurationMapOutput
	ToBucketRequestPaymentConfigurationMapOutputWithContext(context.Context) BucketRequestPaymentConfigurationMapOutput
}

BucketRequestPaymentConfigurationMapInput is an input type that accepts BucketRequestPaymentConfigurationMap and BucketRequestPaymentConfigurationMapOutput values. You can construct a concrete instance of `BucketRequestPaymentConfigurationMapInput` via:

BucketRequestPaymentConfigurationMap{ "key": BucketRequestPaymentConfigurationArgs{...} }

type BucketRequestPaymentConfigurationMapOutput

type BucketRequestPaymentConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationMapOutput) ElementType

func (BucketRequestPaymentConfigurationMapOutput) MapIndex

func (BucketRequestPaymentConfigurationMapOutput) ToBucketRequestPaymentConfigurationMapOutput

func (o BucketRequestPaymentConfigurationMapOutput) ToBucketRequestPaymentConfigurationMapOutput() BucketRequestPaymentConfigurationMapOutput

func (BucketRequestPaymentConfigurationMapOutput) ToBucketRequestPaymentConfigurationMapOutputWithContext

func (o BucketRequestPaymentConfigurationMapOutput) ToBucketRequestPaymentConfigurationMapOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationMapOutput

type BucketRequestPaymentConfigurationOutput

type BucketRequestPaymentConfigurationOutput struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationOutput) Bucket

Name of the bucket.

func (BucketRequestPaymentConfigurationOutput) ElementType

func (BucketRequestPaymentConfigurationOutput) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketRequestPaymentConfigurationOutput) Payer

Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.

func (BucketRequestPaymentConfigurationOutput) Region

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.

func (BucketRequestPaymentConfigurationOutput) ToBucketRequestPaymentConfigurationOutput

func (o BucketRequestPaymentConfigurationOutput) ToBucketRequestPaymentConfigurationOutput() BucketRequestPaymentConfigurationOutput

func (BucketRequestPaymentConfigurationOutput) ToBucketRequestPaymentConfigurationOutputWithContext

func (o BucketRequestPaymentConfigurationOutput) ToBucketRequestPaymentConfigurationOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationOutput

type BucketRequestPaymentConfigurationState

type BucketRequestPaymentConfigurationState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.
	Payer pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
}

func (BucketRequestPaymentConfigurationState) ElementType

type BucketServerSideEncryptionConfiguration

type BucketServerSideEncryptionConfiguration struct {
	pulumi.CustomResourceState

	// ID (name) of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationRuleArrayOutput `pulumi:"rules"`
}

Provides a S3 bucket server-side encryption configuration resource.

> **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfiguration` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mykey, err := kms.NewKey(ctx, "mykey", &kms.KeyArgs{
			Description:          pulumi.String("This key is used to encrypt bucket objects"),
			DeletionWindowInDays: pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		mybucket, err := s3.NewBucket(ctx, "mybucket", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketServerSideEncryptionConfiguration(ctx, "example", &s3.BucketServerSideEncryptionConfigurationArgs{
			Bucket: mybucket.ID(),
			Rules: s3.BucketServerSideEncryptionConfigurationRuleArray{
				&s3.BucketServerSideEncryptionConfigurationRuleArgs{
					ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{
						KmsMasterKeyId: mykey.Arn,
						SseAlgorithm:   pulumi.String("aws:kms"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket server-side encryption configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketServerSideEncryptionConfiguration:BucketServerSideEncryptionConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketServerSideEncryptionConfiguration:BucketServerSideEncryptionConfiguration example bucket-name,123456789012 ```

func GetBucketServerSideEncryptionConfiguration

func GetBucketServerSideEncryptionConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketServerSideEncryptionConfigurationState, opts ...pulumi.ResourceOption) (*BucketServerSideEncryptionConfiguration, error)

GetBucketServerSideEncryptionConfiguration gets an existing BucketServerSideEncryptionConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketServerSideEncryptionConfiguration

func NewBucketServerSideEncryptionConfiguration(ctx *pulumi.Context,
	name string, args *BucketServerSideEncryptionConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketServerSideEncryptionConfiguration, error)

NewBucketServerSideEncryptionConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketServerSideEncryptionConfiguration) ElementType

func (*BucketServerSideEncryptionConfiguration) ToBucketServerSideEncryptionConfigurationOutput

func (i *BucketServerSideEncryptionConfiguration) ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput

func (*BucketServerSideEncryptionConfiguration) ToBucketServerSideEncryptionConfigurationOutputWithContext

func (i *BucketServerSideEncryptionConfiguration) ToBucketServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationOutput

type BucketServerSideEncryptionConfigurationArgs

type BucketServerSideEncryptionConfigurationArgs struct {
	// ID (name) of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationRuleArrayInput
}

The set of arguments for constructing a BucketServerSideEncryptionConfiguration resource.

func (BucketServerSideEncryptionConfigurationArgs) ElementType

type BucketServerSideEncryptionConfigurationArray

type BucketServerSideEncryptionConfigurationArray []BucketServerSideEncryptionConfigurationInput

func (BucketServerSideEncryptionConfigurationArray) ElementType

func (BucketServerSideEncryptionConfigurationArray) ToBucketServerSideEncryptionConfigurationArrayOutput

func (i BucketServerSideEncryptionConfigurationArray) ToBucketServerSideEncryptionConfigurationArrayOutput() BucketServerSideEncryptionConfigurationArrayOutput

func (BucketServerSideEncryptionConfigurationArray) ToBucketServerSideEncryptionConfigurationArrayOutputWithContext

func (i BucketServerSideEncryptionConfigurationArray) ToBucketServerSideEncryptionConfigurationArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationArrayOutput

type BucketServerSideEncryptionConfigurationArrayInput

type BucketServerSideEncryptionConfigurationArrayInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationArrayOutput() BucketServerSideEncryptionConfigurationArrayOutput
	ToBucketServerSideEncryptionConfigurationArrayOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationArrayOutput
}

BucketServerSideEncryptionConfigurationArrayInput is an input type that accepts BucketServerSideEncryptionConfigurationArray and BucketServerSideEncryptionConfigurationArrayOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationArrayInput` via:

BucketServerSideEncryptionConfigurationArray{ BucketServerSideEncryptionConfigurationArgs{...} }

type BucketServerSideEncryptionConfigurationArrayOutput

type BucketServerSideEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationArrayOutput) ElementType

func (BucketServerSideEncryptionConfigurationArrayOutput) Index

func (BucketServerSideEncryptionConfigurationArrayOutput) ToBucketServerSideEncryptionConfigurationArrayOutput

func (o BucketServerSideEncryptionConfigurationArrayOutput) ToBucketServerSideEncryptionConfigurationArrayOutput() BucketServerSideEncryptionConfigurationArrayOutput

func (BucketServerSideEncryptionConfigurationArrayOutput) ToBucketServerSideEncryptionConfigurationArrayOutputWithContext

func (o BucketServerSideEncryptionConfigurationArrayOutput) ToBucketServerSideEncryptionConfigurationArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationArrayOutput

type BucketServerSideEncryptionConfigurationInput

type BucketServerSideEncryptionConfigurationInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput
	ToBucketServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationOutput
}

type BucketServerSideEncryptionConfigurationMap

type BucketServerSideEncryptionConfigurationMap map[string]BucketServerSideEncryptionConfigurationInput

func (BucketServerSideEncryptionConfigurationMap) ElementType

func (BucketServerSideEncryptionConfigurationMap) ToBucketServerSideEncryptionConfigurationMapOutput

func (i BucketServerSideEncryptionConfigurationMap) ToBucketServerSideEncryptionConfigurationMapOutput() BucketServerSideEncryptionConfigurationMapOutput

func (BucketServerSideEncryptionConfigurationMap) ToBucketServerSideEncryptionConfigurationMapOutputWithContext

func (i BucketServerSideEncryptionConfigurationMap) ToBucketServerSideEncryptionConfigurationMapOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationMapOutput

type BucketServerSideEncryptionConfigurationMapInput

type BucketServerSideEncryptionConfigurationMapInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationMapOutput() BucketServerSideEncryptionConfigurationMapOutput
	ToBucketServerSideEncryptionConfigurationMapOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationMapOutput
}

BucketServerSideEncryptionConfigurationMapInput is an input type that accepts BucketServerSideEncryptionConfigurationMap and BucketServerSideEncryptionConfigurationMapOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationMapInput` via:

BucketServerSideEncryptionConfigurationMap{ "key": BucketServerSideEncryptionConfigurationArgs{...} }

type BucketServerSideEncryptionConfigurationMapOutput

type BucketServerSideEncryptionConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationMapOutput) ElementType

func (BucketServerSideEncryptionConfigurationMapOutput) MapIndex

func (BucketServerSideEncryptionConfigurationMapOutput) ToBucketServerSideEncryptionConfigurationMapOutput

func (o BucketServerSideEncryptionConfigurationMapOutput) ToBucketServerSideEncryptionConfigurationMapOutput() BucketServerSideEncryptionConfigurationMapOutput

func (BucketServerSideEncryptionConfigurationMapOutput) ToBucketServerSideEncryptionConfigurationMapOutputWithContext

func (o BucketServerSideEncryptionConfigurationMapOutput) ToBucketServerSideEncryptionConfigurationMapOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationMapOutput

type BucketServerSideEncryptionConfigurationOutput

type BucketServerSideEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationOutput) Bucket

ID (name) of the bucket.

func (BucketServerSideEncryptionConfigurationOutput) ElementType

func (BucketServerSideEncryptionConfigurationOutput) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketServerSideEncryptionConfigurationOutput) Region

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.

func (BucketServerSideEncryptionConfigurationOutput) Rules

Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutput

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutputWithContext

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationOutput

type BucketServerSideEncryptionConfigurationRule

type BucketServerSideEncryptionConfigurationRule struct {
	// Single object for setting server-side encryption by default. See below.
	ApplyServerSideEncryptionByDefault *BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault `pulumi:"applyServerSideEncryptionByDefault"`
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled *bool `pulumi:"bucketKeyEnabled"`
}

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault struct {
	// AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.
	KmsMasterKeyId *string `pulumi:"kmsMasterKeyId"`
	// Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`
	SseAlgorithm string `pulumi:"sseAlgorithm"`
}

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs struct {
	// AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.
	KmsMasterKeyId pulumi.StringPtrInput `pulumi:"kmsMasterKeyId"`
	// Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`
	SseAlgorithm pulumi.StringInput `pulumi:"sseAlgorithm"`
}

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ElementType

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput() BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput
	ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput
}

BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput is an input type that accepts BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs and BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput` via:

BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{...}

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ElementType

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) KmsMasterKeyId

AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) SseAlgorithm

Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput() BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput
	ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput
}

BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput is an input type that accepts BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs, BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtr and BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput` via:

        BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{...}

or:

        nil

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) ElementType

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) KmsMasterKeyId

AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of `sseAlgorithm` as `aws:kms`. The default `aws/s3` AWS KMS master key is used if this element is absent while the `sseAlgorithm` is `aws:kms`.

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) SseAlgorithm

Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationRuleArgs

type BucketServerSideEncryptionConfigurationRuleArgs struct {
	// Single object for setting server-side encryption by default. See below.
	ApplyServerSideEncryptionByDefault BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput `pulumi:"applyServerSideEncryptionByDefault"`
	// Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled pulumi.BoolPtrInput `pulumi:"bucketKeyEnabled"`
}

func (BucketServerSideEncryptionConfigurationRuleArgs) ElementType

func (BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRuleOutput

func (i BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRuleOutput() BucketServerSideEncryptionConfigurationRuleOutput

func (BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRuleOutputWithContext

func (i BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRuleOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRuleOutput

func (BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRulePtrOutput

func (i BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRulePtrOutput() BucketServerSideEncryptionConfigurationRulePtrOutput

func (BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext

func (i BucketServerSideEncryptionConfigurationRuleArgs) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRulePtrOutput

type BucketServerSideEncryptionConfigurationRuleArray

type BucketServerSideEncryptionConfigurationRuleArray []BucketServerSideEncryptionConfigurationRuleInput

func (BucketServerSideEncryptionConfigurationRuleArray) ElementType

func (BucketServerSideEncryptionConfigurationRuleArray) ToBucketServerSideEncryptionConfigurationRuleArrayOutput

func (i BucketServerSideEncryptionConfigurationRuleArray) ToBucketServerSideEncryptionConfigurationRuleArrayOutput() BucketServerSideEncryptionConfigurationRuleArrayOutput

func (BucketServerSideEncryptionConfigurationRuleArray) ToBucketServerSideEncryptionConfigurationRuleArrayOutputWithContext

func (i BucketServerSideEncryptionConfigurationRuleArray) ToBucketServerSideEncryptionConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRuleArrayOutput

type BucketServerSideEncryptionConfigurationRuleArrayInput

type BucketServerSideEncryptionConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationRuleArrayOutput() BucketServerSideEncryptionConfigurationRuleArrayOutput
	ToBucketServerSideEncryptionConfigurationRuleArrayOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationRuleArrayOutput
}

BucketServerSideEncryptionConfigurationRuleArrayInput is an input type that accepts BucketServerSideEncryptionConfigurationRuleArray and BucketServerSideEncryptionConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationRuleArrayInput` via:

BucketServerSideEncryptionConfigurationRuleArray{ BucketServerSideEncryptionConfigurationRuleArgs{...} }

type BucketServerSideEncryptionConfigurationRuleArrayOutput

type BucketServerSideEncryptionConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationRuleArrayOutput) ElementType

func (BucketServerSideEncryptionConfigurationRuleArrayOutput) Index

func (BucketServerSideEncryptionConfigurationRuleArrayOutput) ToBucketServerSideEncryptionConfigurationRuleArrayOutput

func (BucketServerSideEncryptionConfigurationRuleArrayOutput) ToBucketServerSideEncryptionConfigurationRuleArrayOutputWithContext

func (o BucketServerSideEncryptionConfigurationRuleArrayOutput) ToBucketServerSideEncryptionConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRuleArrayOutput

type BucketServerSideEncryptionConfigurationRuleInput

type BucketServerSideEncryptionConfigurationRuleInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationRuleOutput() BucketServerSideEncryptionConfigurationRuleOutput
	ToBucketServerSideEncryptionConfigurationRuleOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationRuleOutput
}

BucketServerSideEncryptionConfigurationRuleInput is an input type that accepts BucketServerSideEncryptionConfigurationRuleArgs and BucketServerSideEncryptionConfigurationRuleOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationRuleInput` via:

BucketServerSideEncryptionConfigurationRuleArgs{...}

type BucketServerSideEncryptionConfigurationRuleOutput

type BucketServerSideEncryptionConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationRuleOutput) ApplyServerSideEncryptionByDefault

Single object for setting server-side encryption by default. See below.

func (BucketServerSideEncryptionConfigurationRuleOutput) BucketKeyEnabled

Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (BucketServerSideEncryptionConfigurationRuleOutput) ElementType

func (BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRuleOutput

func (o BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRuleOutput() BucketServerSideEncryptionConfigurationRuleOutput

func (BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRuleOutputWithContext

func (o BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRuleOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRuleOutput

func (BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutput

func (o BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutput() BucketServerSideEncryptionConfigurationRulePtrOutput

func (BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationRuleOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRulePtrOutput

type BucketServerSideEncryptionConfigurationRulePtrInput

type BucketServerSideEncryptionConfigurationRulePtrInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationRulePtrOutput() BucketServerSideEncryptionConfigurationRulePtrOutput
	ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationRulePtrOutput
}

BucketServerSideEncryptionConfigurationRulePtrInput is an input type that accepts BucketServerSideEncryptionConfigurationRuleArgs, BucketServerSideEncryptionConfigurationRulePtr and BucketServerSideEncryptionConfigurationRulePtrOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationRulePtrInput` via:

        BucketServerSideEncryptionConfigurationRuleArgs{...}

or:

        nil

type BucketServerSideEncryptionConfigurationRulePtrOutput

type BucketServerSideEncryptionConfigurationRulePtrOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationRulePtrOutput) ApplyServerSideEncryptionByDefault

Single object for setting server-side encryption by default. See below.

func (BucketServerSideEncryptionConfigurationRulePtrOutput) BucketKeyEnabled

Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (BucketServerSideEncryptionConfigurationRulePtrOutput) Elem

func (BucketServerSideEncryptionConfigurationRulePtrOutput) ElementType

func (BucketServerSideEncryptionConfigurationRulePtrOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutput

func (BucketServerSideEncryptionConfigurationRulePtrOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationRulePtrOutput) ToBucketServerSideEncryptionConfigurationRulePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationRulePtrOutput

type BucketServerSideEncryptionConfigurationState

type BucketServerSideEncryptionConfigurationState struct {
	// ID (name) of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationRuleArrayInput
}

func (BucketServerSideEncryptionConfigurationState) ElementType

type BucketServerSideEncryptionConfigurationType

type BucketServerSideEncryptionConfigurationType struct {
	// Single object for server-side encryption by default configuration. (documented below)
	Rule BucketServerSideEncryptionConfigurationRule `pulumi:"rule"`
}

type BucketServerSideEncryptionConfigurationTypeArgs

type BucketServerSideEncryptionConfigurationTypeArgs struct {
	// Single object for server-side encryption by default configuration. (documented below)
	Rule BucketServerSideEncryptionConfigurationRuleInput `pulumi:"rule"`
}

func (BucketServerSideEncryptionConfigurationTypeArgs) ElementType

func (BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypeOutput

func (i BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypeOutput() BucketServerSideEncryptionConfigurationTypeOutput

func (BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypeOutputWithContext

func (i BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypeOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationTypeOutput

func (BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypePtrOutput

func (i BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypePtrOutput() BucketServerSideEncryptionConfigurationTypePtrOutput

func (BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext

func (i BucketServerSideEncryptionConfigurationTypeArgs) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationTypePtrOutput

type BucketServerSideEncryptionConfigurationTypeInput

type BucketServerSideEncryptionConfigurationTypeInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationTypeOutput() BucketServerSideEncryptionConfigurationTypeOutput
	ToBucketServerSideEncryptionConfigurationTypeOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationTypeOutput
}

BucketServerSideEncryptionConfigurationTypeInput is an input type that accepts BucketServerSideEncryptionConfigurationTypeArgs and BucketServerSideEncryptionConfigurationTypeOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationTypeInput` via:

BucketServerSideEncryptionConfigurationTypeArgs{...}

type BucketServerSideEncryptionConfigurationTypeOutput

type BucketServerSideEncryptionConfigurationTypeOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationTypeOutput) ElementType

func (BucketServerSideEncryptionConfigurationTypeOutput) Rule

Single object for server-side encryption by default configuration. (documented below)

func (BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypeOutput

func (o BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypeOutput() BucketServerSideEncryptionConfigurationTypeOutput

func (BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypeOutputWithContext

func (o BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypeOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationTypeOutput

func (BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutput

func (o BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutput() BucketServerSideEncryptionConfigurationTypePtrOutput

func (BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationTypeOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationTypePtrOutput

type BucketServerSideEncryptionConfigurationTypePtrInput

type BucketServerSideEncryptionConfigurationTypePtrInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationTypePtrOutput() BucketServerSideEncryptionConfigurationTypePtrOutput
	ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationTypePtrOutput
}

BucketServerSideEncryptionConfigurationTypePtrInput is an input type that accepts BucketServerSideEncryptionConfigurationTypeArgs, BucketServerSideEncryptionConfigurationTypePtr and BucketServerSideEncryptionConfigurationTypePtrOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationTypePtrInput` via:

        BucketServerSideEncryptionConfigurationTypeArgs{...}

or:

        nil

type BucketServerSideEncryptionConfigurationTypePtrOutput

type BucketServerSideEncryptionConfigurationTypePtrOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationTypePtrOutput) Elem

func (BucketServerSideEncryptionConfigurationTypePtrOutput) ElementType

func (BucketServerSideEncryptionConfigurationTypePtrOutput) Rule

Single object for server-side encryption by default configuration. (documented below)

func (BucketServerSideEncryptionConfigurationTypePtrOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutput

func (BucketServerSideEncryptionConfigurationTypePtrOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationTypePtrOutput) ToBucketServerSideEncryptionConfigurationTypePtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationTypePtrOutput

type BucketState

type BucketState struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketAccelerateConfiguration` instead.
	//
	// Deprecated: acceleration_status is deprecated. Use the s3.BucketAccelerateConfiguration resource instead.
	AccelerationStatus pulumi.StringPtrInput
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: acl is deprecated. Use the s3.BucketAcl resource instead.
	Acl pulumi.StringPtrInput
	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn pulumi.StringPtrInput
	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
	Bucket pulumi.StringPtrInput
	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
	BucketDomainName pulumi.StringPtrInput
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
	BucketPrefix pulumi.StringPtrInput
	// AWS region this bucket resides in.
	BucketRegion pulumi.StringPtrInput
	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
	BucketRegionalDomainName pulumi.StringPtrInput
	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfiguration` instead.
	//
	// Deprecated: cors_rule is deprecated. Use the s3.BucketCorsConfiguration resource instead.
	CorsRules BucketCorsRuleArrayInput
	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolPtrInput
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAcl` instead.
	//
	// Deprecated: grant is deprecated. Use the s3.BucketAcl resource instead.
	Grants BucketGrantArrayInput
	// [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
	HostedZoneId pulumi.StringPtrInput
	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLifecycleConfiguration` instead.
	//
	// Deprecated: lifecycle_rule is deprecated. Use the s3.BucketLifecycleConfiguration resource instead.
	LifecycleRules BucketLifecycleRuleArrayInput
	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketLogging` instead.
	//
	// Deprecated: logging is deprecated. Use the s3.BucketLogging resource instead.
	Logging BucketLoggingTypePtrInput
	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
	// The provider wil only perform drift detection if a configuration value is provided.
	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfiguration` instead.
	//
	// Deprecated: object_lock_configuration is deprecated. Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfiguration resource instead.
	ObjectLockConfiguration BucketObjectLockConfigurationTypePtrInput
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
	ObjectLockEnabled pulumi.BoolPtrInput
	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketPolicy` instead.
	//
	// Deprecated: policy is deprecated. Use the s3.BucketPolicy resource instead.
	Policy pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketReplicationConfig` instead.
	//
	// Deprecated: replication_configuration is deprecated. Use the s3.BucketReplicationConfig resource instead.
	ReplicationConfiguration BucketReplicationConfigurationPtrInput
	// Specifies who should bear the cost of Amazon S3 data transfer.
	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketRequestPaymentConfiguration` instead.
	//
	// Deprecated: request_payer is deprecated. Use the s3.BucketRequestPaymentConfiguration resource instead.
	RequestPayer pulumi.StringPtrInput
	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
	// The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketServerSideEncryptionConfiguration` instead.
	//
	// Deprecated: server_side_encryption_configuration is deprecated. Use the s3.BucketServerSideEncryptionConfiguration resource instead.
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationTypePtrInput
	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// The following arguments are deprecated, and will be removed in a future major version:
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioning` instead.
	//
	// Deprecated: versioning is deprecated. Use the s3.BucketVersioning resource instead.
	Versioning BucketVersioningTypePtrInput
	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
	// Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	Website BucketWebsitePtrInput
	// (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website_domain is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	WebsiteDomain pulumi.StringPtrInput
	// (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfiguration` instead.
	//
	// Deprecated: website_endpoint is deprecated. Use the s3.BucketWebsiteConfiguration resource instead.
	WebsiteEndpoint pulumi.StringPtrInput
}

func (BucketState) ElementType

func (BucketState) ElementType() reflect.Type

type BucketVersioning

type BucketVersioning struct {
	pulumi.CustomResourceState

	// Name of the S3 bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
	Mfa pulumi.StringPtrOutput `pulumi:"mfa"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningVersioningConfigurationOutput `pulumi:"versioningConfiguration"`
}

Provides a resource for controlling versioning on an S3 bucket. Deleting this resource will either suspend versioning on the associated S3 bucket or simply remove the resource from state if the associated S3 bucket is unversioned.

For more information, see [How S3 versioning works](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html).

> **NOTE:** If you are enabling versioning on the bucket for the first time, AWS recommends that you wait for 15 minutes after enabling versioning before issuing write operations (PUT or DELETE) on objects in the bucket.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### With Versioning Enabled

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioning(ctx, "versioning_example", &s3.BucketVersioningArgs{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With Versioning Disabled

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAcl(ctx, "example", &s3.BucketAclArgs{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioning(ctx, "versioning_example", &s3.BucketVersioningArgs{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Disabled"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Object Dependency On Versioning

When you create an object whose `versionId` you need and an `s3.BucketVersioning` resource in the same configuration, you are more likely to have success by ensuring the `s3Object` depends either implicitly (see below) or explicitly (i.e., using `dependsOn = [aws_s3_bucket_versioning.example]`) on the `s3.BucketVersioning` resource.

> **NOTE:** For critical and/or production S3 objects, do not create a bucket, enable versioning, and create an object in the bucket within the same configuration. Doing so will not allow the AWS-recommended 15 minutes between enabling versioning and writing to the bucket.

This example shows the `aws_s3_object.example` depending implicitly on the versioning resource through the reference to `aws_s3_bucket_versioning.example.bucket` to define `bucket`:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket: pulumi.String("yotto"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioning, err := s3.NewBucketVersioning(ctx, "example", &s3.BucketVersioningArgs{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningVersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
			Bucket: exampleBucketVersioning.ID(),
			Key:    pulumi.String("droeloe"),
			Source: pulumi.NewFileAsset("example.txt"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket versioning using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketVersioning:BucketVersioning example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketVersioning:BucketVersioning example bucket-name,123456789012 ```

func GetBucketVersioning

func GetBucketVersioning(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketVersioningState, opts ...pulumi.ResourceOption) (*BucketVersioning, error)

GetBucketVersioning gets an existing BucketVersioning resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketVersioning

func NewBucketVersioning(ctx *pulumi.Context,
	name string, args *BucketVersioningArgs, opts ...pulumi.ResourceOption) (*BucketVersioning, error)

NewBucketVersioning registers a new resource with the given unique name, arguments, and options.

func (*BucketVersioning) ElementType

func (*BucketVersioning) ElementType() reflect.Type

func (*BucketVersioning) ToBucketVersioningOutput

func (i *BucketVersioning) ToBucketVersioningOutput() BucketVersioningOutput

func (*BucketVersioning) ToBucketVersioningOutputWithContext

func (i *BucketVersioning) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

type BucketVersioningArgs

type BucketVersioningArgs struct {
	// Name of the S3 bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
	Mfa pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningVersioningConfigurationInput
}

The set of arguments for constructing a BucketVersioning resource.

func (BucketVersioningArgs) ElementType

func (BucketVersioningArgs) ElementType() reflect.Type

type BucketVersioningArray

type BucketVersioningArray []BucketVersioningInput

func (BucketVersioningArray) ElementType

func (BucketVersioningArray) ElementType() reflect.Type

func (BucketVersioningArray) ToBucketVersioningArrayOutput

func (i BucketVersioningArray) ToBucketVersioningArrayOutput() BucketVersioningArrayOutput

func (BucketVersioningArray) ToBucketVersioningArrayOutputWithContext

func (i BucketVersioningArray) ToBucketVersioningArrayOutputWithContext(ctx context.Context) BucketVersioningArrayOutput

type BucketVersioningArrayInput

type BucketVersioningArrayInput interface {
	pulumi.Input

	ToBucketVersioningArrayOutput() BucketVersioningArrayOutput
	ToBucketVersioningArrayOutputWithContext(context.Context) BucketVersioningArrayOutput
}

BucketVersioningArrayInput is an input type that accepts BucketVersioningArray and BucketVersioningArrayOutput values. You can construct a concrete instance of `BucketVersioningArrayInput` via:

BucketVersioningArray{ BucketVersioningArgs{...} }

type BucketVersioningArrayOutput

type BucketVersioningArrayOutput struct{ *pulumi.OutputState }

func (BucketVersioningArrayOutput) ElementType

func (BucketVersioningArrayOutput) Index

func (BucketVersioningArrayOutput) ToBucketVersioningArrayOutput

func (o BucketVersioningArrayOutput) ToBucketVersioningArrayOutput() BucketVersioningArrayOutput

func (BucketVersioningArrayOutput) ToBucketVersioningArrayOutputWithContext

func (o BucketVersioningArrayOutput) ToBucketVersioningArrayOutputWithContext(ctx context.Context) BucketVersioningArrayOutput

type BucketVersioningInput

type BucketVersioningInput interface {
	pulumi.Input

	ToBucketVersioningOutput() BucketVersioningOutput
	ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput
}

type BucketVersioningMap

type BucketVersioningMap map[string]BucketVersioningInput

func (BucketVersioningMap) ElementType

func (BucketVersioningMap) ElementType() reflect.Type

func (BucketVersioningMap) ToBucketVersioningMapOutput

func (i BucketVersioningMap) ToBucketVersioningMapOutput() BucketVersioningMapOutput

func (BucketVersioningMap) ToBucketVersioningMapOutputWithContext

func (i BucketVersioningMap) ToBucketVersioningMapOutputWithContext(ctx context.Context) BucketVersioningMapOutput

type BucketVersioningMapInput

type BucketVersioningMapInput interface {
	pulumi.Input

	ToBucketVersioningMapOutput() BucketVersioningMapOutput
	ToBucketVersioningMapOutputWithContext(context.Context) BucketVersioningMapOutput
}

BucketVersioningMapInput is an input type that accepts BucketVersioningMap and BucketVersioningMapOutput values. You can construct a concrete instance of `BucketVersioningMapInput` via:

BucketVersioningMap{ "key": BucketVersioningArgs{...} }

type BucketVersioningMapOutput

type BucketVersioningMapOutput struct{ *pulumi.OutputState }

func (BucketVersioningMapOutput) ElementType

func (BucketVersioningMapOutput) ElementType() reflect.Type

func (BucketVersioningMapOutput) MapIndex

func (BucketVersioningMapOutput) ToBucketVersioningMapOutput

func (o BucketVersioningMapOutput) ToBucketVersioningMapOutput() BucketVersioningMapOutput

func (BucketVersioningMapOutput) ToBucketVersioningMapOutputWithContext

func (o BucketVersioningMapOutput) ToBucketVersioningMapOutputWithContext(ctx context.Context) BucketVersioningMapOutput

type BucketVersioningOutput

type BucketVersioningOutput struct{ *pulumi.OutputState }

func (BucketVersioningOutput) Bucket

Name of the S3 bucket.

func (BucketVersioningOutput) ElementType

func (BucketVersioningOutput) ElementType() reflect.Type

func (BucketVersioningOutput) ExpectedBucketOwner

func (o BucketVersioningOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketVersioningOutput) Mfa

Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

func (BucketVersioningOutput) Region

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.

func (BucketVersioningOutput) ToBucketVersioningOutput

func (o BucketVersioningOutput) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningOutput) VersioningConfiguration

Configuration block for the versioning parameters. See below.

type BucketVersioningState

type BucketVersioningState struct {
	// Name of the S3 bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.
	Mfa pulumi.StringPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningVersioningConfigurationPtrInput
}

func (BucketVersioningState) ElementType

func (BucketVersioningState) ElementType() reflect.Type

type BucketVersioningType

type BucketVersioningType struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
	Enabled *bool `pulumi:"enabled"`
	// Enable MFA delete for either `Change the versioning state of your bucket` or `Permanently delete an object version`. Default is `false`. This cannot be used to toggle this setting but is available to allow managed buckets to reflect the state in AWS
	MfaDelete *bool `pulumi:"mfaDelete"`
}

type BucketVersioningTypeArgs

type BucketVersioningTypeArgs struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Enable MFA delete for either `Change the versioning state of your bucket` or `Permanently delete an object version`. Default is `false`. This cannot be used to toggle this setting but is available to allow managed buckets to reflect the state in AWS
	MfaDelete pulumi.BoolPtrInput `pulumi:"mfaDelete"`
}

func (BucketVersioningTypeArgs) ElementType

func (BucketVersioningTypeArgs) ElementType() reflect.Type

func (BucketVersioningTypeArgs) ToBucketVersioningTypeOutput

func (i BucketVersioningTypeArgs) ToBucketVersioningTypeOutput() BucketVersioningTypeOutput

func (BucketVersioningTypeArgs) ToBucketVersioningTypeOutputWithContext

func (i BucketVersioningTypeArgs) ToBucketVersioningTypeOutputWithContext(ctx context.Context) BucketVersioningTypeOutput

func (BucketVersioningTypeArgs) ToBucketVersioningTypePtrOutput

func (i BucketVersioningTypeArgs) ToBucketVersioningTypePtrOutput() BucketVersioningTypePtrOutput

func (BucketVersioningTypeArgs) ToBucketVersioningTypePtrOutputWithContext

func (i BucketVersioningTypeArgs) ToBucketVersioningTypePtrOutputWithContext(ctx context.Context) BucketVersioningTypePtrOutput

type BucketVersioningTypeInput

type BucketVersioningTypeInput interface {
	pulumi.Input

	ToBucketVersioningTypeOutput() BucketVersioningTypeOutput
	ToBucketVersioningTypeOutputWithContext(context.Context) BucketVersioningTypeOutput
}

BucketVersioningTypeInput is an input type that accepts BucketVersioningTypeArgs and BucketVersioningTypeOutput values. You can construct a concrete instance of `BucketVersioningTypeInput` via:

BucketVersioningTypeArgs{...}

type BucketVersioningTypeOutput

type BucketVersioningTypeOutput struct{ *pulumi.OutputState }

func (BucketVersioningTypeOutput) ElementType

func (BucketVersioningTypeOutput) ElementType() reflect.Type

func (BucketVersioningTypeOutput) Enabled

Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.

func (BucketVersioningTypeOutput) MfaDelete

Enable MFA delete for either `Change the versioning state of your bucket` or `Permanently delete an object version`. Default is `false`. This cannot be used to toggle this setting but is available to allow managed buckets to reflect the state in AWS

func (BucketVersioningTypeOutput) ToBucketVersioningTypeOutput

func (o BucketVersioningTypeOutput) ToBucketVersioningTypeOutput() BucketVersioningTypeOutput

func (BucketVersioningTypeOutput) ToBucketVersioningTypeOutputWithContext

func (o BucketVersioningTypeOutput) ToBucketVersioningTypeOutputWithContext(ctx context.Context) BucketVersioningTypeOutput

func (BucketVersioningTypeOutput) ToBucketVersioningTypePtrOutput

func (o BucketVersioningTypeOutput) ToBucketVersioningTypePtrOutput() BucketVersioningTypePtrOutput

func (BucketVersioningTypeOutput) ToBucketVersioningTypePtrOutputWithContext

func (o BucketVersioningTypeOutput) ToBucketVersioningTypePtrOutputWithContext(ctx context.Context) BucketVersioningTypePtrOutput

type BucketVersioningTypePtrInput

type BucketVersioningTypePtrInput interface {
	pulumi.Input

	ToBucketVersioningTypePtrOutput() BucketVersioningTypePtrOutput
	ToBucketVersioningTypePtrOutputWithContext(context.Context) BucketVersioningTypePtrOutput
}

BucketVersioningTypePtrInput is an input type that accepts BucketVersioningTypeArgs, BucketVersioningTypePtr and BucketVersioningTypePtrOutput values. You can construct a concrete instance of `BucketVersioningTypePtrInput` via:

        BucketVersioningTypeArgs{...}

or:

        nil

type BucketVersioningTypePtrOutput

type BucketVersioningTypePtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningTypePtrOutput) Elem

func (BucketVersioningTypePtrOutput) ElementType

func (BucketVersioningTypePtrOutput) Enabled

Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.

func (BucketVersioningTypePtrOutput) MfaDelete

Enable MFA delete for either `Change the versioning state of your bucket` or `Permanently delete an object version`. Default is `false`. This cannot be used to toggle this setting but is available to allow managed buckets to reflect the state in AWS

func (BucketVersioningTypePtrOutput) ToBucketVersioningTypePtrOutput

func (o BucketVersioningTypePtrOutput) ToBucketVersioningTypePtrOutput() BucketVersioningTypePtrOutput

func (BucketVersioningTypePtrOutput) ToBucketVersioningTypePtrOutputWithContext

func (o BucketVersioningTypePtrOutput) ToBucketVersioningTypePtrOutputWithContext(ctx context.Context) BucketVersioningTypePtrOutput

type BucketVersioningVersioningConfiguration

type BucketVersioningVersioningConfiguration struct {
	// Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.
	MfaDelete *string `pulumi:"mfaDelete"`
	// Versioning state of the bucket. Valid values: `Enabled`, `Suspended`, or `Disabled`. `Disabled` should only be used when creating or importing resources that correspond to unversioned S3 buckets.
	Status string `pulumi:"status"`
}

type BucketVersioningVersioningConfigurationArgs

type BucketVersioningVersioningConfigurationArgs struct {
	// Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.
	MfaDelete pulumi.StringPtrInput `pulumi:"mfaDelete"`
	// Versioning state of the bucket. Valid values: `Enabled`, `Suspended`, or `Disabled`. `Disabled` should only be used when creating or importing resources that correspond to unversioned S3 buckets.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketVersioningVersioningConfigurationArgs) ElementType

func (BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationOutput

func (i BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationOutput() BucketVersioningVersioningConfigurationOutput

func (BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationOutputWithContext

func (i BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationOutputWithContext(ctx context.Context) BucketVersioningVersioningConfigurationOutput

func (BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationPtrOutput

func (i BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationPtrOutput() BucketVersioningVersioningConfigurationPtrOutput

func (BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationPtrOutputWithContext

func (i BucketVersioningVersioningConfigurationArgs) ToBucketVersioningVersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningVersioningConfigurationPtrOutput

type BucketVersioningVersioningConfigurationInput

type BucketVersioningVersioningConfigurationInput interface {
	pulumi.Input

	ToBucketVersioningVersioningConfigurationOutput() BucketVersioningVersioningConfigurationOutput
	ToBucketVersioningVersioningConfigurationOutputWithContext(context.Context) BucketVersioningVersioningConfigurationOutput
}

BucketVersioningVersioningConfigurationInput is an input type that accepts BucketVersioningVersioningConfigurationArgs and BucketVersioningVersioningConfigurationOutput values. You can construct a concrete instance of `BucketVersioningVersioningConfigurationInput` via:

BucketVersioningVersioningConfigurationArgs{...}

type BucketVersioningVersioningConfigurationOutput

type BucketVersioningVersioningConfigurationOutput struct{ *pulumi.OutputState }

func (BucketVersioningVersioningConfigurationOutput) ElementType

func (BucketVersioningVersioningConfigurationOutput) MfaDelete

Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.

func (BucketVersioningVersioningConfigurationOutput) Status

Versioning state of the bucket. Valid values: `Enabled`, `Suspended`, or `Disabled`. `Disabled` should only be used when creating or importing resources that correspond to unversioned S3 buckets.

func (BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationOutput

func (o BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationOutput() BucketVersioningVersioningConfigurationOutput

func (BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationOutputWithContext

func (o BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationOutputWithContext(ctx context.Context) BucketVersioningVersioningConfigurationOutput

func (BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationPtrOutput

func (o BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationPtrOutput() BucketVersioningVersioningConfigurationPtrOutput

func (BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationPtrOutputWithContext

func (o BucketVersioningVersioningConfigurationOutput) ToBucketVersioningVersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningVersioningConfigurationPtrOutput

type BucketVersioningVersioningConfigurationPtrInput

type BucketVersioningVersioningConfigurationPtrInput interface {
	pulumi.Input

	ToBucketVersioningVersioningConfigurationPtrOutput() BucketVersioningVersioningConfigurationPtrOutput
	ToBucketVersioningVersioningConfigurationPtrOutputWithContext(context.Context) BucketVersioningVersioningConfigurationPtrOutput
}

BucketVersioningVersioningConfigurationPtrInput is an input type that accepts BucketVersioningVersioningConfigurationArgs, BucketVersioningVersioningConfigurationPtr and BucketVersioningVersioningConfigurationPtrOutput values. You can construct a concrete instance of `BucketVersioningVersioningConfigurationPtrInput` via:

        BucketVersioningVersioningConfigurationArgs{...}

or:

        nil

type BucketVersioningVersioningConfigurationPtrOutput

type BucketVersioningVersioningConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningVersioningConfigurationPtrOutput) Elem

func (BucketVersioningVersioningConfigurationPtrOutput) ElementType

func (BucketVersioningVersioningConfigurationPtrOutput) MfaDelete

Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.

func (BucketVersioningVersioningConfigurationPtrOutput) Status

Versioning state of the bucket. Valid values: `Enabled`, `Suspended`, or `Disabled`. `Disabled` should only be used when creating or importing resources that correspond to unversioned S3 buckets.

func (BucketVersioningVersioningConfigurationPtrOutput) ToBucketVersioningVersioningConfigurationPtrOutput

func (o BucketVersioningVersioningConfigurationPtrOutput) ToBucketVersioningVersioningConfigurationPtrOutput() BucketVersioningVersioningConfigurationPtrOutput

func (BucketVersioningVersioningConfigurationPtrOutput) ToBucketVersioningVersioningConfigurationPtrOutputWithContext

func (o BucketVersioningVersioningConfigurationPtrOutput) ToBucketVersioningVersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningVersioningConfigurationPtrOutput

type BucketWebsite

type BucketWebsite struct {
	// Absolute path to the document to return in case of a 4XX error.
	ErrorDocument *string `pulumi:"errorDocument"`
	// Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.
	IndexDocument *string `pulumi:"indexDocument"`
	// Hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request.
	RedirectAllRequestsTo *string `pulumi:"redirectAllRequestsTo"`
	// JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
	// describing redirect behavior and when redirects are applied.
	RoutingRules *string `pulumi:"routingRules"`
}

type BucketWebsiteArgs

type BucketWebsiteArgs struct {
	// Absolute path to the document to return in case of a 4XX error.
	ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"`
	// Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.
	IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"`
	// Hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request.
	RedirectAllRequestsTo pulumi.StringPtrInput `pulumi:"redirectAllRequestsTo"`
	// JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
	// describing redirect behavior and when redirects are applied.
	RoutingRules pulumi.StringPtrInput `pulumi:"routingRules"`
}

func (BucketWebsiteArgs) ElementType

func (BucketWebsiteArgs) ElementType() reflect.Type

func (BucketWebsiteArgs) ToBucketWebsiteOutput

func (i BucketWebsiteArgs) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteArgs) ToBucketWebsiteOutputWithContext

func (i BucketWebsiteArgs) ToBucketWebsiteOutputWithContext(ctx context.Context) BucketWebsiteOutput

func (BucketWebsiteArgs) ToBucketWebsitePtrOutput

func (i BucketWebsiteArgs) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteArgs) ToBucketWebsitePtrOutputWithContext

func (i BucketWebsiteArgs) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type BucketWebsiteConfiguration

type BucketWebsiteConfiguration struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrOutput `pulumi:"errorDocument"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// Name of the index document for the website. See below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentPtrOutput `pulumi:"indexDocument"`
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput `pulumi:"redirectAllRequestsTo"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
	// describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (`""`) as seen in the example above.
	RoutingRuleDetails pulumi.StringOutput `pulumi:"routingRuleDetails"`
	// List of rules that define when a redirect is applied and the redirect behavior. See below.
	RoutingRules BucketWebsiteConfigurationRoutingRuleArrayOutput `pulumi:"routingRules"`
	// Domain of the website endpoint. This is used to create Route 53 alias records.
	WebsiteDomain pulumi.StringOutput `pulumi:"websiteDomain"`
	// Website endpoint.
	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
}

Provides an S3 bucket website configuration resource. For more information, see [Hosting Websites on S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).

> This resource cannot be used with S3 directory buckets.

## Example Usage

### With `routingRule` configured

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketWebsiteConfiguration(ctx, "example", &s3.BucketWebsiteConfigurationArgs{
			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
			IndexDocument: &s3.BucketWebsiteConfigurationIndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
			ErrorDocument: &s3.BucketWebsiteConfigurationErrorDocumentArgs{
				Key: pulumi.String("error.html"),
			},
			RoutingRules: s3.BucketWebsiteConfigurationRoutingRuleArray{
				&s3.BucketWebsiteConfigurationRoutingRuleArgs{
					Condition: &s3.BucketWebsiteConfigurationRoutingRuleConditionArgs{
						KeyPrefixEquals: pulumi.String("docs/"),
					},
					Redirect: &s3.BucketWebsiteConfigurationRoutingRuleRedirectArgs{
						ReplaceKeyPrefixWith: pulumi.String("documents/"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With `routingRules` configured

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketWebsiteConfiguration(ctx, "example", &s3.BucketWebsiteConfigurationArgs{
			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
			IndexDocument: &s3.BucketWebsiteConfigurationIndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
			ErrorDocument: &s3.BucketWebsiteConfigurationErrorDocumentArgs{
				Key: pulumi.String("error.html"),
			},
			RoutingRuleDetails: pulumi.String(`[{
    "Condition": {
        "KeyPrefixEquals": "docs/"
    },
    "Redirect": {
        "ReplaceKeyPrefixWith": ""
    }
}]

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

__Using `pulumi import` to import__ S3 bucket website configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:

If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:

```sh $ pulumi import aws:s3/bucketWebsiteConfiguration:BucketWebsiteConfiguration example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):

```sh $ pulumi import aws:s3/bucketWebsiteConfiguration:BucketWebsiteConfiguration example bucket-name,123456789012 ```

func GetBucketWebsiteConfiguration

func GetBucketWebsiteConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketWebsiteConfigurationState, opts ...pulumi.ResourceOption) (*BucketWebsiteConfiguration, error)

GetBucketWebsiteConfiguration gets an existing BucketWebsiteConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketWebsiteConfiguration

func NewBucketWebsiteConfiguration(ctx *pulumi.Context,
	name string, args *BucketWebsiteConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketWebsiteConfiguration, error)

NewBucketWebsiteConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketWebsiteConfiguration) ElementType

func (*BucketWebsiteConfiguration) ElementType() reflect.Type

func (*BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutput

func (i *BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput

func (*BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutputWithContext

func (i *BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput

type BucketWebsiteConfigurationArgs

type BucketWebsiteConfigurationArgs struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Name of the index document for the website. See below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentPtrInput
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationRedirectAllRequestsToPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
	// describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (`""`) as seen in the example above.
	RoutingRuleDetails pulumi.StringPtrInput
	// List of rules that define when a redirect is applied and the redirect behavior. See below.
	RoutingRules BucketWebsiteConfigurationRoutingRuleArrayInput
}

The set of arguments for constructing a BucketWebsiteConfiguration resource.

func (BucketWebsiteConfigurationArgs) ElementType

type BucketWebsiteConfigurationArray

type BucketWebsiteConfigurationArray []BucketWebsiteConfigurationInput

func (BucketWebsiteConfigurationArray) ElementType

func (BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutput

func (i BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput

func (BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutputWithContext

func (i BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationArrayInput

type BucketWebsiteConfigurationArrayInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput
	ToBucketWebsiteConfigurationArrayOutputWithContext(context.Context) BucketWebsiteConfigurationArrayOutput
}

BucketWebsiteConfigurationArrayInput is an input type that accepts BucketWebsiteConfigurationArray and BucketWebsiteConfigurationArrayOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationArrayInput` via:

BucketWebsiteConfigurationArray{ BucketWebsiteConfigurationArgs{...} }

type BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationArrayOutput) ElementType

func (BucketWebsiteConfigurationArrayOutput) Index

func (BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutput

func (o BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput

func (BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutputWithContext

func (o BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationErrorDocument

type BucketWebsiteConfigurationErrorDocument struct {
	// Object key name to use when a 4XX class error occurs.
	Key string `pulumi:"key"`
}

type BucketWebsiteConfigurationErrorDocumentArgs

type BucketWebsiteConfigurationErrorDocumentArgs struct {
	// Object key name to use when a 4XX class error occurs.
	Key pulumi.StringInput `pulumi:"key"`
}

func (BucketWebsiteConfigurationErrorDocumentArgs) ElementType

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutput

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentInput

type BucketWebsiteConfigurationErrorDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput
	ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationErrorDocumentOutput
}

BucketWebsiteConfigurationErrorDocumentInput is an input type that accepts BucketWebsiteConfigurationErrorDocumentArgs and BucketWebsiteConfigurationErrorDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationErrorDocumentInput` via:

BucketWebsiteConfigurationErrorDocumentArgs{...}

type BucketWebsiteConfigurationErrorDocumentOutput

type BucketWebsiteConfigurationErrorDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationErrorDocumentOutput) ElementType

func (BucketWebsiteConfigurationErrorDocumentOutput) Key

Object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutput

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentPtrInput

type BucketWebsiteConfigurationErrorDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput
	ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput
}

BucketWebsiteConfigurationErrorDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationErrorDocumentArgs, BucketWebsiteConfigurationErrorDocumentPtr and BucketWebsiteConfigurationErrorDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationErrorDocumentPtrInput` via:

        BucketWebsiteConfigurationErrorDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) Key

Object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocument

type BucketWebsiteConfigurationIndexDocument struct {
	// Suffix that is appended to a request that is for a directory on the website endpoint.
	// For example, if the suffix is `index.html` and you make a request to `samplebucket/images/`, the data that is returned will be for the object with the key name `images/index.html`.
	// The suffix must not be empty and must not include a slash character.
	Suffix string `pulumi:"suffix"`
}

type BucketWebsiteConfigurationIndexDocumentArgs

type BucketWebsiteConfigurationIndexDocumentArgs struct {
	// Suffix that is appended to a request that is for a directory on the website endpoint.
	// For example, if the suffix is `index.html` and you make a request to `samplebucket/images/`, the data that is returned will be for the object with the key name `images/index.html`.
	// The suffix must not be empty and must not include a slash character.
	Suffix pulumi.StringInput `pulumi:"suffix"`
}

func (BucketWebsiteConfigurationIndexDocumentArgs) ElementType

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutput

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentInput

type BucketWebsiteConfigurationIndexDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput
	ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationIndexDocumentOutput
}

BucketWebsiteConfigurationIndexDocumentInput is an input type that accepts BucketWebsiteConfigurationIndexDocumentArgs and BucketWebsiteConfigurationIndexDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationIndexDocumentInput` via:

BucketWebsiteConfigurationIndexDocumentArgs{...}

type BucketWebsiteConfigurationIndexDocumentOutput

type BucketWebsiteConfigurationIndexDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationIndexDocumentOutput) ElementType

func (BucketWebsiteConfigurationIndexDocumentOutput) Suffix

Suffix that is appended to a request that is for a directory on the website endpoint. For example, if the suffix is `index.html` and you make a request to `samplebucket/images/`, the data that is returned will be for the object with the key name `images/index.html`. The suffix must not be empty and must not include a slash character.

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutput

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentPtrInput

type BucketWebsiteConfigurationIndexDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput
	ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput
}

BucketWebsiteConfigurationIndexDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationIndexDocumentArgs, BucketWebsiteConfigurationIndexDocumentPtr and BucketWebsiteConfigurationIndexDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationIndexDocumentPtrInput` via:

        BucketWebsiteConfigurationIndexDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) Suffix

Suffix that is appended to a request that is for a directory on the website endpoint. For example, if the suffix is `index.html` and you make a request to `samplebucket/images/`, the data that is returned will be for the object with the key name `images/index.html`. The suffix must not be empty and must not include a slash character.

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (o BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationInput

type BucketWebsiteConfigurationInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput
	ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput
}

type BucketWebsiteConfigurationMap

type BucketWebsiteConfigurationMap map[string]BucketWebsiteConfigurationInput

func (BucketWebsiteConfigurationMap) ElementType

func (BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutput

func (i BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput

func (BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutputWithContext

func (i BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationMapInput

type BucketWebsiteConfigurationMapInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput
	ToBucketWebsiteConfigurationMapOutputWithContext(context.Context) BucketWebsiteConfigurationMapOutput
}

BucketWebsiteConfigurationMapInput is an input type that accepts BucketWebsiteConfigurationMap and BucketWebsiteConfigurationMapOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationMapInput` via:

BucketWebsiteConfigurationMap{ "key": BucketWebsiteConfigurationArgs{...} }

type BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationMapOutput) ElementType

func (BucketWebsiteConfigurationMapOutput) MapIndex

func (BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutput

func (o BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput

func (BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutputWithContext

func (o BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationOutput

type BucketWebsiteConfigurationOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationOutput) Bucket

Name of the bucket.

func (BucketWebsiteConfigurationOutput) ElementType

func (BucketWebsiteConfigurationOutput) ErrorDocument

Name of the error document for the website. See below.

func (BucketWebsiteConfigurationOutput) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketWebsiteConfigurationOutput) IndexDocument

Name of the index document for the website. See below.

func (BucketWebsiteConfigurationOutput) RedirectAllRequestsTo

Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.

func (BucketWebsiteConfigurationOutput) Region

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.

func (BucketWebsiteConfigurationOutput) RoutingRuleDetails

func (o BucketWebsiteConfigurationOutput) RoutingRuleDetails() pulumi.StringOutput

JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html) describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (`""`) as seen in the example above.

func (BucketWebsiteConfigurationOutput) RoutingRules

List of rules that define when a redirect is applied and the redirect behavior. See below.

func (BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutput

func (o BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput

func (BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutputWithContext

func (o BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput

func (BucketWebsiteConfigurationOutput) WebsiteDomain

Domain of the website endpoint. This is used to create Route 53 alias records.

func (BucketWebsiteConfigurationOutput) WebsiteEndpoint

Website endpoint.

type BucketWebsiteConfigurationRedirectAllRequestsTo

type BucketWebsiteConfigurationRedirectAllRequestsTo struct {
	// Name of the host where requests are redirected.
	HostName string `pulumi:"hostName"`
	// Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.
	Protocol *string `pulumi:"protocol"`
}

type BucketWebsiteConfigurationRedirectAllRequestsToArgs

type BucketWebsiteConfigurationRedirectAllRequestsToArgs struct {
	// Name of the host where requests are redirected.
	HostName pulumi.StringInput `pulumi:"hostName"`
	// Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (BucketWebsiteConfigurationRedirectAllRequestsToArgs) ElementType

func (BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToOutput

func (i BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToOutput() BucketWebsiteConfigurationRedirectAllRequestsToOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext

func (i BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRedirectAllRequestsToOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

func (i BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput() BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext

func (i BucketWebsiteConfigurationRedirectAllRequestsToArgs) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationRedirectAllRequestsToInput

type BucketWebsiteConfigurationRedirectAllRequestsToInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRedirectAllRequestsToOutput() BucketWebsiteConfigurationRedirectAllRequestsToOutput
	ToBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(context.Context) BucketWebsiteConfigurationRedirectAllRequestsToOutput
}

BucketWebsiteConfigurationRedirectAllRequestsToInput is an input type that accepts BucketWebsiteConfigurationRedirectAllRequestsToArgs and BucketWebsiteConfigurationRedirectAllRequestsToOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRedirectAllRequestsToInput` via:

BucketWebsiteConfigurationRedirectAllRequestsToArgs{...}

type BucketWebsiteConfigurationRedirectAllRequestsToOutput

type BucketWebsiteConfigurationRedirectAllRequestsToOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) ElementType

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) HostName

Name of the host where requests are redirected.

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext

func (o BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRedirectAllRequestsToOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

func (o BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput() BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext

func (o BucketWebsiteConfigurationRedirectAllRequestsToOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationRedirectAllRequestsToPtrInput

type BucketWebsiteConfigurationRedirectAllRequestsToPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput() BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput
	ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(context.Context) BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput
}

BucketWebsiteConfigurationRedirectAllRequestsToPtrInput is an input type that accepts BucketWebsiteConfigurationRedirectAllRequestsToArgs, BucketWebsiteConfigurationRedirectAllRequestsToPtr and BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRedirectAllRequestsToPtrInput` via:

        BucketWebsiteConfigurationRedirectAllRequestsToArgs{...}

or:

        nil

type BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) Elem

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) ElementType

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) HostName

Name of the host where requests are redirected.

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext

func (o BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationRedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationRoutingRule

type BucketWebsiteConfigurationRoutingRule struct {
	// Configuration block for describing a condition that must be met for the specified redirect to apply. See below.
	Condition *BucketWebsiteConfigurationRoutingRuleCondition `pulumi:"condition"`
	// Configuration block for redirect information. See below.
	Redirect BucketWebsiteConfigurationRoutingRuleRedirect `pulumi:"redirect"`
}

type BucketWebsiteConfigurationRoutingRuleArgs

type BucketWebsiteConfigurationRoutingRuleArgs struct {
	// Configuration block for describing a condition that must be met for the specified redirect to apply. See below.
	Condition BucketWebsiteConfigurationRoutingRuleConditionPtrInput `pulumi:"condition"`
	// Configuration block for redirect information. See below.
	Redirect BucketWebsiteConfigurationRoutingRuleRedirectInput `pulumi:"redirect"`
}

func (BucketWebsiteConfigurationRoutingRuleArgs) ElementType

func (BucketWebsiteConfigurationRoutingRuleArgs) ToBucketWebsiteConfigurationRoutingRuleOutput

func (i BucketWebsiteConfigurationRoutingRuleArgs) ToBucketWebsiteConfigurationRoutingRuleOutput() BucketWebsiteConfigurationRoutingRuleOutput

func (BucketWebsiteConfigurationRoutingRuleArgs) ToBucketWebsiteConfigurationRoutingRuleOutputWithContext

func (i BucketWebsiteConfigurationRoutingRuleArgs) ToBucketWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleOutput

type BucketWebsiteConfigurationRoutingRuleArray

type BucketWebsiteConfigurationRoutingRuleArray []BucketWebsiteConfigurationRoutingRuleInput

func (BucketWebsiteConfigurationRoutingRuleArray) ElementType

func (BucketWebsiteConfigurationRoutingRuleArray) ToBucketWebsiteConfigurationRoutingRuleArrayOutput

func (i BucketWebsiteConfigurationRoutingRuleArray) ToBucketWebsiteConfigurationRoutingRuleArrayOutput() BucketWebsiteConfigurationRoutingRuleArrayOutput

func (BucketWebsiteConfigurationRoutingRuleArray) ToBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext

func (i BucketWebsiteConfigurationRoutingRuleArray) ToBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleArrayOutput

type BucketWebsiteConfigurationRoutingRuleArrayInput

type BucketWebsiteConfigurationRoutingRuleArrayInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRoutingRuleArrayOutput() BucketWebsiteConfigurationRoutingRuleArrayOutput
	ToBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(context.Context) BucketWebsiteConfigurationRoutingRuleArrayOutput
}

BucketWebsiteConfigurationRoutingRuleArrayInput is an input type that accepts BucketWebsiteConfigurationRoutingRuleArray and BucketWebsiteConfigurationRoutingRuleArrayOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRoutingRuleArrayInput` via:

BucketWebsiteConfigurationRoutingRuleArray{ BucketWebsiteConfigurationRoutingRuleArgs{...} }

type BucketWebsiteConfigurationRoutingRuleArrayOutput

type BucketWebsiteConfigurationRoutingRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRoutingRuleArrayOutput) ElementType

func (BucketWebsiteConfigurationRoutingRuleArrayOutput) Index

func (BucketWebsiteConfigurationRoutingRuleArrayOutput) ToBucketWebsiteConfigurationRoutingRuleArrayOutput

func (o BucketWebsiteConfigurationRoutingRuleArrayOutput) ToBucketWebsiteConfigurationRoutingRuleArrayOutput() BucketWebsiteConfigurationRoutingRuleArrayOutput

func (BucketWebsiteConfigurationRoutingRuleArrayOutput) ToBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleArrayOutput) ToBucketWebsiteConfigurationRoutingRuleArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleArrayOutput

type BucketWebsiteConfigurationRoutingRuleCondition

type BucketWebsiteConfigurationRoutingRuleCondition struct {
	// HTTP error code when the redirect is applied. If specified with `keyPrefixEquals`, then both must be true for the redirect to be applied.
	HttpErrorCodeReturnedEquals *string `pulumi:"httpErrorCodeReturnedEquals"`
	// Object key name prefix when the redirect is applied. If specified with `httpErrorCodeReturnedEquals`, then both must be true for the redirect to be applied.
	KeyPrefixEquals *string `pulumi:"keyPrefixEquals"`
}

type BucketWebsiteConfigurationRoutingRuleConditionArgs

type BucketWebsiteConfigurationRoutingRuleConditionArgs struct {
	// HTTP error code when the redirect is applied. If specified with `keyPrefixEquals`, then both must be true for the redirect to be applied.
	HttpErrorCodeReturnedEquals pulumi.StringPtrInput `pulumi:"httpErrorCodeReturnedEquals"`
	// Object key name prefix when the redirect is applied. If specified with `httpErrorCodeReturnedEquals`, then both must be true for the redirect to be applied.
	KeyPrefixEquals pulumi.StringPtrInput `pulumi:"keyPrefixEquals"`
}

func (BucketWebsiteConfigurationRoutingRuleConditionArgs) ElementType

func (BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionOutput

func (i BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionOutput() BucketWebsiteConfigurationRoutingRuleConditionOutput

func (BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext

func (i BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleConditionOutput

func (BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput

func (i BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput() BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext

func (i BucketWebsiteConfigurationRoutingRuleConditionArgs) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationRoutingRuleConditionInput

type BucketWebsiteConfigurationRoutingRuleConditionInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRoutingRuleConditionOutput() BucketWebsiteConfigurationRoutingRuleConditionOutput
	ToBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(context.Context) BucketWebsiteConfigurationRoutingRuleConditionOutput
}

BucketWebsiteConfigurationRoutingRuleConditionInput is an input type that accepts BucketWebsiteConfigurationRoutingRuleConditionArgs and BucketWebsiteConfigurationRoutingRuleConditionOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRoutingRuleConditionInput` via:

BucketWebsiteConfigurationRoutingRuleConditionArgs{...}

type BucketWebsiteConfigurationRoutingRuleConditionOutput

type BucketWebsiteConfigurationRoutingRuleConditionOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) ElementType

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) HttpErrorCodeReturnedEquals

HTTP error code when the redirect is applied. If specified with `keyPrefixEquals`, then both must be true for the redirect to be applied.

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) KeyPrefixEquals

Object key name prefix when the redirect is applied. If specified with `httpErrorCodeReturnedEquals`, then both must be true for the redirect to be applied.

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionOutput

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleConditionOutput

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput

func (o BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput() BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleConditionOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationRoutingRuleConditionPtrInput

type BucketWebsiteConfigurationRoutingRuleConditionPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput() BucketWebsiteConfigurationRoutingRuleConditionPtrOutput
	ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(context.Context) BucketWebsiteConfigurationRoutingRuleConditionPtrOutput
}

BucketWebsiteConfigurationRoutingRuleConditionPtrInput is an input type that accepts BucketWebsiteConfigurationRoutingRuleConditionArgs, BucketWebsiteConfigurationRoutingRuleConditionPtr and BucketWebsiteConfigurationRoutingRuleConditionPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRoutingRuleConditionPtrInput` via:

        BucketWebsiteConfigurationRoutingRuleConditionArgs{...}

or:

        nil

type BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationRoutingRuleConditionPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) Elem

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) ElementType

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) HttpErrorCodeReturnedEquals

HTTP error code when the redirect is applied. If specified with `keyPrefixEquals`, then both must be true for the redirect to be applied.

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) KeyPrefixEquals

Object key name prefix when the redirect is applied. If specified with `httpErrorCodeReturnedEquals`, then both must be true for the redirect to be applied.

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationRoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationRoutingRuleInput

type BucketWebsiteConfigurationRoutingRuleInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRoutingRuleOutput() BucketWebsiteConfigurationRoutingRuleOutput
	ToBucketWebsiteConfigurationRoutingRuleOutputWithContext(context.Context) BucketWebsiteConfigurationRoutingRuleOutput
}

BucketWebsiteConfigurationRoutingRuleInput is an input type that accepts BucketWebsiteConfigurationRoutingRuleArgs and BucketWebsiteConfigurationRoutingRuleOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRoutingRuleInput` via:

BucketWebsiteConfigurationRoutingRuleArgs{...}

type BucketWebsiteConfigurationRoutingRuleOutput

type BucketWebsiteConfigurationRoutingRuleOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRoutingRuleOutput) Condition

Configuration block for describing a condition that must be met for the specified redirect to apply. See below.

func (BucketWebsiteConfigurationRoutingRuleOutput) ElementType

func (BucketWebsiteConfigurationRoutingRuleOutput) Redirect

Configuration block for redirect information. See below.

func (BucketWebsiteConfigurationRoutingRuleOutput) ToBucketWebsiteConfigurationRoutingRuleOutput

func (o BucketWebsiteConfigurationRoutingRuleOutput) ToBucketWebsiteConfigurationRoutingRuleOutput() BucketWebsiteConfigurationRoutingRuleOutput

func (BucketWebsiteConfigurationRoutingRuleOutput) ToBucketWebsiteConfigurationRoutingRuleOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleOutput) ToBucketWebsiteConfigurationRoutingRuleOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleOutput

type BucketWebsiteConfigurationRoutingRuleRedirect

type BucketWebsiteConfigurationRoutingRuleRedirect struct {
	// Host name to use in the redirect request.
	HostName *string `pulumi:"hostName"`
	// HTTP redirect code to use on the response.
	HttpRedirectCode *string `pulumi:"httpRedirectCode"`
	// Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.
	Protocol *string `pulumi:"protocol"`
	// Object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/`, you can set a `condition` block with `keyPrefixEquals` set to `docs/` and in the `redirect` set `replaceKeyPrefixWith` to `/documents`.
	ReplaceKeyPrefixWith *string `pulumi:"replaceKeyPrefixWith"`
	// Specific object key to use in the redirect request. For example, redirect request to `error.html`.
	ReplaceKeyWith *string `pulumi:"replaceKeyWith"`
}

type BucketWebsiteConfigurationRoutingRuleRedirectArgs

type BucketWebsiteConfigurationRoutingRuleRedirectArgs struct {
	// Host name to use in the redirect request.
	HostName pulumi.StringPtrInput `pulumi:"hostName"`
	// HTTP redirect code to use on the response.
	HttpRedirectCode pulumi.StringPtrInput `pulumi:"httpRedirectCode"`
	// Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// Object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/`, you can set a `condition` block with `keyPrefixEquals` set to `docs/` and in the `redirect` set `replaceKeyPrefixWith` to `/documents`.
	ReplaceKeyPrefixWith pulumi.StringPtrInput `pulumi:"replaceKeyPrefixWith"`
	// Specific object key to use in the redirect request. For example, redirect request to `error.html`.
	ReplaceKeyWith pulumi.StringPtrInput `pulumi:"replaceKeyWith"`
}

func (BucketWebsiteConfigurationRoutingRuleRedirectArgs) ElementType

func (BucketWebsiteConfigurationRoutingRuleRedirectArgs) ToBucketWebsiteConfigurationRoutingRuleRedirectOutput

func (i BucketWebsiteConfigurationRoutingRuleRedirectArgs) ToBucketWebsiteConfigurationRoutingRuleRedirectOutput() BucketWebsiteConfigurationRoutingRuleRedirectOutput

func (BucketWebsiteConfigurationRoutingRuleRedirectArgs) ToBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext

func (i BucketWebsiteConfigurationRoutingRuleRedirectArgs) ToBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleRedirectOutput

type BucketWebsiteConfigurationRoutingRuleRedirectInput

type BucketWebsiteConfigurationRoutingRuleRedirectInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationRoutingRuleRedirectOutput() BucketWebsiteConfigurationRoutingRuleRedirectOutput
	ToBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(context.Context) BucketWebsiteConfigurationRoutingRuleRedirectOutput
}

BucketWebsiteConfigurationRoutingRuleRedirectInput is an input type that accepts BucketWebsiteConfigurationRoutingRuleRedirectArgs and BucketWebsiteConfigurationRoutingRuleRedirectOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationRoutingRuleRedirectInput` via:

BucketWebsiteConfigurationRoutingRuleRedirectArgs{...}

type BucketWebsiteConfigurationRoutingRuleRedirectOutput

type BucketWebsiteConfigurationRoutingRuleRedirectOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) ElementType

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) HostName

Host name to use in the redirect request.

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) HttpRedirectCode

HTTP redirect code to use on the response.

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyPrefixWith

Object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/`, you can set a `condition` block with `keyPrefixEquals` set to `docs/` and in the `redirect` set `replaceKeyPrefixWith` to `/documents`.

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) ReplaceKeyWith

Specific object key to use in the redirect request. For example, redirect request to `error.html`.

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) ToBucketWebsiteConfigurationRoutingRuleRedirectOutput

func (o BucketWebsiteConfigurationRoutingRuleRedirectOutput) ToBucketWebsiteConfigurationRoutingRuleRedirectOutput() BucketWebsiteConfigurationRoutingRuleRedirectOutput

func (BucketWebsiteConfigurationRoutingRuleRedirectOutput) ToBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext

func (o BucketWebsiteConfigurationRoutingRuleRedirectOutput) ToBucketWebsiteConfigurationRoutingRuleRedirectOutputWithContext(ctx context.Context) BucketWebsiteConfigurationRoutingRuleRedirectOutput

type BucketWebsiteConfigurationState

type BucketWebsiteConfigurationState struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Name of the index document for the website. See below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentPtrInput
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationRedirectAllRequestsToPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html)
	// describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (`""`) as seen in the example above.
	RoutingRuleDetails pulumi.StringPtrInput
	// List of rules that define when a redirect is applied and the redirect behavior. See below.
	RoutingRules BucketWebsiteConfigurationRoutingRuleArrayInput
	// Domain of the website endpoint. This is used to create Route 53 alias records.
	WebsiteDomain pulumi.StringPtrInput
	// Website endpoint.
	WebsiteEndpoint pulumi.StringPtrInput
}

func (BucketWebsiteConfigurationState) ElementType

type BucketWebsiteInput

type BucketWebsiteInput interface {
	pulumi.Input

	ToBucketWebsiteOutput() BucketWebsiteOutput
	ToBucketWebsiteOutputWithContext(context.Context) BucketWebsiteOutput
}

BucketWebsiteInput is an input type that accepts BucketWebsiteArgs and BucketWebsiteOutput values. You can construct a concrete instance of `BucketWebsiteInput` via:

BucketWebsiteArgs{...}

type BucketWebsiteOutput

type BucketWebsiteOutput struct{ *pulumi.OutputState }

func (BucketWebsiteOutput) ElementType

func (BucketWebsiteOutput) ElementType() reflect.Type

func (BucketWebsiteOutput) ErrorDocument

func (o BucketWebsiteOutput) ErrorDocument() pulumi.StringPtrOutput

Absolute path to the document to return in case of a 4XX error.

func (BucketWebsiteOutput) IndexDocument

func (o BucketWebsiteOutput) IndexDocument() pulumi.StringPtrOutput

Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.

func (BucketWebsiteOutput) RedirectAllRequestsTo

func (o BucketWebsiteOutput) RedirectAllRequestsTo() pulumi.StringPtrOutput

Hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request.

func (BucketWebsiteOutput) RoutingRules

func (o BucketWebsiteOutput) RoutingRules() pulumi.StringPtrOutput

JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html) describing redirect behavior and when redirects are applied.

func (BucketWebsiteOutput) ToBucketWebsiteOutput

func (o BucketWebsiteOutput) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteOutput) ToBucketWebsiteOutputWithContext

func (o BucketWebsiteOutput) ToBucketWebsiteOutputWithContext(ctx context.Context) BucketWebsiteOutput

func (BucketWebsiteOutput) ToBucketWebsitePtrOutput

func (o BucketWebsiteOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteOutput) ToBucketWebsitePtrOutputWithContext

func (o BucketWebsiteOutput) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type BucketWebsitePtrInput

type BucketWebsitePtrInput interface {
	pulumi.Input

	ToBucketWebsitePtrOutput() BucketWebsitePtrOutput
	ToBucketWebsitePtrOutputWithContext(context.Context) BucketWebsitePtrOutput
}

BucketWebsitePtrInput is an input type that accepts BucketWebsiteArgs, BucketWebsitePtr and BucketWebsitePtrOutput values. You can construct a concrete instance of `BucketWebsitePtrInput` via:

        BucketWebsiteArgs{...}

or:

        nil

type BucketWebsitePtrOutput

type BucketWebsitePtrOutput struct{ *pulumi.OutputState }

func (BucketWebsitePtrOutput) Elem

func (BucketWebsitePtrOutput) ElementType

func (BucketWebsitePtrOutput) ElementType() reflect.Type

func (BucketWebsitePtrOutput) ErrorDocument

func (o BucketWebsitePtrOutput) ErrorDocument() pulumi.StringPtrOutput

Absolute path to the document to return in case of a 4XX error.

func (BucketWebsitePtrOutput) IndexDocument

func (o BucketWebsitePtrOutput) IndexDocument() pulumi.StringPtrOutput

Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.

func (BucketWebsitePtrOutput) RedirectAllRequestsTo

func (o BucketWebsitePtrOutput) RedirectAllRequestsTo() pulumi.StringPtrOutput

Hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request.

func (BucketWebsitePtrOutput) RoutingRules

JSON array containing [routing rules](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html) describing redirect behavior and when redirects are applied.

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutput

func (o BucketWebsitePtrOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutputWithContext

func (o BucketWebsitePtrOutput) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type CannedAcl

type CannedAcl string

See https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl

func (CannedAcl) ElementType

func (CannedAcl) ElementType() reflect.Type

func (CannedAcl) ToCannedAclOutput

func (e CannedAcl) ToCannedAclOutput() CannedAclOutput

func (CannedAcl) ToCannedAclOutputWithContext

func (e CannedAcl) ToCannedAclOutputWithContext(ctx context.Context) CannedAclOutput

func (CannedAcl) ToCannedAclPtrOutput

func (e CannedAcl) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAcl) ToCannedAclPtrOutputWithContext

func (e CannedAcl) ToCannedAclPtrOutputWithContext(ctx context.Context) CannedAclPtrOutput

func (CannedAcl) ToStringOutput

func (e CannedAcl) ToStringOutput() pulumi.StringOutput

func (CannedAcl) ToStringOutputWithContext

func (e CannedAcl) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (CannedAcl) ToStringPtrOutput

func (e CannedAcl) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAcl) ToStringPtrOutputWithContext

func (e CannedAcl) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type CannedAclInput

type CannedAclInput interface {
	pulumi.Input

	ToCannedAclOutput() CannedAclOutput
	ToCannedAclOutputWithContext(context.Context) CannedAclOutput
}

CannedAclInput is an input type that accepts values of the CannedAcl enum A concrete instance of `CannedAclInput` can be one of the following:

CannedAclPrivate
CannedAclPublicRead
CannedAclPublicReadWrite
CannedAclAwsExecRead
CannedAclAuthenticatedRead
CannedAclBucketOwnerRead
CannedAclBucketOwnerFullControl
CannedAclLogDeliveryWrite

type CannedAclOutput

type CannedAclOutput struct{ *pulumi.OutputState }

func (CannedAclOutput) ElementType

func (CannedAclOutput) ElementType() reflect.Type

func (CannedAclOutput) ToCannedAclOutput

func (o CannedAclOutput) ToCannedAclOutput() CannedAclOutput

func (CannedAclOutput) ToCannedAclOutputWithContext

func (o CannedAclOutput) ToCannedAclOutputWithContext(ctx context.Context) CannedAclOutput

func (CannedAclOutput) ToCannedAclPtrOutput

func (o CannedAclOutput) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAclOutput) ToCannedAclPtrOutputWithContext

func (o CannedAclOutput) ToCannedAclPtrOutputWithContext(ctx context.Context) CannedAclPtrOutput

func (CannedAclOutput) ToStringOutput

func (o CannedAclOutput) ToStringOutput() pulumi.StringOutput

func (CannedAclOutput) ToStringOutputWithContext

func (o CannedAclOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (CannedAclOutput) ToStringPtrOutput

func (o CannedAclOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAclOutput) ToStringPtrOutputWithContext

func (o CannedAclOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type CannedAclPtrInput

type CannedAclPtrInput interface {
	pulumi.Input

	ToCannedAclPtrOutput() CannedAclPtrOutput
	ToCannedAclPtrOutputWithContext(context.Context) CannedAclPtrOutput
}

func CannedAclPtr

func CannedAclPtr(v string) CannedAclPtrInput

type CannedAclPtrOutput

type CannedAclPtrOutput struct{ *pulumi.OutputState }

func (CannedAclPtrOutput) Elem

func (CannedAclPtrOutput) ElementType

func (CannedAclPtrOutput) ElementType() reflect.Type

func (CannedAclPtrOutput) ToCannedAclPtrOutput

func (o CannedAclPtrOutput) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAclPtrOutput) ToCannedAclPtrOutputWithContext

func (o CannedAclPtrOutput) ToCannedAclPtrOutputWithContext(ctx context.Context) CannedAclPtrOutput

func (CannedAclPtrOutput) ToStringPtrOutput

func (o CannedAclPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAclPtrOutput) ToStringPtrOutputWithContext

func (o CannedAclPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type DirectoryBucket

type DirectoryBucket struct {
	pulumi.CustomResourceState

	// ARN of the bucket.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.Bucket` resource to manage general purpose buckets.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Data redundancy. Valid values: `SingleAvailabilityZone`, `SingleLocalZone`. The default value depends on the value of the `location.type` attribute.
	DataRedundancy pulumi.StringOutput `pulumi:"dataRedundancy"`
	// Boolean that indicates all objects should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolOutput `pulumi:"forceDestroy"`
	// Bucket location. See Location below for more details.
	Location DirectoryBucketLocationPtrOutput `pulumi:"location"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides an Amazon S3 Express directory bucket resource.

## Example Usage

### Availability Zone

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewDirectoryBucket(ctx, "example", &s3.DirectoryBucketArgs{
			Bucket: pulumi.String("example--usw2-az1--x-s3"),
			Location: &s3.DirectoryBucketLocationArgs{
				Name: pulumi.String("usw2-az1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Dedicated Local Zone

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewDirectoryBucket(ctx, "example_local_zone", &s3.DirectoryBucketArgs{
			Bucket: pulumi.String("example--usw2-xxx-lz1--x-s3"),
			Location: &s3.DirectoryBucketLocationArgs{
				Name: pulumi.String("usw2-xxx-lz1"),
				Type: pulumi.String("LocalZone"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket using `bucket`. For example:

```sh $ pulumi import aws:s3/directoryBucket:DirectoryBucket example example--usw2-az1--x-s3 ```

func GetDirectoryBucket

func GetDirectoryBucket(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DirectoryBucketState, opts ...pulumi.ResourceOption) (*DirectoryBucket, error)

GetDirectoryBucket gets an existing DirectoryBucket resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDirectoryBucket

func NewDirectoryBucket(ctx *pulumi.Context,
	name string, args *DirectoryBucketArgs, opts ...pulumi.ResourceOption) (*DirectoryBucket, error)

NewDirectoryBucket registers a new resource with the given unique name, arguments, and options.

func (*DirectoryBucket) ElementType

func (*DirectoryBucket) ElementType() reflect.Type

func (*DirectoryBucket) ToDirectoryBucketOutput

func (i *DirectoryBucket) ToDirectoryBucketOutput() DirectoryBucketOutput

func (*DirectoryBucket) ToDirectoryBucketOutputWithContext

func (i *DirectoryBucket) ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput

type DirectoryBucketArgs

type DirectoryBucketArgs struct {
	// Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.Bucket` resource to manage general purpose buckets.
	Bucket pulumi.StringInput
	// Data redundancy. Valid values: `SingleAvailabilityZone`, `SingleLocalZone`. The default value depends on the value of the `location.type` attribute.
	DataRedundancy pulumi.StringPtrInput
	// Boolean that indicates all objects should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolPtrInput
	// Bucket location. See Location below for more details.
	Location DirectoryBucketLocationPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a DirectoryBucket resource.

func (DirectoryBucketArgs) ElementType

func (DirectoryBucketArgs) ElementType() reflect.Type

type DirectoryBucketArray

type DirectoryBucketArray []DirectoryBucketInput

func (DirectoryBucketArray) ElementType

func (DirectoryBucketArray) ElementType() reflect.Type

func (DirectoryBucketArray) ToDirectoryBucketArrayOutput

func (i DirectoryBucketArray) ToDirectoryBucketArrayOutput() DirectoryBucketArrayOutput

func (DirectoryBucketArray) ToDirectoryBucketArrayOutputWithContext

func (i DirectoryBucketArray) ToDirectoryBucketArrayOutputWithContext(ctx context.Context) DirectoryBucketArrayOutput

type DirectoryBucketArrayInput

type DirectoryBucketArrayInput interface {
	pulumi.Input

	ToDirectoryBucketArrayOutput() DirectoryBucketArrayOutput
	ToDirectoryBucketArrayOutputWithContext(context.Context) DirectoryBucketArrayOutput
}

DirectoryBucketArrayInput is an input type that accepts DirectoryBucketArray and DirectoryBucketArrayOutput values. You can construct a concrete instance of `DirectoryBucketArrayInput` via:

DirectoryBucketArray{ DirectoryBucketArgs{...} }

type DirectoryBucketArrayOutput

type DirectoryBucketArrayOutput struct{ *pulumi.OutputState }

func (DirectoryBucketArrayOutput) ElementType

func (DirectoryBucketArrayOutput) ElementType() reflect.Type

func (DirectoryBucketArrayOutput) Index

func (DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutput

func (o DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutput() DirectoryBucketArrayOutput

func (DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutputWithContext

func (o DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutputWithContext(ctx context.Context) DirectoryBucketArrayOutput

type DirectoryBucketInput

type DirectoryBucketInput interface {
	pulumi.Input

	ToDirectoryBucketOutput() DirectoryBucketOutput
	ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput
}

type DirectoryBucketLocation

type DirectoryBucketLocation struct {
	// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID.
	Name string `pulumi:"name"`
	// Location type. Valid values: `AvailabilityZone`, `LocalZone`.
	Type *string `pulumi:"type"`
}

type DirectoryBucketLocationArgs

type DirectoryBucketLocationArgs struct {
	// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID.
	Name pulumi.StringInput `pulumi:"name"`
	// Location type. Valid values: `AvailabilityZone`, `LocalZone`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (DirectoryBucketLocationArgs) ElementType

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutput

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutput() DirectoryBucketLocationOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutputWithContext

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutputWithContext(ctx context.Context) DirectoryBucketLocationOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutput

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutputWithContext

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

type DirectoryBucketLocationInput

type DirectoryBucketLocationInput interface {
	pulumi.Input

	ToDirectoryBucketLocationOutput() DirectoryBucketLocationOutput
	ToDirectoryBucketLocationOutputWithContext(context.Context) DirectoryBucketLocationOutput
}

DirectoryBucketLocationInput is an input type that accepts DirectoryBucketLocationArgs and DirectoryBucketLocationOutput values. You can construct a concrete instance of `DirectoryBucketLocationInput` via:

DirectoryBucketLocationArgs{...}

type DirectoryBucketLocationOutput

type DirectoryBucketLocationOutput struct{ *pulumi.OutputState }

func (DirectoryBucketLocationOutput) ElementType

func (DirectoryBucketLocationOutput) Name

[Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID.

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutput

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutput() DirectoryBucketLocationOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutputWithContext

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutputWithContext(ctx context.Context) DirectoryBucketLocationOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutput

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutputWithContext

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationOutput) Type

Location type. Valid values: `AvailabilityZone`, `LocalZone`.

type DirectoryBucketLocationPtrInput

type DirectoryBucketLocationPtrInput interface {
	pulumi.Input

	ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput
	ToDirectoryBucketLocationPtrOutputWithContext(context.Context) DirectoryBucketLocationPtrOutput
}

DirectoryBucketLocationPtrInput is an input type that accepts DirectoryBucketLocationArgs, DirectoryBucketLocationPtr and DirectoryBucketLocationPtrOutput values. You can construct a concrete instance of `DirectoryBucketLocationPtrInput` via:

        DirectoryBucketLocationArgs{...}

or:

        nil

type DirectoryBucketLocationPtrOutput

type DirectoryBucketLocationPtrOutput struct{ *pulumi.OutputState }

func (DirectoryBucketLocationPtrOutput) Elem

func (DirectoryBucketLocationPtrOutput) ElementType

func (DirectoryBucketLocationPtrOutput) Name

[Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID.

func (DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutput

func (o DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutputWithContext

func (o DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationPtrOutput) Type

Location type. Valid values: `AvailabilityZone`, `LocalZone`.

type DirectoryBucketMap

type DirectoryBucketMap map[string]DirectoryBucketInput

func (DirectoryBucketMap) ElementType

func (DirectoryBucketMap) ElementType() reflect.Type

func (DirectoryBucketMap) ToDirectoryBucketMapOutput

func (i DirectoryBucketMap) ToDirectoryBucketMapOutput() DirectoryBucketMapOutput

func (DirectoryBucketMap) ToDirectoryBucketMapOutputWithContext

func (i DirectoryBucketMap) ToDirectoryBucketMapOutputWithContext(ctx context.Context) DirectoryBucketMapOutput

type DirectoryBucketMapInput

type DirectoryBucketMapInput interface {
	pulumi.Input

	ToDirectoryBucketMapOutput() DirectoryBucketMapOutput
	ToDirectoryBucketMapOutputWithContext(context.Context) DirectoryBucketMapOutput
}

DirectoryBucketMapInput is an input type that accepts DirectoryBucketMap and DirectoryBucketMapOutput values. You can construct a concrete instance of `DirectoryBucketMapInput` via:

DirectoryBucketMap{ "key": DirectoryBucketArgs{...} }

type DirectoryBucketMapOutput

type DirectoryBucketMapOutput struct{ *pulumi.OutputState }

func (DirectoryBucketMapOutput) ElementType

func (DirectoryBucketMapOutput) ElementType() reflect.Type

func (DirectoryBucketMapOutput) MapIndex

func (DirectoryBucketMapOutput) ToDirectoryBucketMapOutput

func (o DirectoryBucketMapOutput) ToDirectoryBucketMapOutput() DirectoryBucketMapOutput

func (DirectoryBucketMapOutput) ToDirectoryBucketMapOutputWithContext

func (o DirectoryBucketMapOutput) ToDirectoryBucketMapOutputWithContext(ctx context.Context) DirectoryBucketMapOutput

type DirectoryBucketOutput

type DirectoryBucketOutput struct{ *pulumi.OutputState }

func (DirectoryBucketOutput) Arn

ARN of the bucket.

func (DirectoryBucketOutput) Bucket

Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.Bucket` resource to manage general purpose buckets.

func (DirectoryBucketOutput) DataRedundancy

func (o DirectoryBucketOutput) DataRedundancy() pulumi.StringOutput

Data redundancy. Valid values: `SingleAvailabilityZone`, `SingleLocalZone`. The default value depends on the value of the `location.type` attribute.

func (DirectoryBucketOutput) ElementType

func (DirectoryBucketOutput) ElementType() reflect.Type

func (DirectoryBucketOutput) ForceDestroy

func (o DirectoryBucketOutput) ForceDestroy() pulumi.BoolOutput

Boolean that indicates all objects should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.

func (DirectoryBucketOutput) Location

Bucket location. See Location below for more details.

func (DirectoryBucketOutput) Region

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.

func (DirectoryBucketOutput) ToDirectoryBucketOutput

func (o DirectoryBucketOutput) ToDirectoryBucketOutput() DirectoryBucketOutput

func (DirectoryBucketOutput) ToDirectoryBucketOutputWithContext

func (o DirectoryBucketOutput) ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput

func (DirectoryBucketOutput) Type

Bucket type. Valid values: `Directory`.

type DirectoryBucketState

type DirectoryBucketState struct {
	// ARN of the bucket.
	Arn pulumi.StringPtrInput
	// Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.Bucket` resource to manage general purpose buckets.
	Bucket pulumi.StringPtrInput
	// Data redundancy. Valid values: `SingleAvailabilityZone`, `SingleLocalZone`. The default value depends on the value of the `location.type` attribute.
	DataRedundancy pulumi.StringPtrInput
	// Boolean that indicates all objects should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
	ForceDestroy pulumi.BoolPtrInput
	// Bucket location. See Location below for more details.
	Location DirectoryBucketLocationPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringPtrInput
}

func (DirectoryBucketState) ElementType

func (DirectoryBucketState) ElementType() reflect.Type

type GetBucketObjectsArgs

type GetBucketObjectsArgs struct {
	// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	//
	// Deprecated: bucket is deprecated. Use the s3.getObjects data source instead.
	Bucket string `pulumi:"bucket"`
	// Character used to group keys (Default: none)
	Delimiter *string `pulumi:"delimiter"`
	// Encodes keys using this method (Default: none; besides none, only "url" can be used)
	EncodingType *string `pulumi:"encodingType"`
	// Boolean specifying whether to populate the owner list (Default: false)
	FetchOwner *bool `pulumi:"fetchOwner"`
	// Maximum object keys to return (Default: 1000)
	MaxKeys *int `pulumi:"maxKeys"`
	// Limits results to object keys with this prefix (Default: none)
	Prefix *string `pulumi:"prefix"`
	// 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.
	Region *string `pulumi:"region"`
	// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
	StartAfter *string `pulumi:"startAfter"`
}

A collection of arguments for invoking getBucketObjects.

type GetBucketObjectsOutputArgs

type GetBucketObjectsOutputArgs struct {
	// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	//
	// Deprecated: bucket is deprecated. Use the s3.getObjects data source instead.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Character used to group keys (Default: none)
	Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
	// Encodes keys using this method (Default: none; besides none, only "url" can be used)
	EncodingType pulumi.StringPtrInput `pulumi:"encodingType"`
	// Boolean specifying whether to populate the owner list (Default: false)
	FetchOwner pulumi.BoolPtrInput `pulumi:"fetchOwner"`
	// Maximum object keys to return (Default: 1000)
	MaxKeys pulumi.IntPtrInput `pulumi:"maxKeys"`
	// Limits results to object keys with this prefix (Default: none)
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
	StartAfter pulumi.StringPtrInput `pulumi:"startAfter"`
}

A collection of arguments for invoking getBucketObjects.

func (GetBucketObjectsOutputArgs) ElementType

func (GetBucketObjectsOutputArgs) ElementType() reflect.Type

type GetBucketObjectsResult

type GetBucketObjectsResult struct {
	// Deprecated: bucket is deprecated. Use the s3.getObjects data source instead.
	Bucket string `pulumi:"bucket"`
	// List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`
	CommonPrefixes []string `pulumi:"commonPrefixes"`
	Delimiter      *string  `pulumi:"delimiter"`
	EncodingType   *string  `pulumi:"encodingType"`
	FetchOwner     *bool    `pulumi:"fetchOwner"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// List of strings representing object keys
	Keys    []string `pulumi:"keys"`
	MaxKeys *int     `pulumi:"maxKeys"`
	// List of strings representing object owner IDs (see `fetchOwner` above)
	Owners     []string `pulumi:"owners"`
	Prefix     *string  `pulumi:"prefix"`
	Region     string   `pulumi:"region"`
	StartAfter *string  `pulumi:"startAfter"`
}

A collection of values returned by getBucketObjects.

func GetBucketObjects

func GetBucketObjects(ctx *pulumi.Context, args *GetBucketObjectsArgs, opts ...pulumi.InvokeOption) (*GetBucketObjectsResult, error)

> **NOTE:** The `s3.getBucketObjects` data source is DEPRECATED and will be removed in a future version! Use `s3.getObjects` instead, where new features and fixes will be added.

> **NOTE on `maxKeys`:** Retrieving very large numbers of keys can adversely affect this provider's performance.

The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket.

type GetBucketObjectsResultOutput

type GetBucketObjectsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObjects.

func (GetBucketObjectsResultOutput) Bucket deprecated

Deprecated: bucket is deprecated. Use the s3.getObjects data source instead.

func (GetBucketObjectsResultOutput) CommonPrefixes

List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`

func (GetBucketObjectsResultOutput) Delimiter

func (GetBucketObjectsResultOutput) ElementType

func (GetBucketObjectsResultOutput) EncodingType

func (GetBucketObjectsResultOutput) FetchOwner

func (GetBucketObjectsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBucketObjectsResultOutput) Keys

List of strings representing object keys

func (GetBucketObjectsResultOutput) MaxKeys

func (GetBucketObjectsResultOutput) Owners

List of strings representing object owner IDs (see `fetchOwner` above)

func (GetBucketObjectsResultOutput) Prefix

func (GetBucketObjectsResultOutput) Region

func (GetBucketObjectsResultOutput) StartAfter

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput() GetBucketObjectsResultOutput

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext(ctx context.Context) GetBucketObjectsResultOutput

type GetCanonicalUserIdResult

type GetCanonicalUserIdResult struct {
	// Human-friendly name linked to the canonical user ID. The bucket owner's display name. **NOTE:** [This value](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html) is only included in the response in the US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), EU (Ireland), and South America (São Paulo) regions.
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getCanonicalUserId.

func GetCanonicalUserId

func GetCanonicalUserId(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetCanonicalUserIdResult, error)

The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) for the effective account in which this provider is working.

> **NOTE:** To use this data source, you must have the `s3:ListAllMyBuckets` permission.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("canonicalUserId", current.Id)
		return nil
	})
}

```

type GetCanonicalUserIdResultOutput

type GetCanonicalUserIdResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCanonicalUserId.

func GetCanonicalUserIdOutput

func GetCanonicalUserIdOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetCanonicalUserIdResultOutput

func (GetCanonicalUserIdResultOutput) DisplayName

Human-friendly name linked to the canonical user ID. The bucket owner's display name. **NOTE:** [This value](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html) is only included in the response in the US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), EU (Ireland), and South America (São Paulo) regions.

func (GetCanonicalUserIdResultOutput) ElementType

func (GetCanonicalUserIdResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutput

func (o GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutput() GetCanonicalUserIdResultOutput

func (GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutputWithContext

func (o GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutputWithContext(ctx context.Context) GetCanonicalUserIdResultOutput

type GetDirectoryBucketsArgs

type GetDirectoryBucketsArgs struct {
	// 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.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getDirectoryBuckets.

type GetDirectoryBucketsOutputArgs

type GetDirectoryBucketsOutputArgs struct {
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getDirectoryBuckets.

func (GetDirectoryBucketsOutputArgs) ElementType

type GetDirectoryBucketsResult

type GetDirectoryBucketsResult struct {
	// Bucket ARNs.
	Arns []string `pulumi:"arns"`
	// Buckets names.
	Buckets []string `pulumi:"buckets"`
	Id      string   `pulumi:"id"`
	Region  string   `pulumi:"region"`
}

A collection of values returned by getDirectoryBuckets.

func GetDirectoryBuckets

func GetDirectoryBuckets(ctx *pulumi.Context, args *GetDirectoryBucketsArgs, opts ...pulumi.InvokeOption) (*GetDirectoryBucketsResult, error)

Lists Amazon S3 Express directory buckets.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.GetDirectoryBuckets(ctx, &s3.GetDirectoryBucketsArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDirectoryBucketsResultOutput

type GetDirectoryBucketsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDirectoryBuckets.

func (GetDirectoryBucketsResultOutput) Arns

Bucket ARNs.

func (GetDirectoryBucketsResultOutput) Buckets

Buckets names.

func (GetDirectoryBucketsResultOutput) ElementType

func (GetDirectoryBucketsResultOutput) Id

func (GetDirectoryBucketsResultOutput) Region

func (GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutput

func (o GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutput() GetDirectoryBucketsResultOutput

func (GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutputWithContext

func (o GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutputWithContext(ctx context.Context) GetDirectoryBucketsResultOutput

type GetObjectArgs

type GetObjectArgs struct {
	// Name of the bucket to read the object from. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	Bucket string `pulumi:"bucket"`
	// To retrieve the object's checksum, this argument must be `ENABLED`. If you enable `checksumMode` and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `ENABLED`
	ChecksumMode *string `pulumi:"checksumMode"`
	// Full path to the object inside the bucket
	Key   string  `pulumi:"key"`
	Range *string `pulumi:"range"`
	// 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.
	Region *string `pulumi:"region"`
	// Map of tags assigned to the object.
	Tags map[string]string `pulumi:"tags"`
	// Specific version ID of the object returned (defaults to latest version)
	VersionId *string `pulumi:"versionId"`
}

A collection of arguments for invoking getObject.

type GetObjectOutputArgs

type GetObjectOutputArgs struct {
	// Name of the bucket to read the object from. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// To retrieve the object's checksum, this argument must be `ENABLED`. If you enable `checksumMode` and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `ENABLED`
	ChecksumMode pulumi.StringPtrInput `pulumi:"checksumMode"`
	// Full path to the object inside the bucket
	Key   pulumi.StringInput    `pulumi:"key"`
	Range pulumi.StringPtrInput `pulumi:"range"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Map of tags assigned to the object.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specific version ID of the object returned (defaults to latest version)
	VersionId pulumi.StringPtrInput `pulumi:"versionId"`
}

A collection of arguments for invoking getObject.

func (GetObjectOutputArgs) ElementType

func (GetObjectOutputArgs) ElementType() reflect.Type

type GetObjectResult

type GetObjectResult struct {
	// ARN of the object.
	Arn string `pulumi:"arn"`
	// Object data (see **limitations above** to understand cases in which this field is actually available)
	Body   string `pulumi:"body"`
	Bucket string `pulumi:"bucket"`
	// (Optional) Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled bool `pulumi:"bucketKeyEnabled"`
	// Caching behavior along the request/reply chain.
	CacheControl string `pulumi:"cacheControl"`
	// The base64-encoded, 32-bit CRC32 checksum of the object.
	ChecksumCrc32 string `pulumi:"checksumCrc32"`
	// The base64-encoded, 32-bit CRC32C checksum of the object.
	ChecksumCrc32c string `pulumi:"checksumCrc32c"`
	// The base64-encoded, 64-bit CRC64NVME checksum of the object.
	ChecksumCrc64nvme string  `pulumi:"checksumCrc64nvme"`
	ChecksumMode      *string `pulumi:"checksumMode"`
	// The base64-encoded, 160-bit SHA-1 digest of the object.
	ChecksumSha1 string `pulumi:"checksumSha1"`
	// The base64-encoded, 256-bit SHA-256 digest of the object.
	ChecksumSha256 string `pulumi:"checksumSha256"`
	// Presentational information for the object.
	ContentDisposition string `pulumi:"contentDisposition"`
	// What content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.
	ContentEncoding string `pulumi:"contentEncoding"`
	// Language the content is in.
	ContentLanguage string `pulumi:"contentLanguage"`
	// Size of the body in bytes.
	ContentLength int `pulumi:"contentLength"`
	// Standard MIME type describing the format of the object data.
	ContentType string `pulumi:"contentType"`
	// [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted)
	Etag string `pulumi:"etag"`
	// If the object expiration is configured (see [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.
	Expiration string `pulumi:"expiration"`
	// Date and time at which the object is no longer cacheable.
	Expires string `pulumi:"expires"`
	// The provider-assigned unique ID for this managed resource.
	Id  string `pulumi:"id"`
	Key string `pulumi:"key"`
	// Last modified date of the object in RFC1123 format (e.g., `Mon, 02 Jan 2006 15:04:05 MST`)
	LastModified string `pulumi:"lastModified"`
	// Map of metadata stored with the object in S3. Keys are always returned in lowercase.
	Metadata map[string]string `pulumi:"metadata"`
	// Indicates whether this object has an active [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds). This field is only returned if you have permission to view an object's legal hold status.
	ObjectLockLegalHoldStatus string `pulumi:"objectLockLegalHoldStatus"`
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) currently in place for this object.
	ObjectLockMode string `pulumi:"objectLockMode"`
	// The date and time when this object's object lock will expire.
	ObjectLockRetainUntilDate string  `pulumi:"objectLockRetainUntilDate"`
	Range                     *string `pulumi:"range"`
	Region                    string  `pulumi:"region"`
	// If the object is stored using server-side encryption (KMS or Amazon S3-managed encryption key), this field includes the chosen encryption and algorithm used.
	ServerSideEncryption string `pulumi:"serverSideEncryption"`
	// If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.
	SseKmsKeyId string `pulumi:"sseKmsKeyId"`
	// [Storage class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) information of the object. Available for all objects except for `Standard` storage class objects.
	StorageClass string `pulumi:"storageClass"`
	// Map of tags assigned to the object.
	Tags map[string]string `pulumi:"tags"`
	// Latest version ID of the object returned.
	VersionId string `pulumi:"versionId"`
	// If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.
	WebsiteRedirectLocation string `pulumi:"websiteRedirectLocation"`
}

A collection of values returned by getObject.

func GetObject

func GetObject(ctx *pulumi.Context, args *GetObjectArgs, opts ...pulumi.InvokeOption) (*GetObjectResult, error)

The S3 object data source allows access to the metadata and _optionally_ (see below) content of an object stored inside S3 bucket.

> **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:

* `text/*` * `application/json` * `application/ld+json` * `application/x-httpd-php` * `application/xhtml+xml` * `application/x-csh` * `application/x-sh` * `application/xml` * `application/atom+xml` * `application/x-sql` * `application/yaml`

This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.

## Example Usage

The following example retrieves a text object (which must have a `Content-Type` value starting with `text/`) and uses it as the `userData` for an EC2 instance:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bootstrapScript, err := s3.GetObject(ctx, &s3.GetObjectArgs{
			Bucket: "ourcorp-deploy-config",
			Key:    "ec2-bootstrap-script.sh",
		}, nil)
		if err != nil {
			return err
		}
		_, err = ec2.NewInstance(ctx, "example", &ec2.InstanceArgs{
			InstanceType: pulumi.String(ec2.InstanceType_T2_Micro),
			Ami:          pulumi.String("ami-2757f631"),
			UserData:     pulumi.String(bootstrapScript.Body),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

The following, more-complex example retrieves only the metadata for a zip file stored in S3, which is then used to pass the most recent `versionId` to AWS Lambda for use as a function implementation. More information about Lambda functions is available in the documentation for `lambda.Function`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		lambda, err := s3.GetObject(ctx, &s3.GetObjectArgs{
			Bucket: "ourcorp-lambda-functions",
			Key:    "hello-world.zip",
		}, nil)
		if err != nil {
			return err
		}
		_, err = lambda.NewFunction(ctx, "test_lambda", &lambda.FunctionArgs{
			S3Bucket:        pulumi.String(lambda.Bucket),
			S3Key:           pulumi.String(lambda.Key),
			S3ObjectVersion: pulumi.String(lambda.VersionId),
			Name:            pulumi.String("lambda_function_name"),
			Role:            pulumi.Any(iamForLambda.Arn),
			Handler:         pulumi.String("exports.test"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetObjectResultOutput

type GetObjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getObject.

func (GetObjectResultOutput) Arn

ARN of the object.

func (GetObjectResultOutput) Body

Object data (see **limitations above** to understand cases in which this field is actually available)

func (GetObjectResultOutput) Bucket

func (GetObjectResultOutput) BucketKeyEnabled

func (o GetObjectResultOutput) BucketKeyEnabled() pulumi.BoolOutput

(Optional) Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (GetObjectResultOutput) CacheControl

func (o GetObjectResultOutput) CacheControl() pulumi.StringOutput

Caching behavior along the request/reply chain.

func (GetObjectResultOutput) ChecksumCrc32

func (o GetObjectResultOutput) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (GetObjectResultOutput) ChecksumCrc32c

func (o GetObjectResultOutput) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (GetObjectResultOutput) ChecksumCrc64nvme

func (o GetObjectResultOutput) ChecksumCrc64nvme() pulumi.StringOutput

The base64-encoded, 64-bit CRC64NVME checksum of the object.

func (GetObjectResultOutput) ChecksumMode

func (o GetObjectResultOutput) ChecksumMode() pulumi.StringPtrOutput

func (GetObjectResultOutput) ChecksumSha1

func (o GetObjectResultOutput) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (GetObjectResultOutput) ChecksumSha256

func (o GetObjectResultOutput) ChecksumSha256() pulumi.StringOutput

The base64-encoded, 256-bit SHA-256 digest of the object.

func (GetObjectResultOutput) ContentDisposition

func (o GetObjectResultOutput) ContentDisposition() pulumi.StringOutput

Presentational information for the object.

func (GetObjectResultOutput) ContentEncoding

func (o GetObjectResultOutput) ContentEncoding() pulumi.StringOutput

What content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

func (GetObjectResultOutput) ContentLanguage

func (o GetObjectResultOutput) ContentLanguage() pulumi.StringOutput

Language the content is in.

func (GetObjectResultOutput) ContentLength

func (o GetObjectResultOutput) ContentLength() pulumi.IntOutput

Size of the body in bytes.

func (GetObjectResultOutput) ContentType

func (o GetObjectResultOutput) ContentType() pulumi.StringOutput

Standard MIME type describing the format of the object data.

func (GetObjectResultOutput) ElementType

func (GetObjectResultOutput) ElementType() reflect.Type

func (GetObjectResultOutput) Etag

[ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted)

func (GetObjectResultOutput) Expiration

func (o GetObjectResultOutput) Expiration() pulumi.StringOutput

If the object expiration is configured (see [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

func (GetObjectResultOutput) Expires

Date and time at which the object is no longer cacheable.

func (GetObjectResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetObjectResultOutput) Key

func (GetObjectResultOutput) LastModified

func (o GetObjectResultOutput) LastModified() pulumi.StringOutput

Last modified date of the object in RFC1123 format (e.g., `Mon, 02 Jan 2006 15:04:05 MST`)

func (GetObjectResultOutput) Metadata

Map of metadata stored with the object in S3. Keys are always returned in lowercase.

func (GetObjectResultOutput) ObjectLockLegalHoldStatus

func (o GetObjectResultOutput) ObjectLockLegalHoldStatus() pulumi.StringOutput

Indicates whether this object has an active [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds). This field is only returned if you have permission to view an object's legal hold status.

func (GetObjectResultOutput) ObjectLockMode

func (o GetObjectResultOutput) ObjectLockMode() pulumi.StringOutput

Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) currently in place for this object.

func (GetObjectResultOutput) ObjectLockRetainUntilDate

func (o GetObjectResultOutput) ObjectLockRetainUntilDate() pulumi.StringOutput

The date and time when this object's object lock will expire.

func (GetObjectResultOutput) Range

func (GetObjectResultOutput) Region

func (GetObjectResultOutput) ServerSideEncryption

func (o GetObjectResultOutput) ServerSideEncryption() pulumi.StringOutput

If the object is stored using server-side encryption (KMS or Amazon S3-managed encryption key), this field includes the chosen encryption and algorithm used.

func (GetObjectResultOutput) SseKmsKeyId

func (o GetObjectResultOutput) SseKmsKeyId() pulumi.StringOutput

If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.

func (GetObjectResultOutput) StorageClass

func (o GetObjectResultOutput) StorageClass() pulumi.StringOutput

[Storage class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) information of the object. Available for all objects except for `Standard` storage class objects.

func (GetObjectResultOutput) Tags

Map of tags assigned to the object.

func (GetObjectResultOutput) ToGetObjectResultOutput

func (o GetObjectResultOutput) ToGetObjectResultOutput() GetObjectResultOutput

func (GetObjectResultOutput) ToGetObjectResultOutputWithContext

func (o GetObjectResultOutput) ToGetObjectResultOutputWithContext(ctx context.Context) GetObjectResultOutput

func (GetObjectResultOutput) VersionId

Latest version ID of the object returned.

func (GetObjectResultOutput) WebsiteRedirectLocation

func (o GetObjectResultOutput) WebsiteRedirectLocation() pulumi.StringOutput

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

type GetObjectsArgs

type GetObjectsArgs struct {
	// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	Bucket string `pulumi:"bucket"`
	// Character used to group keys (Default: none)
	Delimiter *string `pulumi:"delimiter"`
	// Encodes keys using this method (Default: none; besides none, only "url" can be used)
	EncodingType *string `pulumi:"encodingType"`
	// Boolean specifying whether to populate the owner list (Default: false)
	FetchOwner *bool `pulumi:"fetchOwner"`
	// Maximum object keys to return (Default: 1000)
	MaxKeys *int `pulumi:"maxKeys"`
	// Limits results to object keys with this prefix (Default: none)
	Prefix *string `pulumi:"prefix"`
	// 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.
	Region *string `pulumi:"region"`
	// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`.
	RequestPayer *string `pulumi:"requestPayer"`
	// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
	StartAfter *string `pulumi:"startAfter"`
}

A collection of arguments for invoking getObjects.

type GetObjectsOutputArgs

type GetObjectsOutputArgs struct {
	// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Character used to group keys (Default: none)
	Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
	// Encodes keys using this method (Default: none; besides none, only "url" can be used)
	EncodingType pulumi.StringPtrInput `pulumi:"encodingType"`
	// Boolean specifying whether to populate the owner list (Default: false)
	FetchOwner pulumi.BoolPtrInput `pulumi:"fetchOwner"`
	// Maximum object keys to return (Default: 1000)
	MaxKeys pulumi.IntPtrInput `pulumi:"maxKeys"`
	// Limits results to object keys with this prefix (Default: none)
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`.
	RequestPayer pulumi.StringPtrInput `pulumi:"requestPayer"`
	// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
	StartAfter pulumi.StringPtrInput `pulumi:"startAfter"`
}

A collection of arguments for invoking getObjects.

func (GetObjectsOutputArgs) ElementType

func (GetObjectsOutputArgs) ElementType() reflect.Type

type GetObjectsResult

type GetObjectsResult struct {
	Bucket string `pulumi:"bucket"`
	// List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`
	CommonPrefixes []string `pulumi:"commonPrefixes"`
	Delimiter      *string  `pulumi:"delimiter"`
	EncodingType   *string  `pulumi:"encodingType"`
	FetchOwner     *bool    `pulumi:"fetchOwner"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// List of strings representing object keys
	Keys    []string `pulumi:"keys"`
	MaxKeys *int     `pulumi:"maxKeys"`
	// List of strings representing object owner IDs (see `fetchOwner` above)
	Owners []string `pulumi:"owners"`
	Prefix *string  `pulumi:"prefix"`
	Region string   `pulumi:"region"`
	// If present, indicates that the requester was successfully charged for the request.
	RequestCharged string  `pulumi:"requestCharged"`
	RequestPayer   *string `pulumi:"requestPayer"`
	StartAfter     *string `pulumi:"startAfter"`
}

A collection of values returned by getObjects.

func GetObjects

func GetObjects(ctx *pulumi.Context, args *GetObjectsArgs, opts ...pulumi.InvokeOption) (*GetObjectsResult, error)

> **NOTE on `maxKeys`:** Retrieving very large numbers of keys can adversely affect the provider's performance.

The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket.

type GetObjectsResultOutput

type GetObjectsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getObjects.

func (GetObjectsResultOutput) Bucket

func (GetObjectsResultOutput) CommonPrefixes

func (o GetObjectsResultOutput) CommonPrefixes() pulumi.StringArrayOutput

List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`

func (GetObjectsResultOutput) Delimiter

func (GetObjectsResultOutput) ElementType

func (GetObjectsResultOutput) ElementType() reflect.Type

func (GetObjectsResultOutput) EncodingType

func (GetObjectsResultOutput) FetchOwner

func (GetObjectsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetObjectsResultOutput) Keys

List of strings representing object keys

func (GetObjectsResultOutput) MaxKeys

func (GetObjectsResultOutput) Owners

List of strings representing object owner IDs (see `fetchOwner` above)

func (GetObjectsResultOutput) Prefix

func (GetObjectsResultOutput) Region

func (GetObjectsResultOutput) RequestCharged

func (o GetObjectsResultOutput) RequestCharged() pulumi.StringOutput

If present, indicates that the requester was successfully charged for the request.

func (GetObjectsResultOutput) RequestPayer

func (GetObjectsResultOutput) StartAfter

func (GetObjectsResultOutput) ToGetObjectsResultOutput

func (o GetObjectsResultOutput) ToGetObjectsResultOutput() GetObjectsResultOutput

func (GetObjectsResultOutput) ToGetObjectsResultOutputWithContext

func (o GetObjectsResultOutput) ToGetObjectsResultOutputWithContext(ctx context.Context) GetObjectsResultOutput

type Inventory

type Inventory struct {
	pulumi.CustomResourceState

	// Name of the source bucket that inventory lists the objects for.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Contains information about where to publish the inventory results (documented below).
	Destination InventoryDestinationOutput `pulumi:"destination"`
	// Specifies whether the inventory is enabled or disabled.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria (documented below).
	Filter InventoryFilterPtrOutput `pulumi:"filter"`
	// Object versions to include in the inventory list. Valid values: `All`, `Current`.
	IncludedObjectVersions pulumi.StringOutput `pulumi:"includedObjectVersions"`
	// Unique identifier of the inventory configuration for the bucket.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of optional fields that are included in the inventory results. Please refer to the S3 [documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_InventoryConfiguration.html#AmazonS3-Type-InventoryConfiguration-OptionalFields) for more details.
	OptionalFields pulumi.StringArrayOutput `pulumi:"optionalFields"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the schedule for generating inventory results (documented below).
	Schedule InventoryScheduleOutput `pulumi:"schedule"`
}

Provides a S3 bucket [inventory configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) resource.

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Add inventory configuration

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := s3.NewBucket(ctx, "test", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
		})
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucket(ctx, "inventory", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-inventory-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewInventory(ctx, "test", &s3.InventoryArgs{
			Bucket:                 test.ID(),
			Name:                   pulumi.String("EntireBucketDaily"),
			IncludedObjectVersions: pulumi.String("All"),
			Schedule: &s3.InventoryScheduleArgs{
				Frequency: pulumi.String("Daily"),
			},
			Destination: &s3.InventoryDestinationArgs{
				Bucket: &s3.InventoryDestinationBucketArgs{
					Format:    pulumi.String("ORC"),
					BucketArn: inventory.Arn,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Add inventory configuration with S3 object prefix

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := s3.NewBucket(ctx, "test", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
		})
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucket(ctx, "inventory", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-inventory-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewInventory(ctx, "test-prefix", &s3.InventoryArgs{
			Bucket:                 test.ID(),
			Name:                   pulumi.String("DocumentsWeekly"),
			IncludedObjectVersions: pulumi.String("All"),
			Schedule: &s3.InventoryScheduleArgs{
				Frequency: pulumi.String("Daily"),
			},
			Filter: &s3.InventoryFilterArgs{
				Prefix: pulumi.String("documents/"),
			},
			Destination: &s3.InventoryDestinationArgs{
				Bucket: &s3.InventoryDestinationBucketArgs{
					Format:    pulumi.String("ORC"),
					BucketArn: inventory.Arn,
					Prefix:    pulumi.String("inventory"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import S3 bucket inventory configurations using `bucket:inventory`. For example:

```sh $ pulumi import aws:s3/inventory:Inventory my-bucket-entire-bucket my-bucket:EntireBucket ```

func GetInventory

func GetInventory(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InventoryState, opts ...pulumi.ResourceOption) (*Inventory, error)

GetInventory gets an existing Inventory resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInventory

func NewInventory(ctx *pulumi.Context,
	name string, args *InventoryArgs, opts ...pulumi.ResourceOption) (*Inventory, error)

NewInventory registers a new resource with the given unique name, arguments, and options.

func (*Inventory) ElementType

func (*Inventory) ElementType() reflect.Type

func (*Inventory) ToInventoryOutput

func (i *Inventory) ToInventoryOutput() InventoryOutput

func (*Inventory) ToInventoryOutputWithContext

func (i *Inventory) ToInventoryOutputWithContext(ctx context.Context) InventoryOutput

type InventoryArgs

type InventoryArgs struct {
	// Name of the source bucket that inventory lists the objects for.
	Bucket pulumi.StringInput
	// Contains information about where to publish the inventory results (documented below).
	Destination InventoryDestinationInput
	// Specifies whether the inventory is enabled or disabled.
	Enabled pulumi.BoolPtrInput
	// Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria (documented below).
	Filter InventoryFilterPtrInput
	// Object versions to include in the inventory list. Valid values: `All`, `Current`.
	IncludedObjectVersions pulumi.StringInput
	// Unique identifier of the inventory configuration for the bucket.
	Name pulumi.StringPtrInput
	// List of optional fields that are included in the inventory results. Please refer to the S3 [documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_InventoryConfiguration.html#AmazonS3-Type-InventoryConfiguration-OptionalFields) for more details.
	OptionalFields pulumi.StringArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// Specifies the schedule for generating inventory results (documented below).
	Schedule InventoryScheduleInput
}

The set of arguments for constructing a Inventory resource.

func (InventoryArgs) ElementType

func (InventoryArgs) ElementType() reflect.Type

type InventoryArray

type InventoryArray []InventoryInput

func (InventoryArray) ElementType

func (InventoryArray) ElementType() reflect.Type

func (InventoryArray) ToInventoryArrayOutput

func (i InventoryArray) ToInventoryArrayOutput() InventoryArrayOutput

func (InventoryArray) ToInventoryArrayOutputWithContext

func (i InventoryArray) ToInventoryArrayOutputWithContext(ctx context.Context) InventoryArrayOutput

type InventoryArrayInput

type InventoryArrayInput interface {
	pulumi.Input

	ToInventoryArrayOutput() InventoryArrayOutput
	ToInventoryArrayOutputWithContext(context.Context) InventoryArrayOutput
}

InventoryArrayInput is an input type that accepts InventoryArray and InventoryArrayOutput values. You can construct a concrete instance of `InventoryArrayInput` via:

InventoryArray{ InventoryArgs{...} }

type InventoryArrayOutput

type InventoryArrayOutput struct{ *pulumi.OutputState }

func (InventoryArrayOutput) ElementType

func (InventoryArrayOutput) ElementType() reflect.Type

func (InventoryArrayOutput) Index

func (InventoryArrayOutput) ToInventoryArrayOutput

func (o InventoryArrayOutput) ToInventoryArrayOutput() InventoryArrayOutput

func (InventoryArrayOutput) ToInventoryArrayOutputWithContext

func (o InventoryArrayOutput) ToInventoryArrayOutputWithContext(ctx context.Context) InventoryArrayOutput

type InventoryDestination

type InventoryDestination struct {
	// S3 bucket configuration where inventory results are published (documented below).
	Bucket InventoryDestinationBucket `pulumi:"bucket"`
}

type InventoryDestinationArgs

type InventoryDestinationArgs struct {
	// S3 bucket configuration where inventory results are published (documented below).
	Bucket InventoryDestinationBucketInput `pulumi:"bucket"`
}

func (InventoryDestinationArgs) ElementType

func (InventoryDestinationArgs) ElementType() reflect.Type

func (InventoryDestinationArgs) ToInventoryDestinationOutput

func (i InventoryDestinationArgs) ToInventoryDestinationOutput() InventoryDestinationOutput

func (InventoryDestinationArgs) ToInventoryDestinationOutputWithContext

func (i InventoryDestinationArgs) ToInventoryDestinationOutputWithContext(ctx context.Context) InventoryDestinationOutput

func (InventoryDestinationArgs) ToInventoryDestinationPtrOutput

func (i InventoryDestinationArgs) ToInventoryDestinationPtrOutput() InventoryDestinationPtrOutput

func (InventoryDestinationArgs) ToInventoryDestinationPtrOutputWithContext

func (i InventoryDestinationArgs) ToInventoryDestinationPtrOutputWithContext(ctx context.Context) InventoryDestinationPtrOutput

type InventoryDestinationBucket

type InventoryDestinationBucket struct {
	// ID of the account that owns the destination bucket. Recommended to be set to prevent problems if the destination bucket ownership changes.
	AccountId *string `pulumi:"accountId"`
	// Amazon S3 bucket ARN of the destination.
	BucketArn string `pulumi:"bucketArn"`
	// Contains the type of server-side encryption to use to encrypt the inventory (documented below).
	Encryption *InventoryDestinationBucketEncryption `pulumi:"encryption"`
	// Specifies the output format of the inventory results. Can be `CSV`, [`ORC`](https://orc.apache.org/) or [`Parquet`](https://parquet.apache.org/).
	Format string `pulumi:"format"`
	// Prefix that is prepended to all inventory results.
	Prefix *string `pulumi:"prefix"`
}

type InventoryDestinationBucketArgs

type InventoryDestinationBucketArgs struct {
	// ID of the account that owns the destination bucket. Recommended to be set to prevent problems if the destination bucket ownership changes.
	AccountId pulumi.StringPtrInput `pulumi:"accountId"`
	// Amazon S3 bucket ARN of the destination.
	BucketArn pulumi.StringInput `pulumi:"bucketArn"`
	// Contains the type of server-side encryption to use to encrypt the inventory (documented below).
	Encryption InventoryDestinationBucketEncryptionPtrInput `pulumi:"encryption"`
	// Specifies the output format of the inventory results. Can be `CSV`, [`ORC`](https://orc.apache.org/) or [`Parquet`](https://parquet.apache.org/).
	Format pulumi.StringInput `pulumi:"format"`
	// Prefix that is prepended to all inventory results.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
}

func (InventoryDestinationBucketArgs) ElementType

func (InventoryDestinationBucketArgs) ToInventoryDestinationBucketOutput

func (i InventoryDestinationBucketArgs) ToInventoryDestinationBucketOutput() InventoryDestinationBucketOutput

func (InventoryDestinationBucketArgs) ToInventoryDestinationBucketOutputWithContext

func (i InventoryDestinationBucketArgs) ToInventoryDestinationBucketOutputWithContext(ctx context.Context) InventoryDestinationBucketOutput

func (InventoryDestinationBucketArgs) ToInventoryDestinationBucketPtrOutput

func (i InventoryDestinationBucketArgs) ToInventoryDestinationBucketPtrOutput() InventoryDestinationBucketPtrOutput

func (InventoryDestinationBucketArgs) ToInventoryDestinationBucketPtrOutputWithContext

func (i InventoryDestinationBucketArgs) ToInventoryDestinationBucketPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketPtrOutput

type InventoryDestinationBucketEncryption

type InventoryDestinationBucketEncryption struct {
	// Specifies to use server-side encryption with AWS KMS-managed keys to encrypt the inventory file (documented below).
	SseKms *InventoryDestinationBucketEncryptionSseKms `pulumi:"sseKms"`
	// Specifies to use server-side encryption with Amazon S3-managed keys (SSE-S3) to encrypt the inventory file.
	SseS3 *InventoryDestinationBucketEncryptionSseS3 `pulumi:"sseS3"`
}

type InventoryDestinationBucketEncryptionArgs

type InventoryDestinationBucketEncryptionArgs struct {
	// Specifies to use server-side encryption with AWS KMS-managed keys to encrypt the inventory file (documented below).
	SseKms InventoryDestinationBucketEncryptionSseKmsPtrInput `pulumi:"sseKms"`
	// Specifies to use server-side encryption with Amazon S3-managed keys (SSE-S3) to encrypt the inventory file.
	SseS3 InventoryDestinationBucketEncryptionSseS3PtrInput `pulumi:"sseS3"`
}

func (InventoryDestinationBucketEncryptionArgs) ElementType

func (InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionOutput

func (i InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionOutput() InventoryDestinationBucketEncryptionOutput

func (InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionOutputWithContext

func (i InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionOutput

func (InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionPtrOutput

func (i InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionPtrOutput() InventoryDestinationBucketEncryptionPtrOutput

func (InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionPtrOutputWithContext

func (i InventoryDestinationBucketEncryptionArgs) ToInventoryDestinationBucketEncryptionPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionPtrOutput

type InventoryDestinationBucketEncryptionInput

type InventoryDestinationBucketEncryptionInput interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionOutput() InventoryDestinationBucketEncryptionOutput
	ToInventoryDestinationBucketEncryptionOutputWithContext(context.Context) InventoryDestinationBucketEncryptionOutput
}

InventoryDestinationBucketEncryptionInput is an input type that accepts InventoryDestinationBucketEncryptionArgs and InventoryDestinationBucketEncryptionOutput values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionInput` via:

InventoryDestinationBucketEncryptionArgs{...}

type InventoryDestinationBucketEncryptionOutput

type InventoryDestinationBucketEncryptionOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionOutput) ElementType

func (InventoryDestinationBucketEncryptionOutput) SseKms

Specifies to use server-side encryption with AWS KMS-managed keys to encrypt the inventory file (documented below).

func (InventoryDestinationBucketEncryptionOutput) SseS3

Specifies to use server-side encryption with Amazon S3-managed keys (SSE-S3) to encrypt the inventory file.

func (InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionOutput

func (o InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionOutput() InventoryDestinationBucketEncryptionOutput

func (InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionOutputWithContext

func (o InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionOutput

func (InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionPtrOutput

func (o InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionPtrOutput() InventoryDestinationBucketEncryptionPtrOutput

func (InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionPtrOutputWithContext

func (o InventoryDestinationBucketEncryptionOutput) ToInventoryDestinationBucketEncryptionPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionPtrOutput

type InventoryDestinationBucketEncryptionPtrInput

type InventoryDestinationBucketEncryptionPtrInput interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionPtrOutput() InventoryDestinationBucketEncryptionPtrOutput
	ToInventoryDestinationBucketEncryptionPtrOutputWithContext(context.Context) InventoryDestinationBucketEncryptionPtrOutput
}

InventoryDestinationBucketEncryptionPtrInput is an input type that accepts InventoryDestinationBucketEncryptionArgs, InventoryDestinationBucketEncryptionPtr and InventoryDestinationBucketEncryptionPtrOutput values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionPtrInput` via:

        InventoryDestinationBucketEncryptionArgs{...}

or:

        nil

type InventoryDestinationBucketEncryptionPtrOutput

type InventoryDestinationBucketEncryptionPtrOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionPtrOutput) Elem

func (InventoryDestinationBucketEncryptionPtrOutput) ElementType

func (InventoryDestinationBucketEncryptionPtrOutput) SseKms

Specifies to use server-side encryption with AWS KMS-managed keys to encrypt the inventory file (documented below).

func (InventoryDestinationBucketEncryptionPtrOutput) SseS3

Specifies to use server-side encryption with Amazon S3-managed keys (SSE-S3) to encrypt the inventory file.

func (InventoryDestinationBucketEncryptionPtrOutput) ToInventoryDestinationBucketEncryptionPtrOutput

func (o InventoryDestinationBucketEncryptionPtrOutput) ToInventoryDestinationBucketEncryptionPtrOutput() InventoryDestinationBucketEncryptionPtrOutput

func (InventoryDestinationBucketEncryptionPtrOutput) ToInventoryDestinationBucketEncryptionPtrOutputWithContext

func (o InventoryDestinationBucketEncryptionPtrOutput) ToInventoryDestinationBucketEncryptionPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionPtrOutput

type InventoryDestinationBucketEncryptionSseKms

type InventoryDestinationBucketEncryptionSseKms struct {
	// ARN of the KMS customer master key (CMK) used to encrypt the inventory file.
	KeyId string `pulumi:"keyId"`
}

type InventoryDestinationBucketEncryptionSseKmsArgs

type InventoryDestinationBucketEncryptionSseKmsArgs struct {
	// ARN of the KMS customer master key (CMK) used to encrypt the inventory file.
	KeyId pulumi.StringInput `pulumi:"keyId"`
}

func (InventoryDestinationBucketEncryptionSseKmsArgs) ElementType

func (InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsOutput

func (i InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsOutput() InventoryDestinationBucketEncryptionSseKmsOutput

func (InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsOutputWithContext

func (i InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseKmsOutput

func (InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput

func (i InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput() InventoryDestinationBucketEncryptionSseKmsPtrOutput

func (InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext

func (i InventoryDestinationBucketEncryptionSseKmsArgs) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseKmsPtrOutput

type InventoryDestinationBucketEncryptionSseKmsInput

type InventoryDestinationBucketEncryptionSseKmsInput interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionSseKmsOutput() InventoryDestinationBucketEncryptionSseKmsOutput
	ToInventoryDestinationBucketEncryptionSseKmsOutputWithContext(context.Context) InventoryDestinationBucketEncryptionSseKmsOutput
}

InventoryDestinationBucketEncryptionSseKmsInput is an input type that accepts InventoryDestinationBucketEncryptionSseKmsArgs and InventoryDestinationBucketEncryptionSseKmsOutput values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionSseKmsInput` via:

InventoryDestinationBucketEncryptionSseKmsArgs{...}

type InventoryDestinationBucketEncryptionSseKmsOutput

type InventoryDestinationBucketEncryptionSseKmsOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionSseKmsOutput) ElementType

func (InventoryDestinationBucketEncryptionSseKmsOutput) KeyId

ARN of the KMS customer master key (CMK) used to encrypt the inventory file.

func (InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsOutput

func (o InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsOutput() InventoryDestinationBucketEncryptionSseKmsOutput

func (InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsOutputWithContext

func (o InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseKmsOutput

func (InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput

func (o InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput() InventoryDestinationBucketEncryptionSseKmsPtrOutput

func (InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext

func (o InventoryDestinationBucketEncryptionSseKmsOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseKmsPtrOutput

type InventoryDestinationBucketEncryptionSseKmsPtrInput

type InventoryDestinationBucketEncryptionSseKmsPtrInput interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionSseKmsPtrOutput() InventoryDestinationBucketEncryptionSseKmsPtrOutput
	ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext(context.Context) InventoryDestinationBucketEncryptionSseKmsPtrOutput
}

InventoryDestinationBucketEncryptionSseKmsPtrInput is an input type that accepts InventoryDestinationBucketEncryptionSseKmsArgs, InventoryDestinationBucketEncryptionSseKmsPtr and InventoryDestinationBucketEncryptionSseKmsPtrOutput values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionSseKmsPtrInput` via:

        InventoryDestinationBucketEncryptionSseKmsArgs{...}

or:

        nil

type InventoryDestinationBucketEncryptionSseKmsPtrOutput

type InventoryDestinationBucketEncryptionSseKmsPtrOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionSseKmsPtrOutput) Elem

func (InventoryDestinationBucketEncryptionSseKmsPtrOutput) ElementType

func (InventoryDestinationBucketEncryptionSseKmsPtrOutput) KeyId

ARN of the KMS customer master key (CMK) used to encrypt the inventory file.

func (InventoryDestinationBucketEncryptionSseKmsPtrOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput

func (o InventoryDestinationBucketEncryptionSseKmsPtrOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutput() InventoryDestinationBucketEncryptionSseKmsPtrOutput

func (InventoryDestinationBucketEncryptionSseKmsPtrOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext

func (o InventoryDestinationBucketEncryptionSseKmsPtrOutput) ToInventoryDestinationBucketEncryptionSseKmsPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseKmsPtrOutput

type InventoryDestinationBucketEncryptionSseS3

type InventoryDestinationBucketEncryptionSseS3 struct {
}

type InventoryDestinationBucketEncryptionSseS3Args

type InventoryDestinationBucketEncryptionSseS3Args struct {
}

func (InventoryDestinationBucketEncryptionSseS3Args) ElementType

func (InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3Output

func (i InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3Output() InventoryDestinationBucketEncryptionSseS3Output

func (InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3OutputWithContext

func (i InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3OutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseS3Output

func (InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3PtrOutput

func (i InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3PtrOutput() InventoryDestinationBucketEncryptionSseS3PtrOutput

func (InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext

func (i InventoryDestinationBucketEncryptionSseS3Args) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseS3PtrOutput

type InventoryDestinationBucketEncryptionSseS3Input

type InventoryDestinationBucketEncryptionSseS3Input interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionSseS3Output() InventoryDestinationBucketEncryptionSseS3Output
	ToInventoryDestinationBucketEncryptionSseS3OutputWithContext(context.Context) InventoryDestinationBucketEncryptionSseS3Output
}

InventoryDestinationBucketEncryptionSseS3Input is an input type that accepts InventoryDestinationBucketEncryptionSseS3Args and InventoryDestinationBucketEncryptionSseS3Output values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionSseS3Input` via:

InventoryDestinationBucketEncryptionSseS3Args{...}

type InventoryDestinationBucketEncryptionSseS3Output

type InventoryDestinationBucketEncryptionSseS3Output struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionSseS3Output) ElementType

func (InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3Output

func (o InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3Output() InventoryDestinationBucketEncryptionSseS3Output

func (InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3OutputWithContext

func (o InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3OutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseS3Output

func (InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3PtrOutput

func (o InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3PtrOutput() InventoryDestinationBucketEncryptionSseS3PtrOutput

func (InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext

func (o InventoryDestinationBucketEncryptionSseS3Output) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseS3PtrOutput

type InventoryDestinationBucketEncryptionSseS3PtrInput

type InventoryDestinationBucketEncryptionSseS3PtrInput interface {
	pulumi.Input

	ToInventoryDestinationBucketEncryptionSseS3PtrOutput() InventoryDestinationBucketEncryptionSseS3PtrOutput
	ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext(context.Context) InventoryDestinationBucketEncryptionSseS3PtrOutput
}

InventoryDestinationBucketEncryptionSseS3PtrInput is an input type that accepts InventoryDestinationBucketEncryptionSseS3Args, InventoryDestinationBucketEncryptionSseS3Ptr and InventoryDestinationBucketEncryptionSseS3PtrOutput values. You can construct a concrete instance of `InventoryDestinationBucketEncryptionSseS3PtrInput` via:

        InventoryDestinationBucketEncryptionSseS3Args{...}

or:

        nil

type InventoryDestinationBucketEncryptionSseS3PtrOutput

type InventoryDestinationBucketEncryptionSseS3PtrOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketEncryptionSseS3PtrOutput) Elem

func (InventoryDestinationBucketEncryptionSseS3PtrOutput) ElementType

func (InventoryDestinationBucketEncryptionSseS3PtrOutput) ToInventoryDestinationBucketEncryptionSseS3PtrOutput

func (o InventoryDestinationBucketEncryptionSseS3PtrOutput) ToInventoryDestinationBucketEncryptionSseS3PtrOutput() InventoryDestinationBucketEncryptionSseS3PtrOutput

func (InventoryDestinationBucketEncryptionSseS3PtrOutput) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext

func (o InventoryDestinationBucketEncryptionSseS3PtrOutput) ToInventoryDestinationBucketEncryptionSseS3PtrOutputWithContext(ctx context.Context) InventoryDestinationBucketEncryptionSseS3PtrOutput

type InventoryDestinationBucketInput

type InventoryDestinationBucketInput interface {
	pulumi.Input

	ToInventoryDestinationBucketOutput() InventoryDestinationBucketOutput
	ToInventoryDestinationBucketOutputWithContext(context.Context) InventoryDestinationBucketOutput
}

InventoryDestinationBucketInput is an input type that accepts InventoryDestinationBucketArgs and InventoryDestinationBucketOutput values. You can construct a concrete instance of `InventoryDestinationBucketInput` via:

InventoryDestinationBucketArgs{...}

type InventoryDestinationBucketOutput

type InventoryDestinationBucketOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketOutput) AccountId

ID of the account that owns the destination bucket. Recommended to be set to prevent problems if the destination bucket ownership changes.

func (InventoryDestinationBucketOutput) BucketArn

Amazon S3 bucket ARN of the destination.

func (InventoryDestinationBucketOutput) ElementType

func (InventoryDestinationBucketOutput) Encryption

Contains the type of server-side encryption to use to encrypt the inventory (documented below).

func (InventoryDestinationBucketOutput) Format

Specifies the output format of the inventory results. Can be `CSV`, [`ORC`](https://orc.apache.org/) or [`Parquet`](https://parquet.apache.org/).

func (InventoryDestinationBucketOutput) Prefix

Prefix that is prepended to all inventory results.

func (InventoryDestinationBucketOutput) ToInventoryDestinationBucketOutput

func (o InventoryDestinationBucketOutput) ToInventoryDestinationBucketOutput() InventoryDestinationBucketOutput

func (InventoryDestinationBucketOutput) ToInventoryDestinationBucketOutputWithContext

func (o InventoryDestinationBucketOutput) ToInventoryDestinationBucketOutputWithContext(ctx context.Context) InventoryDestinationBucketOutput

func (InventoryDestinationBucketOutput) ToInventoryDestinationBucketPtrOutput

func (o InventoryDestinationBucketOutput) ToInventoryDestinationBucketPtrOutput() InventoryDestinationBucketPtrOutput

func (InventoryDestinationBucketOutput) ToInventoryDestinationBucketPtrOutputWithContext

func (o InventoryDestinationBucketOutput) ToInventoryDestinationBucketPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketPtrOutput

type InventoryDestinationBucketPtrInput

type InventoryDestinationBucketPtrInput interface {
	pulumi.Input

	ToInventoryDestinationBucketPtrOutput() InventoryDestinationBucketPtrOutput
	ToInventoryDestinationBucketPtrOutputWithContext(context.Context) InventoryDestinationBucketPtrOutput
}

InventoryDestinationBucketPtrInput is an input type that accepts InventoryDestinationBucketArgs, InventoryDestinationBucketPtr and InventoryDestinationBucketPtrOutput values. You can construct a concrete instance of `InventoryDestinationBucketPtrInput` via:

        InventoryDestinationBucketArgs{...}

or:

        nil

type InventoryDestinationBucketPtrOutput

type InventoryDestinationBucketPtrOutput struct{ *pulumi.OutputState }

func (InventoryDestinationBucketPtrOutput) AccountId

ID of the account that owns the destination bucket. Recommended to be set to prevent problems if the destination bucket ownership changes.

func (InventoryDestinationBucketPtrOutput) BucketArn

Amazon S3 bucket ARN of the destination.

func (InventoryDestinationBucketPtrOutput) Elem

func (InventoryDestinationBucketPtrOutput) ElementType

func (InventoryDestinationBucketPtrOutput) Encryption

Contains the type of server-side encryption to use to encrypt the inventory (documented below).

func (InventoryDestinationBucketPtrOutput) Format

Specifies the output format of the inventory results. Can be `CSV`, [`ORC`](https://orc.apache.org/) or [`Parquet`](https://parquet.apache.org/).

func (InventoryDestinationBucketPtrOutput) Prefix

Prefix that is prepended to all inventory results.

func (InventoryDestinationBucketPtrOutput) ToInventoryDestinationBucketPtrOutput

func (o InventoryDestinationBucketPtrOutput) ToInventoryDestinationBucketPtrOutput() InventoryDestinationBucketPtrOutput

func (InventoryDestinationBucketPtrOutput) ToInventoryDestinationBucketPtrOutputWithContext

func (o InventoryDestinationBucketPtrOutput) ToInventoryDestinationBucketPtrOutputWithContext(ctx context.Context) InventoryDestinationBucketPtrOutput

type InventoryDestinationInput

type InventoryDestinationInput interface {
	pulumi.Input

	ToInventoryDestinationOutput() InventoryDestinationOutput
	ToInventoryDestinationOutputWithContext(context.Context) InventoryDestinationOutput
}

InventoryDestinationInput is an input type that accepts InventoryDestinationArgs and InventoryDestinationOutput values. You can construct a concrete instance of `InventoryDestinationInput` via:

InventoryDestinationArgs{...}

type InventoryDestinationOutput

type InventoryDestinationOutput struct{ *pulumi.OutputState }

func (InventoryDestinationOutput) Bucket

S3 bucket configuration where inventory results are published (documented below).

func (InventoryDestinationOutput) ElementType

func (InventoryDestinationOutput) ElementType() reflect.Type

func (InventoryDestinationOutput) ToInventoryDestinationOutput

func (o InventoryDestinationOutput) ToInventoryDestinationOutput() InventoryDestinationOutput

func (InventoryDestinationOutput) ToInventoryDestinationOutputWithContext

func (o InventoryDestinationOutput) ToInventoryDestinationOutputWithContext(ctx context.Context) InventoryDestinationOutput

func (InventoryDestinationOutput) ToInventoryDestinationPtrOutput

func (o InventoryDestinationOutput) ToInventoryDestinationPtrOutput() InventoryDestinationPtrOutput

func (InventoryDestinationOutput) ToInventoryDestinationPtrOutputWithContext

func (o InventoryDestinationOutput) ToInventoryDestinationPtrOutputWithContext(ctx context.Context) InventoryDestinationPtrOutput

type InventoryDestinationPtrInput

type InventoryDestinationPtrInput interface {
	pulumi.Input

	ToInventoryDestinationPtrOutput() InventoryDestinationPtrOutput
	ToInventoryDestinationPtrOutputWithContext(context.Context) InventoryDestinationPtrOutput
}

InventoryDestinationPtrInput is an input type that accepts InventoryDestinationArgs, InventoryDestinationPtr and InventoryDestinationPtrOutput values. You can construct a concrete instance of `InventoryDestinationPtrInput` via:

        InventoryDestinationArgs{...}

or:

        nil

type InventoryDestinationPtrOutput

type InventoryDestinationPtrOutput struct{ *pulumi.OutputState }

func (InventoryDestinationPtrOutput) Bucket

S3 bucket configuration where inventory results are published (documented below).

func (InventoryDestinationPtrOutput) Elem

func (InventoryDestinationPtrOutput) ElementType

func (InventoryDestinationPtrOutput) ToInventoryDestinationPtrOutput

func (o InventoryDestinationPtrOutput) ToInventoryDestinationPtrOutput() InventoryDestinationPtrOutput

func (InventoryDestinationPtrOutput) ToInventoryDestinationPtrOutputWithContext

func (o InventoryDestinationPtrOutput) ToInventoryDestinationPtrOutputWithContext(ctx context.Context) InventoryDestinationPtrOutput

type InventoryFilter

type InventoryFilter struct {
	// Prefix that an object must have to be included in the inventory results.
	Prefix *string `pulumi:"prefix"`
}

type InventoryFilterArgs

type InventoryFilterArgs struct {
	// Prefix that an object must have to be included in the inventory results.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
}

func (InventoryFilterArgs) ElementType

func (InventoryFilterArgs) ElementType() reflect.Type

func (InventoryFilterArgs) ToInventoryFilterOutput

func (i InventoryFilterArgs) ToInventoryFilterOutput() InventoryFilterOutput

func (InventoryFilterArgs) ToInventoryFilterOutputWithContext

func (i InventoryFilterArgs) ToInventoryFilterOutputWithContext(ctx context.Context) InventoryFilterOutput

func (InventoryFilterArgs) ToInventoryFilterPtrOutput

func (i InventoryFilterArgs) ToInventoryFilterPtrOutput() InventoryFilterPtrOutput

func (InventoryFilterArgs) ToInventoryFilterPtrOutputWithContext

func (i InventoryFilterArgs) ToInventoryFilterPtrOutputWithContext(ctx context.Context) InventoryFilterPtrOutput

type InventoryFilterInput

type InventoryFilterInput interface {
	pulumi.Input

	ToInventoryFilterOutput() InventoryFilterOutput
	ToInventoryFilterOutputWithContext(context.Context) InventoryFilterOutput
}

InventoryFilterInput is an input type that accepts InventoryFilterArgs and InventoryFilterOutput values. You can construct a concrete instance of `InventoryFilterInput` via:

InventoryFilterArgs{...}

type InventoryFilterOutput

type InventoryFilterOutput struct{ *pulumi.OutputState }

func (InventoryFilterOutput) ElementType

func (InventoryFilterOutput) ElementType() reflect.Type

func (InventoryFilterOutput) Prefix

Prefix that an object must have to be included in the inventory results.

func (InventoryFilterOutput) ToInventoryFilterOutput

func (o InventoryFilterOutput) ToInventoryFilterOutput() InventoryFilterOutput

func (InventoryFilterOutput) ToInventoryFilterOutputWithContext

func (o InventoryFilterOutput) ToInventoryFilterOutputWithContext(ctx context.Context) InventoryFilterOutput

func (InventoryFilterOutput) ToInventoryFilterPtrOutput

func (o InventoryFilterOutput) ToInventoryFilterPtrOutput() InventoryFilterPtrOutput

func (InventoryFilterOutput) ToInventoryFilterPtrOutputWithContext

func (o InventoryFilterOutput) ToInventoryFilterPtrOutputWithContext(ctx context.Context) InventoryFilterPtrOutput

type InventoryFilterPtrInput

type InventoryFilterPtrInput interface {
	pulumi.Input

	ToInventoryFilterPtrOutput() InventoryFilterPtrOutput
	ToInventoryFilterPtrOutputWithContext(context.Context) InventoryFilterPtrOutput
}

InventoryFilterPtrInput is an input type that accepts InventoryFilterArgs, InventoryFilterPtr and InventoryFilterPtrOutput values. You can construct a concrete instance of `InventoryFilterPtrInput` via:

        InventoryFilterArgs{...}

or:

        nil

type InventoryFilterPtrOutput

type InventoryFilterPtrOutput struct{ *pulumi.OutputState }

func (InventoryFilterPtrOutput) Elem

func (InventoryFilterPtrOutput) ElementType

func (InventoryFilterPtrOutput) ElementType() reflect.Type

func (InventoryFilterPtrOutput) Prefix

Prefix that an object must have to be included in the inventory results.

func (InventoryFilterPtrOutput) ToInventoryFilterPtrOutput

func (o InventoryFilterPtrOutput) ToInventoryFilterPtrOutput() InventoryFilterPtrOutput

func (InventoryFilterPtrOutput) ToInventoryFilterPtrOutputWithContext

func (o InventoryFilterPtrOutput) ToInventoryFilterPtrOutputWithContext(ctx context.Context) InventoryFilterPtrOutput

type InventoryInput

type InventoryInput interface {
	pulumi.Input

	ToInventoryOutput() InventoryOutput
	ToInventoryOutputWithContext(ctx context.Context) InventoryOutput
}

type InventoryMap

type InventoryMap map[string]InventoryInput

func (InventoryMap) ElementType

func (InventoryMap) ElementType() reflect.Type

func (InventoryMap) ToInventoryMapOutput

func (i InventoryMap) ToInventoryMapOutput() InventoryMapOutput

func (InventoryMap) ToInventoryMapOutputWithContext

func (i InventoryMap) ToInventoryMapOutputWithContext(ctx context.Context) InventoryMapOutput

type InventoryMapInput

type InventoryMapInput interface {
	pulumi.Input

	ToInventoryMapOutput() InventoryMapOutput
	ToInventoryMapOutputWithContext(context.Context) InventoryMapOutput
}

InventoryMapInput is an input type that accepts InventoryMap and InventoryMapOutput values. You can construct a concrete instance of `InventoryMapInput` via:

InventoryMap{ "key": InventoryArgs{...} }

type InventoryMapOutput

type InventoryMapOutput struct{ *pulumi.OutputState }

func (InventoryMapOutput) ElementType

func (InventoryMapOutput) ElementType() reflect.Type

func (InventoryMapOutput) MapIndex

func (InventoryMapOutput) ToInventoryMapOutput

func (o InventoryMapOutput) ToInventoryMapOutput() InventoryMapOutput

func (InventoryMapOutput) ToInventoryMapOutputWithContext

func (o InventoryMapOutput) ToInventoryMapOutputWithContext(ctx context.Context) InventoryMapOutput

type InventoryOutput

type InventoryOutput struct{ *pulumi.OutputState }

func (InventoryOutput) Bucket

func (o InventoryOutput) Bucket() pulumi.StringOutput

Name of the source bucket that inventory lists the objects for.

func (InventoryOutput) Destination

Contains information about where to publish the inventory results (documented below).

func (InventoryOutput) ElementType

func (InventoryOutput) ElementType() reflect.Type

func (InventoryOutput) Enabled

func (o InventoryOutput) Enabled() pulumi.BoolPtrOutput

Specifies whether the inventory is enabled or disabled.

func (InventoryOutput) Filter

Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria (documented below).

func (InventoryOutput) IncludedObjectVersions

func (o InventoryOutput) IncludedObjectVersions() pulumi.StringOutput

Object versions to include in the inventory list. Valid values: `All`, `Current`.

func (InventoryOutput) Name

Unique identifier of the inventory configuration for the bucket.

func (InventoryOutput) OptionalFields

func (o InventoryOutput) OptionalFields() pulumi.StringArrayOutput

List of optional fields that are included in the inventory results. Please refer to the S3 [documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_InventoryConfiguration.html#AmazonS3-Type-InventoryConfiguration-OptionalFields) for more details.

func (InventoryOutput) Region

func (o InventoryOutput) Region() pulumi.StringOutput

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.

func (InventoryOutput) Schedule

Specifies the schedule for generating inventory results (documented below).

func (InventoryOutput) ToInventoryOutput

func (o InventoryOutput) ToInventoryOutput() InventoryOutput

func (InventoryOutput) ToInventoryOutputWithContext

func (o InventoryOutput) ToInventoryOutputWithContext(ctx context.Context) InventoryOutput

type InventorySchedule

type InventorySchedule struct {
	// Specifies how frequently inventory results are produced. Valid values: `Daily`, `Weekly`.
	Frequency string `pulumi:"frequency"`
}

type InventoryScheduleArgs

type InventoryScheduleArgs struct {
	// Specifies how frequently inventory results are produced. Valid values: `Daily`, `Weekly`.
	Frequency pulumi.StringInput `pulumi:"frequency"`
}

func (InventoryScheduleArgs) ElementType

func (InventoryScheduleArgs) ElementType() reflect.Type

func (InventoryScheduleArgs) ToInventoryScheduleOutput

func (i InventoryScheduleArgs) ToInventoryScheduleOutput() InventoryScheduleOutput

func (InventoryScheduleArgs) ToInventoryScheduleOutputWithContext

func (i InventoryScheduleArgs) ToInventoryScheduleOutputWithContext(ctx context.Context) InventoryScheduleOutput

func (InventoryScheduleArgs) ToInventorySchedulePtrOutput

func (i InventoryScheduleArgs) ToInventorySchedulePtrOutput() InventorySchedulePtrOutput

func (InventoryScheduleArgs) ToInventorySchedulePtrOutputWithContext

func (i InventoryScheduleArgs) ToInventorySchedulePtrOutputWithContext(ctx context.Context) InventorySchedulePtrOutput

type InventoryScheduleInput

type InventoryScheduleInput interface {
	pulumi.Input

	ToInventoryScheduleOutput() InventoryScheduleOutput
	ToInventoryScheduleOutputWithContext(context.Context) InventoryScheduleOutput
}

InventoryScheduleInput is an input type that accepts InventoryScheduleArgs and InventoryScheduleOutput values. You can construct a concrete instance of `InventoryScheduleInput` via:

InventoryScheduleArgs{...}

type InventoryScheduleOutput

type InventoryScheduleOutput struct{ *pulumi.OutputState }

func (InventoryScheduleOutput) ElementType

func (InventoryScheduleOutput) ElementType() reflect.Type

func (InventoryScheduleOutput) Frequency

Specifies how frequently inventory results are produced. Valid values: `Daily`, `Weekly`.

func (InventoryScheduleOutput) ToInventoryScheduleOutput

func (o InventoryScheduleOutput) ToInventoryScheduleOutput() InventoryScheduleOutput

func (InventoryScheduleOutput) ToInventoryScheduleOutputWithContext

func (o InventoryScheduleOutput) ToInventoryScheduleOutputWithContext(ctx context.Context) InventoryScheduleOutput

func (InventoryScheduleOutput) ToInventorySchedulePtrOutput

func (o InventoryScheduleOutput) ToInventorySchedulePtrOutput() InventorySchedulePtrOutput

func (InventoryScheduleOutput) ToInventorySchedulePtrOutputWithContext

func (o InventoryScheduleOutput) ToInventorySchedulePtrOutputWithContext(ctx context.Context) InventorySchedulePtrOutput

type InventorySchedulePtrInput

type InventorySchedulePtrInput interface {
	pulumi.Input

	ToInventorySchedulePtrOutput() InventorySchedulePtrOutput
	ToInventorySchedulePtrOutputWithContext(context.Context) InventorySchedulePtrOutput
}

InventorySchedulePtrInput is an input type that accepts InventoryScheduleArgs, InventorySchedulePtr and InventorySchedulePtrOutput values. You can construct a concrete instance of `InventorySchedulePtrInput` via:

        InventoryScheduleArgs{...}

or:

        nil

type InventorySchedulePtrOutput

type InventorySchedulePtrOutput struct{ *pulumi.OutputState }

func (InventorySchedulePtrOutput) Elem

func (InventorySchedulePtrOutput) ElementType

func (InventorySchedulePtrOutput) ElementType() reflect.Type

func (InventorySchedulePtrOutput) Frequency

Specifies how frequently inventory results are produced. Valid values: `Daily`, `Weekly`.

func (InventorySchedulePtrOutput) ToInventorySchedulePtrOutput

func (o InventorySchedulePtrOutput) ToInventorySchedulePtrOutput() InventorySchedulePtrOutput

func (InventorySchedulePtrOutput) ToInventorySchedulePtrOutputWithContext

func (o InventorySchedulePtrOutput) ToInventorySchedulePtrOutputWithContext(ctx context.Context) InventorySchedulePtrOutput

type InventoryState

type InventoryState struct {
	// Name of the source bucket that inventory lists the objects for.
	Bucket pulumi.StringPtrInput
	// Contains information about where to publish the inventory results (documented below).
	Destination InventoryDestinationPtrInput
	// Specifies whether the inventory is enabled or disabled.
	Enabled pulumi.BoolPtrInput
	// Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria (documented below).
	Filter InventoryFilterPtrInput
	// Object versions to include in the inventory list. Valid values: `All`, `Current`.
	IncludedObjectVersions pulumi.StringPtrInput
	// Unique identifier of the inventory configuration for the bucket.
	Name pulumi.StringPtrInput
	// List of optional fields that are included in the inventory results. Please refer to the S3 [documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_InventoryConfiguration.html#AmazonS3-Type-InventoryConfiguration-OptionalFields) for more details.
	OptionalFields pulumi.StringArrayInput
	// 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.
	Region pulumi.StringPtrInput
	// Specifies the schedule for generating inventory results (documented below).
	Schedule InventorySchedulePtrInput
}

func (InventoryState) ElementType

func (InventoryState) ElementType() reflect.Type

type LookupAccountPublicAccessBlockArgs

type LookupAccountPublicAccessBlockArgs struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the AWS provider.
	AccountId *string `pulumi:"accountId"`
}

A collection of arguments for invoking getAccountPublicAccessBlock.

type LookupAccountPublicAccessBlockOutputArgs

type LookupAccountPublicAccessBlockOutputArgs struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the AWS provider.
	AccountId pulumi.StringPtrInput `pulumi:"accountId"`
}

A collection of arguments for invoking getAccountPublicAccessBlock.

func (LookupAccountPublicAccessBlockOutputArgs) ElementType

type LookupAccountPublicAccessBlockResult

type LookupAccountPublicAccessBlockResult struct {
	AccountId *string `pulumi:"accountId"`
	// Whether or not Amazon S3 should block public ACLs for buckets in this account is enabled. Returns as `true` or `false`.
	BlockPublicAcls bool `pulumi:"blockPublicAcls"`
	// Whether or not Amazon S3 should block public bucket policies for buckets in this account is enabled. Returns as `true` or `false`.
	BlockPublicPolicy bool `pulumi:"blockPublicPolicy"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Whether or not Amazon S3 should ignore public ACLs for buckets in this account is enabled. Returns as `true` or `false`.
	IgnorePublicAcls bool `pulumi:"ignorePublicAcls"`
	// Whether or not Amazon S3 should restrict public bucket policies for buckets in this account is enabled. Returns as `true` or `false`.
	RestrictPublicBuckets bool `pulumi:"restrictPublicBuckets"`
}

A collection of values returned by getAccountPublicAccessBlock.

func LookupAccountPublicAccessBlock

The S3 account public access block data source returns account-level public access block configuration.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.LookupAccountPublicAccessBlock(ctx, &s3.LookupAccountPublicAccessBlockArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAccountPublicAccessBlockResultOutput

type LookupAccountPublicAccessBlockResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccountPublicAccessBlock.

func (LookupAccountPublicAccessBlockResultOutput) AccountId

func (LookupAccountPublicAccessBlockResultOutput) BlockPublicAcls

Whether or not Amazon S3 should block public ACLs for buckets in this account is enabled. Returns as `true` or `false`.

func (LookupAccountPublicAccessBlockResultOutput) BlockPublicPolicy

Whether or not Amazon S3 should block public bucket policies for buckets in this account is enabled. Returns as `true` or `false`.

func (LookupAccountPublicAccessBlockResultOutput) ElementType

func (LookupAccountPublicAccessBlockResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupAccountPublicAccessBlockResultOutput) IgnorePublicAcls

Whether or not Amazon S3 should ignore public ACLs for buckets in this account is enabled. Returns as `true` or `false`.

func (LookupAccountPublicAccessBlockResultOutput) RestrictPublicBuckets

Whether or not Amazon S3 should restrict public bucket policies for buckets in this account is enabled. Returns as `true` or `false`.

func (LookupAccountPublicAccessBlockResultOutput) ToLookupAccountPublicAccessBlockResultOutput

func (o LookupAccountPublicAccessBlockResultOutput) ToLookupAccountPublicAccessBlockResultOutput() LookupAccountPublicAccessBlockResultOutput

func (LookupAccountPublicAccessBlockResultOutput) ToLookupAccountPublicAccessBlockResultOutputWithContext

func (o LookupAccountPublicAccessBlockResultOutput) ToLookupAccountPublicAccessBlockResultOutputWithContext(ctx context.Context) LookupAccountPublicAccessBlockResultOutput

type LookupBucketArgs

type LookupBucketArgs struct {
	// Name of the bucket
	Bucket string `pulumi:"bucket"`
	// 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.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getBucket.

type LookupBucketObjectArgs

type LookupBucketObjectArgs struct {
	// Name of the bucket to read the object from. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	//
	// Deprecated: bucket is deprecated. Use the s3.BucketObjectv2 data source instead.
	Bucket string `pulumi:"bucket"`
	// Full path to the object inside the bucket
	Key   string  `pulumi:"key"`
	Range *string `pulumi:"range"`
	// 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.
	Region *string `pulumi:"region"`
	// Map of tags assigned to the object.
	Tags map[string]string `pulumi:"tags"`
	// Specific version ID of the object returned (defaults to latest version)
	VersionId *string `pulumi:"versionId"`
}

A collection of arguments for invoking getBucketObject.

type LookupBucketObjectOutputArgs

type LookupBucketObjectOutputArgs struct {
	// Name of the bucket to read the object from. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
	//
	// Deprecated: bucket is deprecated. Use the s3.BucketObjectv2 data source instead.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Full path to the object inside the bucket
	Key   pulumi.StringInput    `pulumi:"key"`
	Range pulumi.StringPtrInput `pulumi:"range"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Map of tags assigned to the object.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specific version ID of the object returned (defaults to latest version)
	VersionId pulumi.StringPtrInput `pulumi:"versionId"`
}

A collection of arguments for invoking getBucketObject.

func (LookupBucketObjectOutputArgs) ElementType

type LookupBucketObjectResult

type LookupBucketObjectResult struct {
	Arn string `pulumi:"arn"`
	// Object data (see **limitations above** to understand cases in which this field is actually available)
	Body string `pulumi:"body"`
	// Deprecated: bucket is deprecated. Use the s3.BucketObjectv2 data source instead.
	Bucket string `pulumi:"bucket"`
	// (Optional) Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
	BucketKeyEnabled bool `pulumi:"bucketKeyEnabled"`
	// Caching behavior along the request/reply chain.
	CacheControl string `pulumi:"cacheControl"`
	// Presentational information for the object.
	ContentDisposition string `pulumi:"contentDisposition"`
	// What content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.
	ContentEncoding string `pulumi:"contentEncoding"`
	// Language the content is in.
	ContentLanguage string `pulumi:"contentLanguage"`
	// Size of the body in bytes.
	ContentLength int `pulumi:"contentLength"`
	// Standard MIME type describing the format of the object data.
	ContentType string `pulumi:"contentType"`
	// [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted)
	Etag string `pulumi:"etag"`
	// If the object expiration is configured (see [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.
	Expiration string `pulumi:"expiration"`
	// Date and time at which the object is no longer cacheable.
	Expires string `pulumi:"expires"`
	// The provider-assigned unique ID for this managed resource.
	Id  string `pulumi:"id"`
	Key string `pulumi:"key"`
	// Last modified date of the object in RFC1123 format (e.g., `Mon, 02 Jan 2006 15:04:05 MST`)
	LastModified string `pulumi:"lastModified"`
	// Map of metadata stored with the object in S3. Keys are always returned in lowercase.
	Metadata map[string]string `pulumi:"metadata"`
	// Indicates whether this object has an active [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds). This field is only returned if you have permission to view an object's legal hold status.
	ObjectLockLegalHoldStatus string `pulumi:"objectLockLegalHoldStatus"`
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) currently in place for this object.
	ObjectLockMode string `pulumi:"objectLockMode"`
	// The date and time when this object's object lock will expire.
	ObjectLockRetainUntilDate string  `pulumi:"objectLockRetainUntilDate"`
	Range                     *string `pulumi:"range"`
	Region                    string  `pulumi:"region"`
	// If the object is stored using server-side encryption (KMS or Amazon S3-managed encryption key), this field includes the chosen encryption and algorithm used.
	ServerSideEncryption string `pulumi:"serverSideEncryption"`
	// If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.
	SseKmsKeyId string `pulumi:"sseKmsKeyId"`
	// [Storage class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) information of the object. Available for all objects except for `Standard` storage class objects.
	StorageClass string `pulumi:"storageClass"`
	// Map of tags assigned to the object.
	Tags map[string]string `pulumi:"tags"`
	// Latest version ID of the object returned.
	VersionId string `pulumi:"versionId"`
	// If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.
	WebsiteRedirectLocation string `pulumi:"websiteRedirectLocation"`
}

A collection of values returned by getBucketObject.

func LookupBucketObject

func LookupBucketObject(ctx *pulumi.Context, args *LookupBucketObjectArgs, opts ...pulumi.InvokeOption) (*LookupBucketObjectResult, error)

> **NOTE:** The `s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `s3.BucketObjectv2` instead, where new features and fixes will be added.

The S3 object data source allows access to the metadata and _optionally_ (see below) content of an object stored inside S3 bucket.

> **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`:

* `text/*` * `application/json` * `application/ld+json` * `application/x-httpd-php` * `application/xhtml+xml` * `application/x-csh` * `application/x-sh` * `application/xml` * `application/atom+xml` * `application/x-sql`

This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.

## Example Usage

The following example retrieves a text object (which must have a `Content-Type` value starting with `text/`) and uses it as the `userData` for an EC2 instance:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bootstrapScript, err := s3.LookupBucketObject(ctx, &s3.LookupBucketObjectArgs{
			Bucket: "ourcorp-deploy-config",
			Key:    "ec2-bootstrap-script.sh",
		}, nil)
		if err != nil {
			return err
		}
		_, err = ec2.NewInstance(ctx, "example", &ec2.InstanceArgs{
			InstanceType: pulumi.String(ec2.InstanceType_T2_Micro),
			Ami:          pulumi.String("ami-2757f631"),
			UserData:     pulumi.String(bootstrapScript.Body),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

The following, more-complex example retrieves only the metadata for a zip file stored in S3, which is then used to pass the most recent `versionId` to AWS Lambda for use as a function implementation. More information about Lambda functions is available in the documentation for `lambda.Function`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		lambda, err := s3.LookupBucketObject(ctx, &s3.LookupBucketObjectArgs{
			Bucket: "ourcorp-lambda-functions",
			Key:    "hello-world.zip",
		}, nil)
		if err != nil {
			return err
		}
		_, err = lambda.NewFunction(ctx, "test_lambda", &lambda.FunctionArgs{
			S3Bucket:        pulumi.String(lambda.Id),
			S3Key:           pulumi.String(lambda.Key),
			S3ObjectVersion: pulumi.String(lambda.VersionId),
			Name:            pulumi.String("lambda_function_name"),
			Role:            pulumi.Any(iamForLambda.Arn),
			Handler:         pulumi.String("exports.test"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBucketObjectResultOutput

type LookupBucketObjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObject.

func (LookupBucketObjectResultOutput) Arn

func (LookupBucketObjectResultOutput) Body

Object data (see **limitations above** to understand cases in which this field is actually available)

func (LookupBucketObjectResultOutput) Bucket deprecated

Deprecated: bucket is deprecated. Use the s3.BucketObjectv2 data source instead.

func (LookupBucketObjectResultOutput) BucketKeyEnabled

func (o LookupBucketObjectResultOutput) BucketKeyEnabled() pulumi.BoolOutput

(Optional) Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.

func (LookupBucketObjectResultOutput) CacheControl

Caching behavior along the request/reply chain.

func (LookupBucketObjectResultOutput) ContentDisposition

func (o LookupBucketObjectResultOutput) ContentDisposition() pulumi.StringOutput

Presentational information for the object.

func (LookupBucketObjectResultOutput) ContentEncoding

What content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

func (LookupBucketObjectResultOutput) ContentLanguage

Language the content is in.

func (LookupBucketObjectResultOutput) ContentLength

Size of the body in bytes.

func (LookupBucketObjectResultOutput) ContentType

Standard MIME type describing the format of the object data.

func (LookupBucketObjectResultOutput) ElementType

func (LookupBucketObjectResultOutput) Etag

[ETag](https://en.wikipedia.org/wiki/HTTP_ETag) generated for the object (an MD5 sum of the object content in case it's not encrypted)

func (LookupBucketObjectResultOutput) Expiration

If the object expiration is configured (see [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

func (LookupBucketObjectResultOutput) Expires

Date and time at which the object is no longer cacheable.

func (LookupBucketObjectResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketObjectResultOutput) Key

func (LookupBucketObjectResultOutput) LastModified

Last modified date of the object in RFC1123 format (e.g., `Mon, 02 Jan 2006 15:04:05 MST`)

func (LookupBucketObjectResultOutput) Metadata

Map of metadata stored with the object in S3. Keys are always returned in lowercase.

func (LookupBucketObjectResultOutput) ObjectLockLegalHoldStatus

func (o LookupBucketObjectResultOutput) ObjectLockLegalHoldStatus() pulumi.StringOutput

Indicates whether this object has an active [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds). This field is only returned if you have permission to view an object's legal hold status.

func (LookupBucketObjectResultOutput) ObjectLockMode

Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) currently in place for this object.

func (LookupBucketObjectResultOutput) ObjectLockRetainUntilDate

func (o LookupBucketObjectResultOutput) ObjectLockRetainUntilDate() pulumi.StringOutput

The date and time when this object's object lock will expire.

func (LookupBucketObjectResultOutput) Range

func (LookupBucketObjectResultOutput) Region

func (LookupBucketObjectResultOutput) ServerSideEncryption

func (o LookupBucketObjectResultOutput) ServerSideEncryption() pulumi.StringOutput

If the object is stored using server-side encryption (KMS or Amazon S3-managed encryption key), this field includes the chosen encryption and algorithm used.

func (LookupBucketObjectResultOutput) SseKmsKeyId

If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.

func (LookupBucketObjectResultOutput) StorageClass

[Storage class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) information of the object. Available for all objects except for `Standard` storage class objects.

func (LookupBucketObjectResultOutput) Tags

Map of tags assigned to the object.

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput() LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext(ctx context.Context) LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) VersionId

Latest version ID of the object returned.

func (LookupBucketObjectResultOutput) WebsiteRedirectLocation

func (o LookupBucketObjectResultOutput) WebsiteRedirectLocation() pulumi.StringOutput

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

type LookupBucketOutputArgs

type LookupBucketOutputArgs struct {
	// Name of the bucket
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getBucket.

func (LookupBucketOutputArgs) ElementType

func (LookupBucketOutputArgs) ElementType() reflect.Type

type LookupBucketPolicyArgs

type LookupBucketPolicyArgs struct {
	// Bucket name.
	Bucket string `pulumi:"bucket"`
	// 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.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getBucketPolicy.

type LookupBucketPolicyOutputArgs

type LookupBucketPolicyOutputArgs struct {
	// Bucket name.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// 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.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getBucketPolicy.

func (LookupBucketPolicyOutputArgs) ElementType

type LookupBucketPolicyResult

type LookupBucketPolicyResult struct {
	Bucket string `pulumi:"bucket"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// IAM bucket policy.
	Policy string `pulumi:"policy"`
	Region string `pulumi:"region"`
}

A collection of values returned by getBucketPolicy.

func LookupBucketPolicy

func LookupBucketPolicy(ctx *pulumi.Context, args *LookupBucketPolicyArgs, opts ...pulumi.InvokeOption) (*LookupBucketPolicyResult, error)

The bucket policy data source returns IAM policy of an S3 bucket.

## Example Usage

The following example retrieves IAM policy of a specified S3 bucket.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.LookupBucketPolicy(ctx, &s3.LookupBucketPolicyArgs{
			Bucket: "example-bucket-name",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("foo", example.Policy)
		return nil
	})
}

```

type LookupBucketPolicyResultOutput

type LookupBucketPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketPolicy.

func (LookupBucketPolicyResultOutput) Bucket

func (LookupBucketPolicyResultOutput) ElementType

func (LookupBucketPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketPolicyResultOutput) Policy

IAM bucket policy.

func (LookupBucketPolicyResultOutput) Region

func (LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutput

func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutput() LookupBucketPolicyResultOutput

func (LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutputWithContext

func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutputWithContext(ctx context.Context) LookupBucketPolicyResultOutput

type LookupBucketResult

type LookupBucketResult struct {
	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn    string `pulumi:"arn"`
	Bucket string `pulumi:"bucket"`
	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
	BucketDomainName string `pulumi:"bucketDomainName"`
	// AWS region this bucket resides in.
	BucketRegion string `pulumi:"bucketRegion"`
	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
	BucketRegionalDomainName string `pulumi:"bucketRegionalDomainName"`
	// The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
	HostedZoneId string `pulumi:"hostedZoneId"`
	// The provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Region string `pulumi:"region"`
	// Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records.
	WebsiteDomain string `pulumi:"websiteDomain"`
	// Website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint string `pulumi:"websiteEndpoint"`
}

A collection of values returned by getBucket.

func LookupBucket

func LookupBucket(ctx *pulumi.Context, args *LookupBucketArgs, opts ...pulumi.InvokeOption) (*LookupBucketResult, error)

Provides details about a specific S3 bucket.

This resource may prove useful when setting up a Route53 record, or an origin for a CloudFront Distribution.

## Example Usage

### Route53 Record

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		selected, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "bucket.test.com",
		}, nil)
		if err != nil {
			return err
		}
		testZone, err := route53.LookupZone(ctx, &route53.LookupZoneArgs{
			Name: pulumi.StringRef("test.com."),
		}, nil)
		if err != nil {
			return err
		}
		_, err = route53.NewRecord(ctx, "example", &route53.RecordArgs{
			ZoneId: pulumi.String(testZone.Id),
			Name:   pulumi.String("bucket"),
			Type:   pulumi.String(route53.RecordTypeA),
			Aliases: route53.RecordAliasArray{
				&route53.RecordAliasArgs{
					Name:   pulumi.String(selected.WebsiteDomain),
					ZoneId: pulumi.String(selected.HostedZoneId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### CloudFront Origin

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		selected, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "a-test-bucket",
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfront.NewDistribution(ctx, "test", &cloudfront.DistributionArgs{
			Origins: cloudfront.DistributionOriginArray{
				&cloudfront.DistributionOriginArgs{
					DomainName: pulumi.String(selected.BucketDomainName),
					OriginId:   pulumi.String("s3-selected-bucket"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBucketResultOutput

type LookupBucketResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucket.

func (LookupBucketResultOutput) Arn

ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.

func (LookupBucketResultOutput) Bucket

func (LookupBucketResultOutput) BucketDomainName

func (o LookupBucketResultOutput) BucketDomainName() pulumi.StringOutput

Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.

func (LookupBucketResultOutput) BucketRegion

func (o LookupBucketResultOutput) BucketRegion() pulumi.StringOutput

AWS region this bucket resides in.

func (LookupBucketResultOutput) BucketRegionalDomainName

func (o LookupBucketResultOutput) BucketRegionalDomainName() pulumi.StringOutput

The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.

func (LookupBucketResultOutput) ElementType

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) HostedZoneId

func (o LookupBucketResultOutput) HostedZoneId() pulumi.StringOutput

The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.

func (LookupBucketResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketResultOutput) Region

func (LookupBucketResultOutput) ToLookupBucketResultOutput

func (o LookupBucketResultOutput) ToLookupBucketResultOutput() LookupBucketResultOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutputWithContext

func (o LookupBucketResultOutput) ToLookupBucketResultOutputWithContext(ctx context.Context) LookupBucketResultOutput

func (LookupBucketResultOutput) WebsiteDomain

func (o LookupBucketResultOutput) WebsiteDomain() pulumi.StringOutput

Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records.

func (LookupBucketResultOutput) WebsiteEndpoint

func (o LookupBucketResultOutput) WebsiteEndpoint() pulumi.StringOutput

Website endpoint, if the bucket is configured with a website. If not, this will be an empty string.

type ObjectCopy

type ObjectCopy struct {
	pulumi.CustomResourceState

	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`.
	Acl pulumi.StringOutput `pulumi:"acl"`
	// ARN of the object.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the bucket to put the file in.
	Bucket           pulumi.StringOutput `pulumi:"bucket"`
	BucketKeyEnabled pulumi.BoolOutput   `pulumi:"bucketKeyEnabled"`
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringOutput `pulumi:"cacheControl"`
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME` `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrOutput `pulumi:"checksumAlgorithm"`
	// The base64-encoded, 32-bit CRC32 checksum of the object.
	ChecksumCrc32 pulumi.StringOutput `pulumi:"checksumCrc32"`
	// The base64-encoded, 32-bit CRC32C checksum of the object.
	ChecksumCrc32c pulumi.StringOutput `pulumi:"checksumCrc32c"`
	// The base64-encoded, 64-bit CRC64NVME checksum of the object.
	ChecksumCrc64nvme pulumi.StringOutput `pulumi:"checksumCrc64nvme"`
	// The base64-encoded, 160-bit SHA-1 digest of the object.
	ChecksumSha1 pulumi.StringOutput `pulumi:"checksumSha1"`
	// The base64-encoded, 256-bit SHA-256 digest of the object.
	ChecksumSha256 pulumi.StringOutput `pulumi:"checksumSha256"`
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringOutput `pulumi:"contentDisposition"`
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringOutput `pulumi:"contentEncoding"`
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringOutput `pulumi:"contentLanguage"`
	// Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopyIfMatch pulumi.StringPtrOutput `pulumi:"copyIfMatch"`
	// Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfModifiedSince pulumi.StringPtrOutput `pulumi:"copyIfModifiedSince"`
	// Copies the object if its entity tag (ETag) is different than the specified ETag.
	CopyIfNoneMatch pulumi.StringPtrOutput `pulumi:"copyIfNoneMatch"`
	// Copies the object if it hasn't been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfUnmodifiedSince pulumi.StringPtrOutput `pulumi:"copyIfUnmodifiedSince"`
	// Specifies the algorithm to use to when encrypting the object (for example, AES256).
	CustomerAlgorithm pulumi.StringOutput `pulumi:"customerAlgorithm"`
	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.
	CustomerKey pulumi.StringPtrOutput `pulumi:"customerKey"`
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	CustomerKeyMd5 pulumi.StringOutput `pulumi:"customerKeyMd5"`
	// ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html).
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// Account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedSourceBucketOwner pulumi.StringPtrOutput `pulumi:"expectedSourceBucketOwner"`
	// If the object expiration is configured, this attribute will be set.
	Expiration pulumi.StringOutput `pulumi:"expiration"`
	// Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	Expires pulumi.StringPtrOutput `pulumi:"expires"`
	// Allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Configuration block for header grants. Documented below. Conflicts with `acl`.
	Grants ObjectCopyGrantArrayOutput `pulumi:"grants"`
	// Name of the object once it is in the bucket.
	Key pulumi.StringOutput `pulumi:"key"`
	// Specifies the AWS KMS Encryption Context to use for object encryption. The value is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
	KmsEncryptionContext pulumi.StringOutput `pulumi:"kmsEncryptionContext"`
	// Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn`
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LastModified pulumi.StringOutput `pulumi:"lastModified"`
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`.
	MetadataDirective pulumi.StringPtrOutput `pulumi:"metadataDirective"`
	// The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringOutput `pulumi:"objectLockLegalHoldStatus"`
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringOutput `pulumi:"objectLockMode"`
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringOutput                 `pulumi:"objectLockRetainUntilDate"`
	OverrideProvider          ObjectCopyOverrideProviderPtrOutput `pulumi:"overrideProvider"`
	// 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.
	Region pulumi.StringOutput `pulumi:"region"`
	// If present, indicates that the requester was successfully charged for the request.
	RequestCharged pulumi.BoolOutput `pulumi:"requestCharged"`
	// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If included, the only valid value is `requester`.
	RequestPayer pulumi.StringPtrOutput `pulumi:"requestPayer"`
	// Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`.
	ServerSideEncryption pulumi.StringOutput `pulumi:"serverSideEncryption"`
	// Specifies the source object for the copy operation. You specify the value in one of two formats. For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (`/`). For example, `testbucket/test1.json`. For objects accessed through access points, specify the ARN of the object as accessed through the access point, in the format `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/object/testbucket/test1.json`.
	//
	// The following arguments are optional:
	Source pulumi.StringOutput `pulumi:"source"`
	// Specifies the algorithm to use when decrypting the source object (for example, AES256).
	SourceCustomerAlgorithm pulumi.StringPtrOutput `pulumi:"sourceCustomerAlgorithm"`
	// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.
	SourceCustomerKey pulumi.StringPtrOutput `pulumi:"sourceCustomerKey"`
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	SourceCustomerKeyMd5 pulumi.StringPtrOutput `pulumi:"sourceCustomerKeyMd5"`
	// Version of the copied object in the source bucket.
	SourceVersionId pulumi.StringOutput `pulumi:"sourceVersionId"`
	// Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`.
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`.
	TaggingDirective pulumi.StringPtrOutput `pulumi:"taggingDirective"`
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Version ID of the newly created copy.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect pulumi.StringOutput `pulumi:"websiteRedirect"`
}

Provides a resource for copying an S3 object.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewObjectCopy(ctx, "test", &s3.ObjectCopyArgs{
			Bucket: pulumi.String("destination_bucket"),
			Key:    pulumi.String("destination_key"),
			Source: pulumi.String("source_bucket/source_key"),
			Grants: s3.ObjectCopyGrantArray{
				&s3.ObjectCopyGrantArgs{
					Uri:  pulumi.String("http://acs.amazonaws.com/groups/global/AllUsers"),
					Type: pulumi.String("Group"),
					Permissions: pulumi.StringArray{
						pulumi.String("READ"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Ignoring Provider `defaultTags`

S3 objects support a [maximum of 10 tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). If the resource's own `tags` and the provider-level `defaultTags` would together lead to more than 10 tags on an S3 object copy, use the `overrideProvider` configuration block to suppress any provider-level `defaultTags`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewObjectCopy(ctx, "test", &s3.ObjectCopyArgs{
			Bucket: pulumi.String("destination_bucket"),
			Key:    pulumi.String("destination_key"),
			Source: pulumi.String("source_bucket/source_key"),
			OverrideProvider: &s3.ObjectCopyOverrideProviderArgs{
				DefaultTags: &s3.ObjectCopyOverrideProviderDefaultTagsArgs{
					Tags: pulumi.StringMap{},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetObjectCopy

func GetObjectCopy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectCopyState, opts ...pulumi.ResourceOption) (*ObjectCopy, error)

GetObjectCopy gets an existing ObjectCopy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewObjectCopy

func NewObjectCopy(ctx *pulumi.Context,
	name string, args *ObjectCopyArgs, opts ...pulumi.ResourceOption) (*ObjectCopy, error)

NewObjectCopy registers a new resource with the given unique name, arguments, and options.

func (*ObjectCopy) ElementType

func (*ObjectCopy) ElementType() reflect.Type

func (*ObjectCopy) ToObjectCopyOutput

func (i *ObjectCopy) ToObjectCopyOutput() ObjectCopyOutput

func (*ObjectCopy) ToObjectCopyOutputWithContext

func (i *ObjectCopy) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput

type ObjectCopyArgs

type ObjectCopyArgs struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`.
	Acl pulumi.StringPtrInput
	// Name of the bucket to put the file in.
	Bucket           pulumi.StringInput
	BucketKeyEnabled pulumi.BoolPtrInput
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME` `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrInput
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopyIfMatch pulumi.StringPtrInput
	// Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfModifiedSince pulumi.StringPtrInput
	// Copies the object if its entity tag (ETag) is different than the specified ETag.
	CopyIfNoneMatch pulumi.StringPtrInput
	// Copies the object if it hasn't been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfUnmodifiedSince pulumi.StringPtrInput
	// Specifies the algorithm to use to when encrypting the object (for example, AES256).
	CustomerAlgorithm pulumi.StringPtrInput
	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.
	CustomerKey pulumi.StringPtrInput
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	CustomerKeyMd5 pulumi.StringPtrInput
	// Account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedSourceBucketOwner pulumi.StringPtrInput
	// Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	Expires pulumi.StringPtrInput
	// Allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Configuration block for header grants. Documented below. Conflicts with `acl`.
	Grants ObjectCopyGrantArrayInput
	// Name of the object once it is in the bucket.
	Key pulumi.StringInput
	// Specifies the AWS KMS Encryption Context to use for object encryption. The value is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
	KmsEncryptionContext pulumi.StringPtrInput
	// Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn`
	KmsKeyId pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`.
	MetadataDirective pulumi.StringPtrInput
	// The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	OverrideProvider          ObjectCopyOverrideProviderPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If included, the only valid value is `requester`.
	RequestPayer pulumi.StringPtrInput
	// Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`.
	ServerSideEncryption pulumi.StringPtrInput
	// Specifies the source object for the copy operation. You specify the value in one of two formats. For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (`/`). For example, `testbucket/test1.json`. For objects accessed through access points, specify the ARN of the object as accessed through the access point, in the format `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/object/testbucket/test1.json`.
	//
	// The following arguments are optional:
	Source pulumi.StringInput
	// Specifies the algorithm to use when decrypting the source object (for example, AES256).
	SourceCustomerAlgorithm pulumi.StringPtrInput
	// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.
	SourceCustomerKey pulumi.StringPtrInput
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	SourceCustomerKeyMd5 pulumi.StringPtrInput
	// Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`.
	StorageClass pulumi.StringPtrInput
	// Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`.
	TaggingDirective pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect pulumi.StringPtrInput
}

The set of arguments for constructing a ObjectCopy resource.

func (ObjectCopyArgs) ElementType

func (ObjectCopyArgs) ElementType() reflect.Type

type ObjectCopyArray

type ObjectCopyArray []ObjectCopyInput

func (ObjectCopyArray) ElementType

func (ObjectCopyArray) ElementType() reflect.Type

func (ObjectCopyArray) ToObjectCopyArrayOutput

func (i ObjectCopyArray) ToObjectCopyArrayOutput() ObjectCopyArrayOutput

func (ObjectCopyArray) ToObjectCopyArrayOutputWithContext

func (i ObjectCopyArray) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput

type ObjectCopyArrayInput

type ObjectCopyArrayInput interface {
	pulumi.Input

	ToObjectCopyArrayOutput() ObjectCopyArrayOutput
	ToObjectCopyArrayOutputWithContext(context.Context) ObjectCopyArrayOutput
}

ObjectCopyArrayInput is an input type that accepts ObjectCopyArray and ObjectCopyArrayOutput values. You can construct a concrete instance of `ObjectCopyArrayInput` via:

ObjectCopyArray{ ObjectCopyArgs{...} }

type ObjectCopyArrayOutput

type ObjectCopyArrayOutput struct{ *pulumi.OutputState }

func (ObjectCopyArrayOutput) ElementType

func (ObjectCopyArrayOutput) ElementType() reflect.Type

func (ObjectCopyArrayOutput) Index

func (ObjectCopyArrayOutput) ToObjectCopyArrayOutput

func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutput() ObjectCopyArrayOutput

func (ObjectCopyArrayOutput) ToObjectCopyArrayOutputWithContext

func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput

type ObjectCopyGrant

type ObjectCopyGrant struct {
	// Email address of the grantee. Used only when `type` is `AmazonCustomerByEmail`.
	Email *string `pulumi:"email"`
	// Canonical user ID of the grantee. Used only when `type` is `CanonicalUser`.
	Id *string `pulumi:"id"`
	// List of permissions to grant to grantee. Valid values are `READ`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.
	Permissions []string `pulumi:"permissions"`
	// Type of grantee. Valid values are `CanonicalUser`, `Group`, and `AmazonCustomerByEmail`.
	//
	// This configuration block has the following optional arguments (one of the three is required):
	Type string `pulumi:"type"`
	// URI of the grantee group. Used only when `type` is `Group`.
	Uri *string `pulumi:"uri"`
}

type ObjectCopyGrantArgs

type ObjectCopyGrantArgs struct {
	// Email address of the grantee. Used only when `type` is `AmazonCustomerByEmail`.
	Email pulumi.StringPtrInput `pulumi:"email"`
	// Canonical user ID of the grantee. Used only when `type` is `CanonicalUser`.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// List of permissions to grant to grantee. Valid values are `READ`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.
	Permissions pulumi.StringArrayInput `pulumi:"permissions"`
	// Type of grantee. Valid values are `CanonicalUser`, `Group`, and `AmazonCustomerByEmail`.
	//
	// This configuration block has the following optional arguments (one of the three is required):
	Type pulumi.StringInput `pulumi:"type"`
	// URI of the grantee group. Used only when `type` is `Group`.
	Uri pulumi.StringPtrInput `pulumi:"uri"`
}

func (ObjectCopyGrantArgs) ElementType

func (ObjectCopyGrantArgs) ElementType() reflect.Type

func (ObjectCopyGrantArgs) ToObjectCopyGrantOutput

func (i ObjectCopyGrantArgs) ToObjectCopyGrantOutput() ObjectCopyGrantOutput

func (ObjectCopyGrantArgs) ToObjectCopyGrantOutputWithContext

func (i ObjectCopyGrantArgs) ToObjectCopyGrantOutputWithContext(ctx context.Context) ObjectCopyGrantOutput

type ObjectCopyGrantArray

type ObjectCopyGrantArray []ObjectCopyGrantInput

func (ObjectCopyGrantArray) ElementType

func (ObjectCopyGrantArray) ElementType() reflect.Type

func (ObjectCopyGrantArray) ToObjectCopyGrantArrayOutput

func (i ObjectCopyGrantArray) ToObjectCopyGrantArrayOutput() ObjectCopyGrantArrayOutput

func (ObjectCopyGrantArray) ToObjectCopyGrantArrayOutputWithContext

func (i ObjectCopyGrantArray) ToObjectCopyGrantArrayOutputWithContext(ctx context.Context) ObjectCopyGrantArrayOutput

type ObjectCopyGrantArrayInput

type ObjectCopyGrantArrayInput interface {
	pulumi.Input

	ToObjectCopyGrantArrayOutput() ObjectCopyGrantArrayOutput
	ToObjectCopyGrantArrayOutputWithContext(context.Context) ObjectCopyGrantArrayOutput
}

ObjectCopyGrantArrayInput is an input type that accepts ObjectCopyGrantArray and ObjectCopyGrantArrayOutput values. You can construct a concrete instance of `ObjectCopyGrantArrayInput` via:

ObjectCopyGrantArray{ ObjectCopyGrantArgs{...} }

type ObjectCopyGrantArrayOutput

type ObjectCopyGrantArrayOutput struct{ *pulumi.OutputState }

func (ObjectCopyGrantArrayOutput) ElementType

func (ObjectCopyGrantArrayOutput) ElementType() reflect.Type

func (ObjectCopyGrantArrayOutput) Index

func (ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutput

func (o ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutput() ObjectCopyGrantArrayOutput

func (ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutputWithContext

func (o ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutputWithContext(ctx context.Context) ObjectCopyGrantArrayOutput

type ObjectCopyGrantInput

type ObjectCopyGrantInput interface {
	pulumi.Input

	ToObjectCopyGrantOutput() ObjectCopyGrantOutput
	ToObjectCopyGrantOutputWithContext(context.Context) ObjectCopyGrantOutput
}

ObjectCopyGrantInput is an input type that accepts ObjectCopyGrantArgs and ObjectCopyGrantOutput values. You can construct a concrete instance of `ObjectCopyGrantInput` via:

ObjectCopyGrantArgs{...}

type ObjectCopyGrantOutput

type ObjectCopyGrantOutput struct{ *pulumi.OutputState }

func (ObjectCopyGrantOutput) ElementType

func (ObjectCopyGrantOutput) ElementType() reflect.Type

func (ObjectCopyGrantOutput) Email

Email address of the grantee. Used only when `type` is `AmazonCustomerByEmail`.

func (ObjectCopyGrantOutput) Id

Canonical user ID of the grantee. Used only when `type` is `CanonicalUser`.

func (ObjectCopyGrantOutput) Permissions

List of permissions to grant to grantee. Valid values are `READ`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.

func (ObjectCopyGrantOutput) ToObjectCopyGrantOutput

func (o ObjectCopyGrantOutput) ToObjectCopyGrantOutput() ObjectCopyGrantOutput

func (ObjectCopyGrantOutput) ToObjectCopyGrantOutputWithContext

func (o ObjectCopyGrantOutput) ToObjectCopyGrantOutputWithContext(ctx context.Context) ObjectCopyGrantOutput

func (ObjectCopyGrantOutput) Type

Type of grantee. Valid values are `CanonicalUser`, `Group`, and `AmazonCustomerByEmail`.

This configuration block has the following optional arguments (one of the three is required):

func (ObjectCopyGrantOutput) Uri

URI of the grantee group. Used only when `type` is `Group`.

type ObjectCopyInput

type ObjectCopyInput interface {
	pulumi.Input

	ToObjectCopyOutput() ObjectCopyOutput
	ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput
}

type ObjectCopyMap

type ObjectCopyMap map[string]ObjectCopyInput

func (ObjectCopyMap) ElementType

func (ObjectCopyMap) ElementType() reflect.Type

func (ObjectCopyMap) ToObjectCopyMapOutput

func (i ObjectCopyMap) ToObjectCopyMapOutput() ObjectCopyMapOutput

func (ObjectCopyMap) ToObjectCopyMapOutputWithContext

func (i ObjectCopyMap) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput

type ObjectCopyMapInput

type ObjectCopyMapInput interface {
	pulumi.Input

	ToObjectCopyMapOutput() ObjectCopyMapOutput
	ToObjectCopyMapOutputWithContext(context.Context) ObjectCopyMapOutput
}

ObjectCopyMapInput is an input type that accepts ObjectCopyMap and ObjectCopyMapOutput values. You can construct a concrete instance of `ObjectCopyMapInput` via:

ObjectCopyMap{ "key": ObjectCopyArgs{...} }

type ObjectCopyMapOutput

type ObjectCopyMapOutput struct{ *pulumi.OutputState }

func (ObjectCopyMapOutput) ElementType

func (ObjectCopyMapOutput) ElementType() reflect.Type

func (ObjectCopyMapOutput) MapIndex

func (ObjectCopyMapOutput) ToObjectCopyMapOutput

func (o ObjectCopyMapOutput) ToObjectCopyMapOutput() ObjectCopyMapOutput

func (ObjectCopyMapOutput) ToObjectCopyMapOutputWithContext

func (o ObjectCopyMapOutput) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput

type ObjectCopyOutput

type ObjectCopyOutput struct{ *pulumi.OutputState }

func (ObjectCopyOutput) Acl

[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`.

func (ObjectCopyOutput) Arn

ARN of the object.

func (ObjectCopyOutput) Bucket

Name of the bucket to put the file in.

func (ObjectCopyOutput) BucketKeyEnabled

func (o ObjectCopyOutput) BucketKeyEnabled() pulumi.BoolOutput

func (ObjectCopyOutput) CacheControl

func (o ObjectCopyOutput) CacheControl() pulumi.StringOutput

Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.

func (ObjectCopyOutput) ChecksumAlgorithm

func (o ObjectCopyOutput) ChecksumAlgorithm() pulumi.StringPtrOutput

Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME` `SHA1`, `SHA256`.

func (ObjectCopyOutput) ChecksumCrc32

func (o ObjectCopyOutput) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (ObjectCopyOutput) ChecksumCrc32c

func (o ObjectCopyOutput) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (ObjectCopyOutput) ChecksumCrc64nvme

func (o ObjectCopyOutput) ChecksumCrc64nvme() pulumi.StringOutput

The base64-encoded, 64-bit CRC64NVME checksum of the object.

func (ObjectCopyOutput) ChecksumSha1

func (o ObjectCopyOutput) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (ObjectCopyOutput) ChecksumSha256

func (o ObjectCopyOutput) ChecksumSha256() pulumi.StringOutput

The base64-encoded, 256-bit SHA-256 digest of the object.

func (ObjectCopyOutput) ContentDisposition

func (o ObjectCopyOutput) ContentDisposition() pulumi.StringOutput

Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.

func (ObjectCopyOutput) ContentEncoding

func (o ObjectCopyOutput) ContentEncoding() pulumi.StringOutput

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.

func (ObjectCopyOutput) ContentLanguage

func (o ObjectCopyOutput) ContentLanguage() pulumi.StringOutput

Language the content is in e.g., en-US or en-GB.

func (ObjectCopyOutput) ContentType

func (o ObjectCopyOutput) ContentType() pulumi.StringOutput

Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input.

func (ObjectCopyOutput) CopyIfMatch

func (o ObjectCopyOutput) CopyIfMatch() pulumi.StringPtrOutput

Copies the object if its entity tag (ETag) matches the specified tag.

func (ObjectCopyOutput) CopyIfModifiedSince

func (o ObjectCopyOutput) CopyIfModifiedSince() pulumi.StringPtrOutput

Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (ObjectCopyOutput) CopyIfNoneMatch

func (o ObjectCopyOutput) CopyIfNoneMatch() pulumi.StringPtrOutput

Copies the object if its entity tag (ETag) is different than the specified ETag.

func (ObjectCopyOutput) CopyIfUnmodifiedSince

func (o ObjectCopyOutput) CopyIfUnmodifiedSince() pulumi.StringPtrOutput

Copies the object if it hasn't been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (ObjectCopyOutput) CustomerAlgorithm

func (o ObjectCopyOutput) CustomerAlgorithm() pulumi.StringOutput

Specifies the algorithm to use to when encrypting the object (for example, AES256).

func (ObjectCopyOutput) CustomerKey

func (o ObjectCopyOutput) CustomerKey() pulumi.StringPtrOutput

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.

func (ObjectCopyOutput) CustomerKeyMd5

func (o ObjectCopyOutput) CustomerKeyMd5() pulumi.StringOutput

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

func (ObjectCopyOutput) ElementType

func (ObjectCopyOutput) ElementType() reflect.Type

func (ObjectCopyOutput) Etag

ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html).

func (ObjectCopyOutput) ExpectedBucketOwner

func (o ObjectCopyOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

Account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

func (ObjectCopyOutput) ExpectedSourceBucketOwner

func (o ObjectCopyOutput) ExpectedSourceBucketOwner() pulumi.StringPtrOutput

Account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

func (ObjectCopyOutput) Expiration

func (o ObjectCopyOutput) Expiration() pulumi.StringOutput

If the object expiration is configured, this attribute will be set.

func (ObjectCopyOutput) Expires

Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (ObjectCopyOutput) ForceDestroy

func (o ObjectCopyOutput) ForceDestroy() pulumi.BoolPtrOutput

Allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.

func (ObjectCopyOutput) Grants

Configuration block for header grants. Documented below. Conflicts with `acl`.

func (ObjectCopyOutput) Key

Name of the object once it is in the bucket.

func (ObjectCopyOutput) KmsEncryptionContext

func (o ObjectCopyOutput) KmsEncryptionContext() pulumi.StringOutput

Specifies the AWS KMS Encryption Context to use for object encryption. The value is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

func (ObjectCopyOutput) KmsKeyId

func (o ObjectCopyOutput) KmsKeyId() pulumi.StringOutput

Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn`

func (ObjectCopyOutput) LastModified

func (o ObjectCopyOutput) LastModified() pulumi.StringOutput

Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (ObjectCopyOutput) Metadata

Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).

func (ObjectCopyOutput) MetadataDirective

func (o ObjectCopyOutput) MetadataDirective() pulumi.StringPtrOutput

Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`.

func (ObjectCopyOutput) ObjectLockLegalHoldStatus

func (o ObjectCopyOutput) ObjectLockLegalHoldStatus() pulumi.StringOutput

The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.

func (ObjectCopyOutput) ObjectLockMode

func (o ObjectCopyOutput) ObjectLockMode() pulumi.StringOutput

Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.

func (ObjectCopyOutput) ObjectLockRetainUntilDate

func (o ObjectCopyOutput) ObjectLockRetainUntilDate() pulumi.StringOutput

Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).

func (ObjectCopyOutput) OverrideProvider

func (ObjectCopyOutput) Region

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.

func (ObjectCopyOutput) RequestCharged

func (o ObjectCopyOutput) RequestCharged() pulumi.BoolOutput

If present, indicates that the requester was successfully charged for the request.

func (ObjectCopyOutput) RequestPayer

func (o ObjectCopyOutput) RequestPayer() pulumi.StringPtrOutput

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If included, the only valid value is `requester`.

func (ObjectCopyOutput) ServerSideEncryption

func (o ObjectCopyOutput) ServerSideEncryption() pulumi.StringOutput

Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`.

func (ObjectCopyOutput) Source

Specifies the source object for the copy operation. You specify the value in one of two formats. For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (`/`). For example, `testbucket/test1.json`. For objects accessed through access points, specify the ARN of the object as accessed through the access point, in the format `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/object/testbucket/test1.json`.

The following arguments are optional:

func (ObjectCopyOutput) SourceCustomerAlgorithm

func (o ObjectCopyOutput) SourceCustomerAlgorithm() pulumi.StringPtrOutput

Specifies the algorithm to use when decrypting the source object (for example, AES256).

func (ObjectCopyOutput) SourceCustomerKey

func (o ObjectCopyOutput) SourceCustomerKey() pulumi.StringPtrOutput

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

func (ObjectCopyOutput) SourceCustomerKeyMd5

func (o ObjectCopyOutput) SourceCustomerKeyMd5() pulumi.StringPtrOutput

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

func (ObjectCopyOutput) SourceVersionId

func (o ObjectCopyOutput) SourceVersionId() pulumi.StringOutput

Version of the copied object in the source bucket.

func (ObjectCopyOutput) StorageClass

func (o ObjectCopyOutput) StorageClass() pulumi.StringOutput

Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`.

func (ObjectCopyOutput) TaggingDirective

func (o ObjectCopyOutput) TaggingDirective() pulumi.StringPtrOutput

Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`.

func (ObjectCopyOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ObjectCopyOutput) TagsAll

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ObjectCopyOutput) ToObjectCopyOutput

func (o ObjectCopyOutput) ToObjectCopyOutput() ObjectCopyOutput

func (ObjectCopyOutput) ToObjectCopyOutputWithContext

func (o ObjectCopyOutput) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput

func (ObjectCopyOutput) VersionId

func (o ObjectCopyOutput) VersionId() pulumi.StringOutput

Version ID of the newly created copy.

func (ObjectCopyOutput) WebsiteRedirect

func (o ObjectCopyOutput) WebsiteRedirect() pulumi.StringOutput

Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).

type ObjectCopyOverrideProvider

type ObjectCopyOverrideProvider struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags *ObjectCopyOverrideProviderDefaultTags `pulumi:"defaultTags"`
}

type ObjectCopyOverrideProviderArgs

type ObjectCopyOverrideProviderArgs struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags ObjectCopyOverrideProviderDefaultTagsPtrInput `pulumi:"defaultTags"`
}

func (ObjectCopyOverrideProviderArgs) ElementType

func (ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderOutput

func (i ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderOutput() ObjectCopyOverrideProviderOutput

func (ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderOutputWithContext

func (i ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderOutput

func (ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderPtrOutput

func (i ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderPtrOutput() ObjectCopyOverrideProviderPtrOutput

func (ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderPtrOutputWithContext

func (i ObjectCopyOverrideProviderArgs) ToObjectCopyOverrideProviderPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderPtrOutput

type ObjectCopyOverrideProviderDefaultTags

type ObjectCopyOverrideProviderDefaultTags struct {
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]string `pulumi:"tags"`
}

type ObjectCopyOverrideProviderDefaultTagsArgs

type ObjectCopyOverrideProviderDefaultTagsArgs struct {
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (ObjectCopyOverrideProviderDefaultTagsArgs) ElementType

func (ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsOutput

func (i ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsOutput() ObjectCopyOverrideProviderDefaultTagsOutput

func (ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsOutputWithContext

func (i ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderDefaultTagsOutput

func (ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsPtrOutput

func (i ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsPtrOutput() ObjectCopyOverrideProviderDefaultTagsPtrOutput

func (ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext

func (i ObjectCopyOverrideProviderDefaultTagsArgs) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderDefaultTagsPtrOutput

type ObjectCopyOverrideProviderDefaultTagsInput

type ObjectCopyOverrideProviderDefaultTagsInput interface {
	pulumi.Input

	ToObjectCopyOverrideProviderDefaultTagsOutput() ObjectCopyOverrideProviderDefaultTagsOutput
	ToObjectCopyOverrideProviderDefaultTagsOutputWithContext(context.Context) ObjectCopyOverrideProviderDefaultTagsOutput
}

ObjectCopyOverrideProviderDefaultTagsInput is an input type that accepts ObjectCopyOverrideProviderDefaultTagsArgs and ObjectCopyOverrideProviderDefaultTagsOutput values. You can construct a concrete instance of `ObjectCopyOverrideProviderDefaultTagsInput` via:

ObjectCopyOverrideProviderDefaultTagsArgs{...}

type ObjectCopyOverrideProviderDefaultTagsOutput

type ObjectCopyOverrideProviderDefaultTagsOutput struct{ *pulumi.OutputState }

func (ObjectCopyOverrideProviderDefaultTagsOutput) ElementType

func (ObjectCopyOverrideProviderDefaultTagsOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsOutput

func (o ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsOutput() ObjectCopyOverrideProviderDefaultTagsOutput

func (ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsOutputWithContext

func (o ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderDefaultTagsOutput

func (ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutput

func (o ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutput() ObjectCopyOverrideProviderDefaultTagsPtrOutput

func (ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext

func (o ObjectCopyOverrideProviderDefaultTagsOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderDefaultTagsPtrOutput

type ObjectCopyOverrideProviderDefaultTagsPtrInput

type ObjectCopyOverrideProviderDefaultTagsPtrInput interface {
	pulumi.Input

	ToObjectCopyOverrideProviderDefaultTagsPtrOutput() ObjectCopyOverrideProviderDefaultTagsPtrOutput
	ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext(context.Context) ObjectCopyOverrideProviderDefaultTagsPtrOutput
}

ObjectCopyOverrideProviderDefaultTagsPtrInput is an input type that accepts ObjectCopyOverrideProviderDefaultTagsArgs, ObjectCopyOverrideProviderDefaultTagsPtr and ObjectCopyOverrideProviderDefaultTagsPtrOutput values. You can construct a concrete instance of `ObjectCopyOverrideProviderDefaultTagsPtrInput` via:

        ObjectCopyOverrideProviderDefaultTagsArgs{...}

or:

        nil

type ObjectCopyOverrideProviderDefaultTagsPtrOutput

type ObjectCopyOverrideProviderDefaultTagsPtrOutput struct{ *pulumi.OutputState }

func (ObjectCopyOverrideProviderDefaultTagsPtrOutput) Elem

func (ObjectCopyOverrideProviderDefaultTagsPtrOutput) ElementType

func (ObjectCopyOverrideProviderDefaultTagsPtrOutput) Tags

Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ObjectCopyOverrideProviderDefaultTagsPtrOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutput

func (o ObjectCopyOverrideProviderDefaultTagsPtrOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutput() ObjectCopyOverrideProviderDefaultTagsPtrOutput

func (ObjectCopyOverrideProviderDefaultTagsPtrOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext

func (o ObjectCopyOverrideProviderDefaultTagsPtrOutput) ToObjectCopyOverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderDefaultTagsPtrOutput

type ObjectCopyOverrideProviderInput

type ObjectCopyOverrideProviderInput interface {
	pulumi.Input

	ToObjectCopyOverrideProviderOutput() ObjectCopyOverrideProviderOutput
	ToObjectCopyOverrideProviderOutputWithContext(context.Context) ObjectCopyOverrideProviderOutput
}

ObjectCopyOverrideProviderInput is an input type that accepts ObjectCopyOverrideProviderArgs and ObjectCopyOverrideProviderOutput values. You can construct a concrete instance of `ObjectCopyOverrideProviderInput` via:

ObjectCopyOverrideProviderArgs{...}

type ObjectCopyOverrideProviderOutput

type ObjectCopyOverrideProviderOutput struct{ *pulumi.OutputState }

func (ObjectCopyOverrideProviderOutput) DefaultTags

Override the provider `defaultTags` configuration block.

func (ObjectCopyOverrideProviderOutput) ElementType

func (ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderOutput

func (o ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderOutput() ObjectCopyOverrideProviderOutput

func (ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderOutputWithContext

func (o ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderOutput

func (ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderPtrOutput

func (o ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderPtrOutput() ObjectCopyOverrideProviderPtrOutput

func (ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderPtrOutputWithContext

func (o ObjectCopyOverrideProviderOutput) ToObjectCopyOverrideProviderPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderPtrOutput

type ObjectCopyOverrideProviderPtrInput

type ObjectCopyOverrideProviderPtrInput interface {
	pulumi.Input

	ToObjectCopyOverrideProviderPtrOutput() ObjectCopyOverrideProviderPtrOutput
	ToObjectCopyOverrideProviderPtrOutputWithContext(context.Context) ObjectCopyOverrideProviderPtrOutput
}

ObjectCopyOverrideProviderPtrInput is an input type that accepts ObjectCopyOverrideProviderArgs, ObjectCopyOverrideProviderPtr and ObjectCopyOverrideProviderPtrOutput values. You can construct a concrete instance of `ObjectCopyOverrideProviderPtrInput` via:

        ObjectCopyOverrideProviderArgs{...}

or:

        nil

type ObjectCopyOverrideProviderPtrOutput

type ObjectCopyOverrideProviderPtrOutput struct{ *pulumi.OutputState }

func (ObjectCopyOverrideProviderPtrOutput) DefaultTags

Override the provider `defaultTags` configuration block.

func (ObjectCopyOverrideProviderPtrOutput) Elem

func (ObjectCopyOverrideProviderPtrOutput) ElementType

func (ObjectCopyOverrideProviderPtrOutput) ToObjectCopyOverrideProviderPtrOutput

func (o ObjectCopyOverrideProviderPtrOutput) ToObjectCopyOverrideProviderPtrOutput() ObjectCopyOverrideProviderPtrOutput

func (ObjectCopyOverrideProviderPtrOutput) ToObjectCopyOverrideProviderPtrOutputWithContext

func (o ObjectCopyOverrideProviderPtrOutput) ToObjectCopyOverrideProviderPtrOutputWithContext(ctx context.Context) ObjectCopyOverrideProviderPtrOutput

type ObjectCopyState

type ObjectCopyState struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`.
	Acl pulumi.StringPtrInput
	// ARN of the object.
	Arn pulumi.StringPtrInput
	// Name of the bucket to put the file in.
	Bucket           pulumi.StringPtrInput
	BucketKeyEnabled pulumi.BoolPtrInput
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME` `SHA1`, `SHA256`.
	ChecksumAlgorithm pulumi.StringPtrInput
	// The base64-encoded, 32-bit CRC32 checksum of the object.
	ChecksumCrc32 pulumi.StringPtrInput
	// The base64-encoded, 32-bit CRC32C checksum of the object.
	ChecksumCrc32c pulumi.StringPtrInput
	// The base64-encoded, 64-bit CRC64NVME checksum of the object.
	ChecksumCrc64nvme pulumi.StringPtrInput
	// The base64-encoded, 160-bit SHA-1 digest of the object.
	ChecksumSha1 pulumi.StringPtrInput
	// The base64-encoded, 256-bit SHA-256 digest of the object.
	ChecksumSha256 pulumi.StringPtrInput
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// Language the content is in e.g., en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopyIfMatch pulumi.StringPtrInput
	// Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfModifiedSince pulumi.StringPtrInput
	// Copies the object if its entity tag (ETag) is different than the specified ETag.
	CopyIfNoneMatch pulumi.StringPtrInput
	// Copies the object if it hasn't been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	CopyIfUnmodifiedSince pulumi.StringPtrInput
	// Specifies the algorithm to use to when encrypting the object (for example, AES256).
	CustomerAlgorithm pulumi.StringPtrInput
	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.
	CustomerKey pulumi.StringPtrInput
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	CustomerKeyMd5 pulumi.StringPtrInput
	// ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html).
	Etag pulumi.StringPtrInput
	// Account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.
	ExpectedSourceBucketOwner pulumi.StringPtrInput
	// If the object expiration is configured, this attribute will be set.
	Expiration pulumi.StringPtrInput
	// Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	Expires pulumi.StringPtrInput
	// Allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
	ForceDestroy pulumi.BoolPtrInput
	// Configuration block for header grants. Documented below. Conflicts with `acl`.
	Grants ObjectCopyGrantArrayInput
	// Name of the object once it is in the bucket.
	Key pulumi.StringPtrInput
	// Specifies the AWS KMS Encryption Context to use for object encryption. The value is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
	KmsEncryptionContext pulumi.StringPtrInput
	// Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn`
	KmsKeyId pulumi.StringPtrInput
	// Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LastModified pulumi.StringPtrInput
	// Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
	Metadata pulumi.StringMapInput
	// Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`.
	MetadataDirective pulumi.StringPtrInput
	// The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
	ObjectLockLegalHoldStatus pulumi.StringPtrInput
	// Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	ObjectLockMode pulumi.StringPtrInput
	// Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
	ObjectLockRetainUntilDate pulumi.StringPtrInput
	OverrideProvider          ObjectCopyOverrideProviderPtrInput
	// 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.
	Region pulumi.StringPtrInput
	// If present, indicates that the requester was successfully charged for the request.
	RequestCharged pulumi.BoolPtrInput
	// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If included, the only valid value is `requester`.
	RequestPayer pulumi.StringPtrInput
	// Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`.
	ServerSideEncryption pulumi.StringPtrInput
	// Specifies the source object for the copy operation. You specify the value in one of two formats. For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (`/`). For example, `testbucket/test1.json`. For objects accessed through access points, specify the ARN of the object as accessed through the access point, in the format `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/object/testbucket/test1.json`.
	//
	// The following arguments are optional:
	Source pulumi.StringPtrInput
	// Specifies the algorithm to use when decrypting the source object (for example, AES256).
	SourceCustomerAlgorithm pulumi.StringPtrInput
	// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.
	SourceCustomerKey pulumi.StringPtrInput
	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.
	SourceCustomerKeyMd5 pulumi.StringPtrInput
	// Version of the copied object in the source bucket.
	SourceVersionId pulumi.StringPtrInput
	// Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`.
	StorageClass pulumi.StringPtrInput
	// Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`.
	TaggingDirective pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Version ID of the newly created copy.
	VersionId pulumi.StringPtrInput
	// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect pulumi.StringPtrInput
}

func (ObjectCopyState) ElementType

func (ObjectCopyState) ElementType() reflect.Type

type PolicyDocument

type PolicyDocument struct {
	Id        *string                   `pulumi:"Id"`
	Statement []iam.PolicyStatement     `pulumi:"Statement"`
	Version   iam.PolicyDocumentVersion `pulumi:"Version"`
}

Represents an AWS IAM policy document that defines permissions for AWS resources and actions.

type PolicyDocumentArgs

type PolicyDocumentArgs struct {
	Id        pulumi.StringPtrInput          `pulumi:"Id"`
	Statement iam.PolicyStatementArrayInput  `pulumi:"Statement"`
	Version   iam.PolicyDocumentVersionInput `pulumi:"Version"`
}

Represents an AWS IAM policy document that defines permissions for AWS resources and actions.

func (PolicyDocumentArgs) ElementType

func (PolicyDocumentArgs) ElementType() reflect.Type

func (PolicyDocumentArgs) ToPolicyDocumentOutput

func (i PolicyDocumentArgs) ToPolicyDocumentOutput() PolicyDocumentOutput

func (PolicyDocumentArgs) ToPolicyDocumentOutputWithContext

func (i PolicyDocumentArgs) ToPolicyDocumentOutputWithContext(ctx context.Context) PolicyDocumentOutput

func (PolicyDocumentArgs) ToPolicyDocumentPtrOutput

func (i PolicyDocumentArgs) ToPolicyDocumentPtrOutput() PolicyDocumentPtrOutput

func (PolicyDocumentArgs) ToPolicyDocumentPtrOutputWithContext

func (i PolicyDocumentArgs) ToPolicyDocumentPtrOutputWithContext(ctx context.Context) PolicyDocumentPtrOutput

type PolicyDocumentInput

type PolicyDocumentInput interface {
	pulumi.Input

	ToPolicyDocumentOutput() PolicyDocumentOutput
	ToPolicyDocumentOutputWithContext(context.Context) PolicyDocumentOutput
}

PolicyDocumentInput is an input type that accepts PolicyDocumentArgs and PolicyDocumentOutput values. You can construct a concrete instance of `PolicyDocumentInput` via:

PolicyDocumentArgs{...}

type PolicyDocumentOutput

type PolicyDocumentOutput struct{ *pulumi.OutputState }

Represents an AWS IAM policy document that defines permissions for AWS resources and actions.

func (PolicyDocumentOutput) ElementType

func (PolicyDocumentOutput) ElementType() reflect.Type

func (PolicyDocumentOutput) Id

func (PolicyDocumentOutput) Statement

func (PolicyDocumentOutput) ToPolicyDocumentOutput

func (o PolicyDocumentOutput) ToPolicyDocumentOutput() PolicyDocumentOutput

func (PolicyDocumentOutput) ToPolicyDocumentOutputWithContext

func (o PolicyDocumentOutput) ToPolicyDocumentOutputWithContext(ctx context.Context) PolicyDocumentOutput

func (PolicyDocumentOutput) ToPolicyDocumentPtrOutput

func (o PolicyDocumentOutput) ToPolicyDocumentPtrOutput() PolicyDocumentPtrOutput

func (PolicyDocumentOutput) ToPolicyDocumentPtrOutputWithContext

func (o PolicyDocumentOutput) ToPolicyDocumentPtrOutputWithContext(ctx context.Context) PolicyDocumentPtrOutput

func (PolicyDocumentOutput) Version

type PolicyDocumentPtrInput

type PolicyDocumentPtrInput interface {
	pulumi.Input

	ToPolicyDocumentPtrOutput() PolicyDocumentPtrOutput
	ToPolicyDocumentPtrOutputWithContext(context.Context) PolicyDocumentPtrOutput
}

PolicyDocumentPtrInput is an input type that accepts PolicyDocumentArgs, PolicyDocumentPtr and PolicyDocumentPtrOutput values. You can construct a concrete instance of `PolicyDocumentPtrInput` via:

        PolicyDocumentArgs{...}

or:

        nil

type PolicyDocumentPtrOutput

type PolicyDocumentPtrOutput struct{ *pulumi.OutputState }

func (PolicyDocumentPtrOutput) Elem

func (PolicyDocumentPtrOutput) ElementType

func (PolicyDocumentPtrOutput) ElementType() reflect.Type

func (PolicyDocumentPtrOutput) Id

func (PolicyDocumentPtrOutput) Statement

func (PolicyDocumentPtrOutput) ToPolicyDocumentPtrOutput

func (o PolicyDocumentPtrOutput) ToPolicyDocumentPtrOutput() PolicyDocumentPtrOutput

func (PolicyDocumentPtrOutput) ToPolicyDocumentPtrOutputWithContext

func (o PolicyDocumentPtrOutput) ToPolicyDocumentPtrOutputWithContext(ctx context.Context) PolicyDocumentPtrOutput

func (PolicyDocumentPtrOutput) Version

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL