s3

package
v6.66.1 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 19

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"`
	// 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 cannot be used with S3 directory buckets.

## Example Usage

### AWS Partition General Purpose Bucket

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

```

## 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
	// 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) 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
	// 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/v6/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"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		analytics, err := s3.NewBucketV2(ctx, "analytics", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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
	// 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) 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
	// 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`.
	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`.
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the bucket. If omitted, this 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).
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The 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.StringPtrOutput `pulumi:"bucketPrefix"`
	// The bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL.
	BucketRegionalDomainName pulumi.StringOutput `pulumi:"bucketRegionalDomainName"`
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayOutput `pulumi:"corsRules"`
	// A 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 so that the bucket can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl) (documented below). Conflicts with `acl`.
	Grants BucketGrantArrayOutput `pulumi:"grants"`
	// 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 pulumi.StringOutput `pulumi:"hostedZoneId"`
	// A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).
	LifecycleRules BucketLifecycleRuleArrayOutput `pulumi:"lifecycleRules"`
	// A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).
	Loggings BucketLoggingArrayOutput `pulumi:"loggings"`
	// A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)
	//
	// > **NOTE:** You cannot use `accelerationStatus` in `cn-north-1` or `us-gov-west-1`
	ObjectLockConfiguration BucketObjectLockConfigurationPtrOutput `pulumi:"objectLockConfiguration"`
	// A 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 a `pulumi preview`. In this case, please make sure you use the verbose/specific version of the policy.
	Policy pulumi.StringPtrOutput `pulumi:"policy"`
	// The AWS region this bucket resides in.
	Region pulumi.StringOutput `pulumi:"region"`
	// A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).
	ReplicationConfiguration BucketReplicationConfigurationPtrOutput `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.
	RequestPayer pulumi.StringOutput `pulumi:"requestPayer"`
	// A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationOutput `pulumi:"serverSideEncryptionConfiguration"`
	// A 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningOutput `pulumi:"versioning"`
	// A website object (documented below).
	Website BucketWebsitePtrOutput `pulumi:"website"`
	// The 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 pulumi.StringOutput `pulumi:"websiteDomain"`
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
}

Provides a S3 bucket resource.

> **NOTE:** Please use [aws.s3.BucketV2](https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucketv2) instead. This resource is maintained for backwards compatibility only. Please see [BucketV2 Migration Guide](https://www.pulumi.com/registry/packages/aws/how-to-guides/bucketv2-migration/) for instructions on migrating existing Bucket resources to BucketV2.

## Example Usage

### Private Bucket w/ Tags

```go package main

import (

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

)

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

```

### Static Website Hosting

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/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 {
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "policy.json",
		}, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "b", &s3.BucketArgs{
			Bucket: pulumi.String("s3-website-test.mydomain.com"),
			Acl:    pulumi.String(s3.CannedAclPublicRead),
			Policy: pulumi.String(invokeFile.Result),
			Website: &s3.BucketWebsiteArgs{
				IndexDocument: pulumi.String("index.html"),
				ErrorDocument: pulumi.String("error.html"),
				RoutingRules: pulumi.Any(`[{
    "Condition": {
        "KeyPrefixEquals": "docs/"
    },
    "Redirect": {
        "ReplaceKeyPrefixWith": "documents/"
    }
}]

`),

			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using CORS

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "b", &s3.BucketArgs{
			Bucket: pulumi.String("s3-website-test.mydomain.com"),
			Acl:    pulumi.String(s3.CannedAclPublicRead),
			CorsRules: s3.BucketCorsRuleArray{
				&s3.BucketCorsRuleArgs{
					AllowedHeaders: pulumi.StringArray{
						pulumi.String("*"),
					},
					AllowedMethods: pulumi.StringArray{
						pulumi.String("PUT"),
						pulumi.String("POST"),
					},
					AllowedOrigins: pulumi.StringArray{
						pulumi.String("https://s3-website-test.mydomain.com"),
					},
					ExposeHeaders: pulumi.StringArray{
						pulumi.String("ETag"),
					},
					MaxAgeSeconds: pulumi.Int(3000),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using versioning

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "b", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
			Acl:    pulumi.String(s3.CannedAclPrivate),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Enable Logging

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		logBucket, err := s3.NewBucket(ctx, "log_bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-log-bucket"),
			Acl:    pulumi.String(s3.CannedAclLogDeliveryWrite),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "b", &s3.BucketArgs{
			Bucket: pulumi.String("my-tf-test-bucket"),
			Acl:    pulumi.String(s3.CannedAclPrivate),
			Loggings: s3.BucketLoggingArray{
				&s3.BucketLoggingArgs{
					TargetBucket: logBucket.ID(),
					TargetPrefix: pulumi.String("log/"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using object lifecycle

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-bucket"),
			Acl:    pulumi.String(s3.CannedAclPrivate),
			LifecycleRules: s3.BucketLifecycleRuleArray{
				&s3.BucketLifecycleRuleArgs{
					Id:      pulumi.String("log"),
					Enabled: pulumi.Bool(true),
					Prefix:  pulumi.String("log/"),
					Tags: pulumi.StringMap{
						"rule":      pulumi.String("log"),
						"autoclean": pulumi.String("true"),
					},
					Transitions: s3.BucketLifecycleRuleTransitionArray{
						&s3.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
					Expiration: &s3.BucketLifecycleRuleExpirationArgs{
						Days: pulumi.Int(90),
					},
				},
				&s3.BucketLifecycleRuleArgs{
					Id:      pulumi.String("tmp"),
					Prefix:  pulumi.String("tmp/"),
					Enabled: pulumi.Bool(true),
					Expiration: &s3.BucketLifecycleRuleExpirationArgs{
						Date: pulumi.String("2016-01-12"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "versioning_bucket", &s3.BucketArgs{
			Bucket: pulumi.String("my-versioning-bucket"),
			Acl:    pulumi.String(s3.CannedAclPrivate),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
			LifecycleRules: s3.BucketLifecycleRuleArray{
				&s3.BucketLifecycleRuleArgs{
					Prefix:  pulumi.String("config/"),
					Enabled: pulumi.Bool(true),
					NoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{
						&s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
					NoncurrentVersionExpiration: &s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{
						Days: pulumi.Int(90),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using replication configuration

> **NOTE:** See the `s3.BucketReplicationConfig` resource to support bi-directional replication configuration and additional features.

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		replication, err := iam.NewRole(ctx, "replication", &iam.RoleArgs{
			Name: pulumi.String("tf-iam-role-replication-12345"),
			AssumeRolePolicy: pulumi.Any(`{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}

`),

		})
		if err != nil {
			return err
		}
		destination, err := s3.NewBucket(ctx, "destination", &s3.BucketArgs{
			Bucket: pulumi.String("tf-test-bucket-destination-12345"),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		source, err := s3.NewBucket(ctx, "source", &s3.BucketArgs{
			Bucket: pulumi.String("tf-test-bucket-source-12345"),
			Acl:    pulumi.String(s3.CannedAclPrivate),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
			ReplicationConfiguration: &s3.BucketReplicationConfigurationArgs{
				Role: replication.Arn,
				Rules: s3.BucketReplicationConfigurationRuleArray{
					&s3.BucketReplicationConfigurationRuleArgs{
						Id:     pulumi.String("foobar"),
						Status: pulumi.String("Enabled"),
						Filter: &s3.BucketReplicationConfigurationRuleFilterArgs{
							Tags: pulumi.StringMap{},
						},
						Destination: &s3.BucketReplicationConfigurationRuleDestinationArgs{
							Bucket:       destination.Arn,
							StorageClass: pulumi.String("STANDARD"),
							ReplicationTime: &s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{
								Status:  pulumi.String("Enabled"),
								Minutes: pulumi.Int(15),
							},
							Metrics: &s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{
								Status:  pulumi.String("Enabled"),
								Minutes: pulumi.Int(15),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		replicationPolicy, err := iam.NewPolicy(ctx, "replication", &iam.PolicyArgs{
			Name: pulumi.String("tf-iam-role-policy-replication-12345"),
			Policy: pulumi.All(source.Arn, source.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {
				sourceArn := _args[0].(string)
				sourceArn1 := _args[1].(string)
				destinationArn := _args[2].(string)
				return fmt.Sprintf(`{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetReplicationConfiguration",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "%v"
      ]
    },
    {
      "Action": [
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionAcl",
         "s3:GetObjectVersionTagging"
      ],
      "Effect": "Allow",
      "Resource": [
        "%v/*"
      ]
    },
    {
      "Action": [
        "s3:ReplicateObject",
        "s3:ReplicateDelete",
        "s3:ReplicateTags"
      ],
      "Effect": "Allow",
      "Resource": "%v/*"
    }
  ]
}

`, sourceArn, sourceArn1, destinationArn), nil

			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "replication", &iam.RolePolicyAttachmentArgs{
			Role:      replication.Name,
			PolicyArn: replicationPolicy.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Enable Default Server Side Encryption

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v6/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
		}
		_, err = s3.NewBucket(ctx, "mybucket", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
			ServerSideEncryptionConfiguration: &s3.BucketServerSideEncryptionConfigurationArgs{
				Rule: &s3.BucketServerSideEncryptionConfigurationRuleArgs{
					ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{
						KmsMasterKeyId: mykey.Arn,
						SseAlgorithm:   pulumi.String("aws:kms"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using ACL policy grants

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		currentUser, err := s3.GetCanonicalUserId(ctx, map[string]interface{}{}, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Bucket: pulumi.String("mybucket"),
			Grants: s3.BucketGrantArray{
				&s3.BucketGrantArgs{
					Id:   pulumi.String(currentUser.Id),
					Type: pulumi.String("CanonicalUser"),
					Permissions: pulumi.StringArray{
						pulumi.String("FULL_CONTROL"),
					},
				},
				&s3.BucketGrantArgs{
					Type: pulumi.String("Group"),
					Permissions: pulumi.StringArray{
						pulumi.String("READ_ACP"),
						pulumi.String("WRITE"),
					},
					Uri: pulumi.String("http://acs.amazonaws.com/groups/s3/LogDelivery"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

S3 bucket can be imported using the `bucket`, e.g.,

```sh $ pulumi import aws:s3/bucket:Bucket bucket bucket-name ``` The `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead.

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 BucketAccelerateConfigurationV2

type BucketAccelerateConfigurationV2 struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mybucket, err := s3.NewBucketV2(ctx, "mybucket", &s3.BucketV2Args{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAccelerateConfigurationV2(ctx, "example", &s3.BucketAccelerateConfigurationV2Args{
			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/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 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/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2 example bucket-name,123456789012 ```

func GetBucketAccelerateConfigurationV2

func GetBucketAccelerateConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketAccelerateConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketAccelerateConfigurationV2, error)

GetBucketAccelerateConfigurationV2 gets an existing BucketAccelerateConfigurationV2 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 NewBucketAccelerateConfigurationV2

func NewBucketAccelerateConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketAccelerateConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketAccelerateConfigurationV2, error)

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

func (*BucketAccelerateConfigurationV2) ElementType

func (*BucketAccelerateConfigurationV2) ToBucketAccelerateConfigurationV2Output

func (i *BucketAccelerateConfigurationV2) ToBucketAccelerateConfigurationV2Output() BucketAccelerateConfigurationV2Output

func (*BucketAccelerateConfigurationV2) ToBucketAccelerateConfigurationV2OutputWithContext

func (i *BucketAccelerateConfigurationV2) ToBucketAccelerateConfigurationV2OutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2Output

type BucketAccelerateConfigurationV2Args

type BucketAccelerateConfigurationV2Args struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
	Status pulumi.StringInput
}

The set of arguments for constructing a BucketAccelerateConfigurationV2 resource.

func (BucketAccelerateConfigurationV2Args) ElementType

type BucketAccelerateConfigurationV2Array

type BucketAccelerateConfigurationV2Array []BucketAccelerateConfigurationV2Input

func (BucketAccelerateConfigurationV2Array) ElementType

func (BucketAccelerateConfigurationV2Array) ToBucketAccelerateConfigurationV2ArrayOutput

func (i BucketAccelerateConfigurationV2Array) ToBucketAccelerateConfigurationV2ArrayOutput() BucketAccelerateConfigurationV2ArrayOutput

func (BucketAccelerateConfigurationV2Array) ToBucketAccelerateConfigurationV2ArrayOutputWithContext

func (i BucketAccelerateConfigurationV2Array) ToBucketAccelerateConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2ArrayOutput

type BucketAccelerateConfigurationV2ArrayInput

type BucketAccelerateConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketAccelerateConfigurationV2ArrayOutput() BucketAccelerateConfigurationV2ArrayOutput
	ToBucketAccelerateConfigurationV2ArrayOutputWithContext(context.Context) BucketAccelerateConfigurationV2ArrayOutput
}

BucketAccelerateConfigurationV2ArrayInput is an input type that accepts BucketAccelerateConfigurationV2Array and BucketAccelerateConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketAccelerateConfigurationV2ArrayInput` via:

BucketAccelerateConfigurationV2Array{ BucketAccelerateConfigurationV2Args{...} }

type BucketAccelerateConfigurationV2ArrayOutput

type BucketAccelerateConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationV2ArrayOutput) ElementType

func (BucketAccelerateConfigurationV2ArrayOutput) Index

func (BucketAccelerateConfigurationV2ArrayOutput) ToBucketAccelerateConfigurationV2ArrayOutput

func (o BucketAccelerateConfigurationV2ArrayOutput) ToBucketAccelerateConfigurationV2ArrayOutput() BucketAccelerateConfigurationV2ArrayOutput

func (BucketAccelerateConfigurationV2ArrayOutput) ToBucketAccelerateConfigurationV2ArrayOutputWithContext

func (o BucketAccelerateConfigurationV2ArrayOutput) ToBucketAccelerateConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2ArrayOutput

type BucketAccelerateConfigurationV2Input

type BucketAccelerateConfigurationV2Input interface {
	pulumi.Input

	ToBucketAccelerateConfigurationV2Output() BucketAccelerateConfigurationV2Output
	ToBucketAccelerateConfigurationV2OutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2Output
}

type BucketAccelerateConfigurationV2Map

type BucketAccelerateConfigurationV2Map map[string]BucketAccelerateConfigurationV2Input

func (BucketAccelerateConfigurationV2Map) ElementType

func (BucketAccelerateConfigurationV2Map) ToBucketAccelerateConfigurationV2MapOutput

func (i BucketAccelerateConfigurationV2Map) ToBucketAccelerateConfigurationV2MapOutput() BucketAccelerateConfigurationV2MapOutput

func (BucketAccelerateConfigurationV2Map) ToBucketAccelerateConfigurationV2MapOutputWithContext

func (i BucketAccelerateConfigurationV2Map) ToBucketAccelerateConfigurationV2MapOutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2MapOutput

type BucketAccelerateConfigurationV2MapInput

type BucketAccelerateConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketAccelerateConfigurationV2MapOutput() BucketAccelerateConfigurationV2MapOutput
	ToBucketAccelerateConfigurationV2MapOutputWithContext(context.Context) BucketAccelerateConfigurationV2MapOutput
}

BucketAccelerateConfigurationV2MapInput is an input type that accepts BucketAccelerateConfigurationV2Map and BucketAccelerateConfigurationV2MapOutput values. You can construct a concrete instance of `BucketAccelerateConfigurationV2MapInput` via:

BucketAccelerateConfigurationV2Map{ "key": BucketAccelerateConfigurationV2Args{...} }

type BucketAccelerateConfigurationV2MapOutput

type BucketAccelerateConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationV2MapOutput) ElementType

func (BucketAccelerateConfigurationV2MapOutput) MapIndex

func (BucketAccelerateConfigurationV2MapOutput) ToBucketAccelerateConfigurationV2MapOutput

func (o BucketAccelerateConfigurationV2MapOutput) ToBucketAccelerateConfigurationV2MapOutput() BucketAccelerateConfigurationV2MapOutput

func (BucketAccelerateConfigurationV2MapOutput) ToBucketAccelerateConfigurationV2MapOutputWithContext

func (o BucketAccelerateConfigurationV2MapOutput) ToBucketAccelerateConfigurationV2MapOutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2MapOutput

type BucketAccelerateConfigurationV2Output

type BucketAccelerateConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketAccelerateConfigurationV2Output) Bucket

Name of the bucket.

func (BucketAccelerateConfigurationV2Output) ElementType

func (BucketAccelerateConfigurationV2Output) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketAccelerateConfigurationV2Output) Status

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

func (BucketAccelerateConfigurationV2Output) ToBucketAccelerateConfigurationV2Output

func (o BucketAccelerateConfigurationV2Output) ToBucketAccelerateConfigurationV2Output() BucketAccelerateConfigurationV2Output

func (BucketAccelerateConfigurationV2Output) ToBucketAccelerateConfigurationV2OutputWithContext

func (o BucketAccelerateConfigurationV2Output) ToBucketAccelerateConfigurationV2OutputWithContext(ctx context.Context) BucketAccelerateConfigurationV2Output

type BucketAccelerateConfigurationV2State

type BucketAccelerateConfigurationV2State struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Transfer acceleration state of the bucket. Valid values: `Enabled`, `Suspended`.
	Status pulumi.StringPtrInput
}

func (BucketAccelerateConfigurationV2State) ElementType

type BucketAclV2

type BucketAclV2 struct {
	pulumi.CustomResourceState

	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclV2AccessControlPolicyOutput `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"`
}

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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/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.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: example.ID(),
			AccessControlPolicy: &s3.BucketAclV2AccessControlPolicyArgs{
				Grants: s3.BucketAclV2AccessControlPolicyGrantArray{
					&s3.BucketAclV2AccessControlPolicyGrantArgs{
						Grantee: &s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{
							Id:   pulumi.String(current.Id),
							Type: pulumi.String("CanonicalUser"),
						},
						Permission: pulumi.String("READ"),
					},
					&s3.BucketAclV2AccessControlPolicyGrantArgs{
						Grantee: &s3.BucketAclV2AccessControlPolicyGrantGranteeArgs{
							Type: pulumi.String("Group"),
							Uri:  pulumi.String("http://acs.amazonaws.com/groups/s3/LogDelivery"),
						},
						Permission: pulumi.String("READ_ACP"),
					},
				},
				Owner: &s3.BucketAclV2AccessControlPolicyOwnerArgs{
					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/bucketAclV2:BucketAclV2 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/bucketAclV2:BucketAclV2 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/bucketAclV2:BucketAclV2 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/bucketAclV2:BucketAclV2 example bucket-name,123456789012,private ```

func GetBucketAclV2

func GetBucketAclV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketAclV2State, opts ...pulumi.ResourceOption) (*BucketAclV2, error)

GetBucketAclV2 gets an existing BucketAclV2 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 NewBucketAclV2

func NewBucketAclV2(ctx *pulumi.Context,
	name string, args *BucketAclV2Args, opts ...pulumi.ResourceOption) (*BucketAclV2, error)

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

func (*BucketAclV2) ElementType

func (*BucketAclV2) ElementType() reflect.Type

func (*BucketAclV2) ToBucketAclV2Output

func (i *BucketAclV2) ToBucketAclV2Output() BucketAclV2Output

func (*BucketAclV2) ToBucketAclV2OutputWithContext

func (i *BucketAclV2) ToBucketAclV2OutputWithContext(ctx context.Context) BucketAclV2Output

type BucketAclV2AccessControlPolicy

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

type BucketAclV2AccessControlPolicyArgs

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

func (BucketAclV2AccessControlPolicyArgs) ElementType

func (BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyOutput

func (i BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyOutput() BucketAclV2AccessControlPolicyOutput

func (BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyOutputWithContext

func (i BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOutput

func (BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyPtrOutput

func (i BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyPtrOutput() BucketAclV2AccessControlPolicyPtrOutput

func (BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyPtrOutputWithContext

func (i BucketAclV2AccessControlPolicyArgs) ToBucketAclV2AccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyPtrOutput

type BucketAclV2AccessControlPolicyGrant

type BucketAclV2AccessControlPolicyGrant struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee *BucketAclV2AccessControlPolicyGrantGrantee `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 BucketAclV2AccessControlPolicyGrantArgs

type BucketAclV2AccessControlPolicyGrantArgs struct {
	// Configuration block for the person being granted permissions. See below.
	Grantee BucketAclV2AccessControlPolicyGrantGranteePtrInput `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 (BucketAclV2AccessControlPolicyGrantArgs) ElementType

func (BucketAclV2AccessControlPolicyGrantArgs) ToBucketAclV2AccessControlPolicyGrantOutput

func (i BucketAclV2AccessControlPolicyGrantArgs) ToBucketAclV2AccessControlPolicyGrantOutput() BucketAclV2AccessControlPolicyGrantOutput

func (BucketAclV2AccessControlPolicyGrantArgs) ToBucketAclV2AccessControlPolicyGrantOutputWithContext

func (i BucketAclV2AccessControlPolicyGrantArgs) ToBucketAclV2AccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantOutput

type BucketAclV2AccessControlPolicyGrantArray

type BucketAclV2AccessControlPolicyGrantArray []BucketAclV2AccessControlPolicyGrantInput

func (BucketAclV2AccessControlPolicyGrantArray) ElementType

func (BucketAclV2AccessControlPolicyGrantArray) ToBucketAclV2AccessControlPolicyGrantArrayOutput

func (i BucketAclV2AccessControlPolicyGrantArray) ToBucketAclV2AccessControlPolicyGrantArrayOutput() BucketAclV2AccessControlPolicyGrantArrayOutput

func (BucketAclV2AccessControlPolicyGrantArray) ToBucketAclV2AccessControlPolicyGrantArrayOutputWithContext

func (i BucketAclV2AccessControlPolicyGrantArray) ToBucketAclV2AccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantArrayOutput

type BucketAclV2AccessControlPolicyGrantArrayInput

type BucketAclV2AccessControlPolicyGrantArrayInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyGrantArrayOutput() BucketAclV2AccessControlPolicyGrantArrayOutput
	ToBucketAclV2AccessControlPolicyGrantArrayOutputWithContext(context.Context) BucketAclV2AccessControlPolicyGrantArrayOutput
}

BucketAclV2AccessControlPolicyGrantArrayInput is an input type that accepts BucketAclV2AccessControlPolicyGrantArray and BucketAclV2AccessControlPolicyGrantArrayOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyGrantArrayInput` via:

BucketAclV2AccessControlPolicyGrantArray{ BucketAclV2AccessControlPolicyGrantArgs{...} }

type BucketAclV2AccessControlPolicyGrantArrayOutput

type BucketAclV2AccessControlPolicyGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyGrantArrayOutput) ElementType

func (BucketAclV2AccessControlPolicyGrantArrayOutput) Index

func (BucketAclV2AccessControlPolicyGrantArrayOutput) ToBucketAclV2AccessControlPolicyGrantArrayOutput

func (o BucketAclV2AccessControlPolicyGrantArrayOutput) ToBucketAclV2AccessControlPolicyGrantArrayOutput() BucketAclV2AccessControlPolicyGrantArrayOutput

func (BucketAclV2AccessControlPolicyGrantArrayOutput) ToBucketAclV2AccessControlPolicyGrantArrayOutputWithContext

func (o BucketAclV2AccessControlPolicyGrantArrayOutput) ToBucketAclV2AccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantArrayOutput

type BucketAclV2AccessControlPolicyGrantGrantee

type BucketAclV2AccessControlPolicyGrantGrantee 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 BucketAclV2AccessControlPolicyGrantGranteeArgs

type BucketAclV2AccessControlPolicyGrantGranteeArgs 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 (BucketAclV2AccessControlPolicyGrantGranteeArgs) ElementType

func (BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteeOutput

func (i BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteeOutput() BucketAclV2AccessControlPolicyGrantGranteeOutput

func (BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteeOutputWithContext

func (i BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantGranteeOutput

func (BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (i BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput() BucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext

func (i BucketAclV2AccessControlPolicyGrantGranteeArgs) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantGranteePtrOutput

type BucketAclV2AccessControlPolicyGrantGranteeInput

type BucketAclV2AccessControlPolicyGrantGranteeInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyGrantGranteeOutput() BucketAclV2AccessControlPolicyGrantGranteeOutput
	ToBucketAclV2AccessControlPolicyGrantGranteeOutputWithContext(context.Context) BucketAclV2AccessControlPolicyGrantGranteeOutput
}

BucketAclV2AccessControlPolicyGrantGranteeInput is an input type that accepts BucketAclV2AccessControlPolicyGrantGranteeArgs and BucketAclV2AccessControlPolicyGrantGranteeOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyGrantGranteeInput` via:

BucketAclV2AccessControlPolicyGrantGranteeArgs{...}

type BucketAclV2AccessControlPolicyGrantGranteeOutput

type BucketAclV2AccessControlPolicyGrantGranteeOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) DisplayName

Display name of the owner.

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) ElementType

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) 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 (BucketAclV2AccessControlPolicyGrantGranteeOutput) Id

Canonical user ID of the grantee.

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteeOutput

func (o BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteeOutput() BucketAclV2AccessControlPolicyGrantGranteeOutput

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteeOutputWithContext

func (o BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantGranteeOutput

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (o BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput() BucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketAclV2AccessControlPolicyGrantGranteeOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) Type

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

func (BucketAclV2AccessControlPolicyGrantGranteeOutput) Uri

URI of the grantee group.

type BucketAclV2AccessControlPolicyGrantGranteePtrInput

type BucketAclV2AccessControlPolicyGrantGranteePtrInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput() BucketAclV2AccessControlPolicyGrantGranteePtrOutput
	ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext(context.Context) BucketAclV2AccessControlPolicyGrantGranteePtrOutput
}

BucketAclV2AccessControlPolicyGrantGranteePtrInput is an input type that accepts BucketAclV2AccessControlPolicyGrantGranteeArgs, BucketAclV2AccessControlPolicyGrantGranteePtr and BucketAclV2AccessControlPolicyGrantGranteePtrOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyGrantGranteePtrInput` via:

        BucketAclV2AccessControlPolicyGrantGranteeArgs{...}

or:

        nil

type BucketAclV2AccessControlPolicyGrantGranteePtrOutput

type BucketAclV2AccessControlPolicyGrantGranteePtrOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) DisplayName

Display name of the owner.

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) Elem

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) ElementType

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) 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 (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) Id

Canonical user ID of the grantee.

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (o BucketAclV2AccessControlPolicyGrantGranteePtrOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutput() BucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketAclV2AccessControlPolicyGrantGranteePtrOutput) ToBucketAclV2AccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantGranteePtrOutput

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) Type

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

func (BucketAclV2AccessControlPolicyGrantGranteePtrOutput) Uri

URI of the grantee group.

type BucketAclV2AccessControlPolicyGrantInput

type BucketAclV2AccessControlPolicyGrantInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyGrantOutput() BucketAclV2AccessControlPolicyGrantOutput
	ToBucketAclV2AccessControlPolicyGrantOutputWithContext(context.Context) BucketAclV2AccessControlPolicyGrantOutput
}

BucketAclV2AccessControlPolicyGrantInput is an input type that accepts BucketAclV2AccessControlPolicyGrantArgs and BucketAclV2AccessControlPolicyGrantOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyGrantInput` via:

BucketAclV2AccessControlPolicyGrantArgs{...}

type BucketAclV2AccessControlPolicyGrantOutput

type BucketAclV2AccessControlPolicyGrantOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyGrantOutput) ElementType

func (BucketAclV2AccessControlPolicyGrantOutput) Grantee

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

func (BucketAclV2AccessControlPolicyGrantOutput) 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 (BucketAclV2AccessControlPolicyGrantOutput) ToBucketAclV2AccessControlPolicyGrantOutput

func (o BucketAclV2AccessControlPolicyGrantOutput) ToBucketAclV2AccessControlPolicyGrantOutput() BucketAclV2AccessControlPolicyGrantOutput

func (BucketAclV2AccessControlPolicyGrantOutput) ToBucketAclV2AccessControlPolicyGrantOutputWithContext

func (o BucketAclV2AccessControlPolicyGrantOutput) ToBucketAclV2AccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyGrantOutput

type BucketAclV2AccessControlPolicyInput

type BucketAclV2AccessControlPolicyInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyOutput() BucketAclV2AccessControlPolicyOutput
	ToBucketAclV2AccessControlPolicyOutputWithContext(context.Context) BucketAclV2AccessControlPolicyOutput
}

BucketAclV2AccessControlPolicyInput is an input type that accepts BucketAclV2AccessControlPolicyArgs and BucketAclV2AccessControlPolicyOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyInput` via:

BucketAclV2AccessControlPolicyArgs{...}

type BucketAclV2AccessControlPolicyOutput

type BucketAclV2AccessControlPolicyOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyOutput) ElementType

func (BucketAclV2AccessControlPolicyOutput) Grants

Set of `grant` configuration blocks. See below.

func (BucketAclV2AccessControlPolicyOutput) Owner

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

func (BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyOutput

func (o BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyOutput() BucketAclV2AccessControlPolicyOutput

func (BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyOutputWithContext

func (o BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOutput

func (BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyPtrOutput

func (o BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyPtrOutput() BucketAclV2AccessControlPolicyPtrOutput

func (BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyPtrOutputWithContext

func (o BucketAclV2AccessControlPolicyOutput) ToBucketAclV2AccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyPtrOutput

type BucketAclV2AccessControlPolicyOwner

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

type BucketAclV2AccessControlPolicyOwnerArgs

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

func (BucketAclV2AccessControlPolicyOwnerArgs) ElementType

func (BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerOutput

func (i BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerOutput() BucketAclV2AccessControlPolicyOwnerOutput

func (BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerOutputWithContext

func (i BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOwnerOutput

func (BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerPtrOutput

func (i BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerPtrOutput() BucketAclV2AccessControlPolicyOwnerPtrOutput

func (BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext

func (i BucketAclV2AccessControlPolicyOwnerArgs) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOwnerPtrOutput

type BucketAclV2AccessControlPolicyOwnerInput

type BucketAclV2AccessControlPolicyOwnerInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyOwnerOutput() BucketAclV2AccessControlPolicyOwnerOutput
	ToBucketAclV2AccessControlPolicyOwnerOutputWithContext(context.Context) BucketAclV2AccessControlPolicyOwnerOutput
}

BucketAclV2AccessControlPolicyOwnerInput is an input type that accepts BucketAclV2AccessControlPolicyOwnerArgs and BucketAclV2AccessControlPolicyOwnerOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyOwnerInput` via:

BucketAclV2AccessControlPolicyOwnerArgs{...}

type BucketAclV2AccessControlPolicyOwnerOutput

type BucketAclV2AccessControlPolicyOwnerOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyOwnerOutput) DisplayName

Display name of the owner.

func (BucketAclV2AccessControlPolicyOwnerOutput) ElementType

func (BucketAclV2AccessControlPolicyOwnerOutput) Id

ID of the owner.

func (BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerOutput

func (o BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerOutput() BucketAclV2AccessControlPolicyOwnerOutput

func (BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerOutputWithContext

func (o BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOwnerOutput

func (BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutput

func (o BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutput() BucketAclV2AccessControlPolicyOwnerPtrOutput

func (BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext

func (o BucketAclV2AccessControlPolicyOwnerOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOwnerPtrOutput

type BucketAclV2AccessControlPolicyOwnerPtrInput

type BucketAclV2AccessControlPolicyOwnerPtrInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyOwnerPtrOutput() BucketAclV2AccessControlPolicyOwnerPtrOutput
	ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext(context.Context) BucketAclV2AccessControlPolicyOwnerPtrOutput
}

BucketAclV2AccessControlPolicyOwnerPtrInput is an input type that accepts BucketAclV2AccessControlPolicyOwnerArgs, BucketAclV2AccessControlPolicyOwnerPtr and BucketAclV2AccessControlPolicyOwnerPtrOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyOwnerPtrInput` via:

        BucketAclV2AccessControlPolicyOwnerArgs{...}

or:

        nil

type BucketAclV2AccessControlPolicyOwnerPtrOutput

type BucketAclV2AccessControlPolicyOwnerPtrOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) DisplayName

Display name of the owner.

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) Elem

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) ElementType

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) Id

ID of the owner.

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutput

func (o BucketAclV2AccessControlPolicyOwnerPtrOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutput() BucketAclV2AccessControlPolicyOwnerPtrOutput

func (BucketAclV2AccessControlPolicyOwnerPtrOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext

func (o BucketAclV2AccessControlPolicyOwnerPtrOutput) ToBucketAclV2AccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyOwnerPtrOutput

type BucketAclV2AccessControlPolicyPtrInput

type BucketAclV2AccessControlPolicyPtrInput interface {
	pulumi.Input

	ToBucketAclV2AccessControlPolicyPtrOutput() BucketAclV2AccessControlPolicyPtrOutput
	ToBucketAclV2AccessControlPolicyPtrOutputWithContext(context.Context) BucketAclV2AccessControlPolicyPtrOutput
}

BucketAclV2AccessControlPolicyPtrInput is an input type that accepts BucketAclV2AccessControlPolicyArgs, BucketAclV2AccessControlPolicyPtr and BucketAclV2AccessControlPolicyPtrOutput values. You can construct a concrete instance of `BucketAclV2AccessControlPolicyPtrInput` via:

        BucketAclV2AccessControlPolicyArgs{...}

or:

        nil

type BucketAclV2AccessControlPolicyPtrOutput

type BucketAclV2AccessControlPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketAclV2AccessControlPolicyPtrOutput) Elem

func (BucketAclV2AccessControlPolicyPtrOutput) ElementType

func (BucketAclV2AccessControlPolicyPtrOutput) Grants

Set of `grant` configuration blocks. See below.

func (BucketAclV2AccessControlPolicyPtrOutput) Owner

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

func (BucketAclV2AccessControlPolicyPtrOutput) ToBucketAclV2AccessControlPolicyPtrOutput

func (o BucketAclV2AccessControlPolicyPtrOutput) ToBucketAclV2AccessControlPolicyPtrOutput() BucketAclV2AccessControlPolicyPtrOutput

func (BucketAclV2AccessControlPolicyPtrOutput) ToBucketAclV2AccessControlPolicyPtrOutputWithContext

func (o BucketAclV2AccessControlPolicyPtrOutput) ToBucketAclV2AccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketAclV2AccessControlPolicyPtrOutput

type BucketAclV2Args

type BucketAclV2Args struct {
	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclV2AccessControlPolicyPtrInput
	// 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
}

The set of arguments for constructing a BucketAclV2 resource.

func (BucketAclV2Args) ElementType

func (BucketAclV2Args) ElementType() reflect.Type

type BucketAclV2Array

type BucketAclV2Array []BucketAclV2Input

func (BucketAclV2Array) ElementType

func (BucketAclV2Array) ElementType() reflect.Type

func (BucketAclV2Array) ToBucketAclV2ArrayOutput

func (i BucketAclV2Array) ToBucketAclV2ArrayOutput() BucketAclV2ArrayOutput

func (BucketAclV2Array) ToBucketAclV2ArrayOutputWithContext

func (i BucketAclV2Array) ToBucketAclV2ArrayOutputWithContext(ctx context.Context) BucketAclV2ArrayOutput

type BucketAclV2ArrayInput

type BucketAclV2ArrayInput interface {
	pulumi.Input

	ToBucketAclV2ArrayOutput() BucketAclV2ArrayOutput
	ToBucketAclV2ArrayOutputWithContext(context.Context) BucketAclV2ArrayOutput
}

BucketAclV2ArrayInput is an input type that accepts BucketAclV2Array and BucketAclV2ArrayOutput values. You can construct a concrete instance of `BucketAclV2ArrayInput` via:

BucketAclV2Array{ BucketAclV2Args{...} }

type BucketAclV2ArrayOutput

type BucketAclV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketAclV2ArrayOutput) ElementType

func (BucketAclV2ArrayOutput) ElementType() reflect.Type

func (BucketAclV2ArrayOutput) Index

func (BucketAclV2ArrayOutput) ToBucketAclV2ArrayOutput

func (o BucketAclV2ArrayOutput) ToBucketAclV2ArrayOutput() BucketAclV2ArrayOutput

func (BucketAclV2ArrayOutput) ToBucketAclV2ArrayOutputWithContext

func (o BucketAclV2ArrayOutput) ToBucketAclV2ArrayOutputWithContext(ctx context.Context) BucketAclV2ArrayOutput

type BucketAclV2Input

type BucketAclV2Input interface {
	pulumi.Input

	ToBucketAclV2Output() BucketAclV2Output
	ToBucketAclV2OutputWithContext(ctx context.Context) BucketAclV2Output
}

type BucketAclV2Map

type BucketAclV2Map map[string]BucketAclV2Input

func (BucketAclV2Map) ElementType

func (BucketAclV2Map) ElementType() reflect.Type

func (BucketAclV2Map) ToBucketAclV2MapOutput

func (i BucketAclV2Map) ToBucketAclV2MapOutput() BucketAclV2MapOutput

func (BucketAclV2Map) ToBucketAclV2MapOutputWithContext

func (i BucketAclV2Map) ToBucketAclV2MapOutputWithContext(ctx context.Context) BucketAclV2MapOutput

type BucketAclV2MapInput

type BucketAclV2MapInput interface {
	pulumi.Input

	ToBucketAclV2MapOutput() BucketAclV2MapOutput
	ToBucketAclV2MapOutputWithContext(context.Context) BucketAclV2MapOutput
}

BucketAclV2MapInput is an input type that accepts BucketAclV2Map and BucketAclV2MapOutput values. You can construct a concrete instance of `BucketAclV2MapInput` via:

BucketAclV2Map{ "key": BucketAclV2Args{...} }

type BucketAclV2MapOutput

type BucketAclV2MapOutput struct{ *pulumi.OutputState }

func (BucketAclV2MapOutput) ElementType

func (BucketAclV2MapOutput) ElementType() reflect.Type

func (BucketAclV2MapOutput) MapIndex

func (BucketAclV2MapOutput) ToBucketAclV2MapOutput

func (o BucketAclV2MapOutput) ToBucketAclV2MapOutput() BucketAclV2MapOutput

func (BucketAclV2MapOutput) ToBucketAclV2MapOutputWithContext

func (o BucketAclV2MapOutput) ToBucketAclV2MapOutputWithContext(ctx context.Context) BucketAclV2MapOutput

type BucketAclV2Output

type BucketAclV2Output struct{ *pulumi.OutputState }

func (BucketAclV2Output) AccessControlPolicy

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

func (BucketAclV2Output) 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 (BucketAclV2Output) Bucket

Bucket to which to apply the ACL.

func (BucketAclV2Output) ElementType

func (BucketAclV2Output) ElementType() reflect.Type

func (BucketAclV2Output) ExpectedBucketOwner

func (o BucketAclV2Output) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketAclV2Output) ToBucketAclV2Output

func (o BucketAclV2Output) ToBucketAclV2Output() BucketAclV2Output

func (BucketAclV2Output) ToBucketAclV2OutputWithContext

func (o BucketAclV2Output) ToBucketAclV2OutputWithContext(ctx context.Context) BucketAclV2Output

type BucketAclV2State

type BucketAclV2State struct {
	// Configuration block that sets the ACL permissions for an object per grantee. See below.
	AccessControlPolicy BucketAclV2AccessControlPolicyPtrInput
	// 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
}

func (BucketAclV2State) ElementType

func (BucketAclV2State) ElementType() reflect.Type

type BucketArgs

type BucketArgs struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`.
	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`.
	Acl pulumi.StringPtrInput
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn pulumi.StringPtrInput
	// The name of the bucket. If omitted, this 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).
	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
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayInput
	// A 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 so that the bucket can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrInput
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl) (documented below). Conflicts with `acl`.
	Grants BucketGrantArrayInput
	// 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 pulumi.StringPtrInput
	// A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).
	LifecycleRules BucketLifecycleRuleArrayInput
	// A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).
	Loggings BucketLoggingArrayInput
	// A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)
	//
	// > **NOTE:** You cannot use `accelerationStatus` in `cn-north-1` or `us-gov-west-1`
	ObjectLockConfiguration BucketObjectLockConfigurationPtrInput
	// A 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 a `pulumi preview`. In this case, please make sure you use the verbose/specific version of the policy.
	Policy pulumi.Input
	// A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).
	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.
	RequestPayer pulumi.StringPtrInput
	// A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationPtrInput
	// A 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.
	Tags pulumi.StringMapInput
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningPtrInput
	// A website object (documented below).
	Website BucketWebsitePtrInput
	// The 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 pulumi.StringPtrInput
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint pulumi.StringPtrInput
}

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 BucketCorsConfigurationV2

type BucketCorsConfigurationV2 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 BucketCorsConfigurationV2CorsRuleArrayOutput `pulumi:"corsRules"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
}

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.BucketCorsConfigurationV2` 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketCorsConfigurationV2(ctx, "example", &s3.BucketCorsConfigurationV2Args{
			Bucket: example.ID(),
			CorsRules: s3.BucketCorsConfigurationV2CorsRuleArray{
				&s3.BucketCorsConfigurationV2CorsRuleArgs{
					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.BucketCorsConfigurationV2CorsRuleArgs{
					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/bucketCorsConfigurationV2:BucketCorsConfigurationV2 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/bucketCorsConfigurationV2:BucketCorsConfigurationV2 example bucket-name,123456789012 ```

func GetBucketCorsConfigurationV2

func GetBucketCorsConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketCorsConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketCorsConfigurationV2, error)

GetBucketCorsConfigurationV2 gets an existing BucketCorsConfigurationV2 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 NewBucketCorsConfigurationV2

func NewBucketCorsConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketCorsConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketCorsConfigurationV2, error)

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

func (*BucketCorsConfigurationV2) ElementType

func (*BucketCorsConfigurationV2) ElementType() reflect.Type

func (*BucketCorsConfigurationV2) ToBucketCorsConfigurationV2Output

func (i *BucketCorsConfigurationV2) ToBucketCorsConfigurationV2Output() BucketCorsConfigurationV2Output

func (*BucketCorsConfigurationV2) ToBucketCorsConfigurationV2OutputWithContext

func (i *BucketCorsConfigurationV2) ToBucketCorsConfigurationV2OutputWithContext(ctx context.Context) BucketCorsConfigurationV2Output

type BucketCorsConfigurationV2Args

type BucketCorsConfigurationV2Args 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 BucketCorsConfigurationV2CorsRuleArrayInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
}

The set of arguments for constructing a BucketCorsConfigurationV2 resource.

func (BucketCorsConfigurationV2Args) ElementType

type BucketCorsConfigurationV2Array

type BucketCorsConfigurationV2Array []BucketCorsConfigurationV2Input

func (BucketCorsConfigurationV2Array) ElementType

func (BucketCorsConfigurationV2Array) ToBucketCorsConfigurationV2ArrayOutput

func (i BucketCorsConfigurationV2Array) ToBucketCorsConfigurationV2ArrayOutput() BucketCorsConfigurationV2ArrayOutput

func (BucketCorsConfigurationV2Array) ToBucketCorsConfigurationV2ArrayOutputWithContext

func (i BucketCorsConfigurationV2Array) ToBucketCorsConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationV2ArrayOutput

type BucketCorsConfigurationV2ArrayInput

type BucketCorsConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketCorsConfigurationV2ArrayOutput() BucketCorsConfigurationV2ArrayOutput
	ToBucketCorsConfigurationV2ArrayOutputWithContext(context.Context) BucketCorsConfigurationV2ArrayOutput
}

BucketCorsConfigurationV2ArrayInput is an input type that accepts BucketCorsConfigurationV2Array and BucketCorsConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketCorsConfigurationV2ArrayInput` via:

BucketCorsConfigurationV2Array{ BucketCorsConfigurationV2Args{...} }

type BucketCorsConfigurationV2ArrayOutput

type BucketCorsConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationV2ArrayOutput) ElementType

func (BucketCorsConfigurationV2ArrayOutput) Index

func (BucketCorsConfigurationV2ArrayOutput) ToBucketCorsConfigurationV2ArrayOutput

func (o BucketCorsConfigurationV2ArrayOutput) ToBucketCorsConfigurationV2ArrayOutput() BucketCorsConfigurationV2ArrayOutput

func (BucketCorsConfigurationV2ArrayOutput) ToBucketCorsConfigurationV2ArrayOutputWithContext

func (o BucketCorsConfigurationV2ArrayOutput) ToBucketCorsConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationV2ArrayOutput

type BucketCorsConfigurationV2CorsRule

type BucketCorsConfigurationV2CorsRule 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 BucketCorsConfigurationV2CorsRuleArgs

type BucketCorsConfigurationV2CorsRuleArgs 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 (BucketCorsConfigurationV2CorsRuleArgs) ElementType

func (BucketCorsConfigurationV2CorsRuleArgs) ToBucketCorsConfigurationV2CorsRuleOutput

func (i BucketCorsConfigurationV2CorsRuleArgs) ToBucketCorsConfigurationV2CorsRuleOutput() BucketCorsConfigurationV2CorsRuleOutput

func (BucketCorsConfigurationV2CorsRuleArgs) ToBucketCorsConfigurationV2CorsRuleOutputWithContext

func (i BucketCorsConfigurationV2CorsRuleArgs) ToBucketCorsConfigurationV2CorsRuleOutputWithContext(ctx context.Context) BucketCorsConfigurationV2CorsRuleOutput

type BucketCorsConfigurationV2CorsRuleArray

type BucketCorsConfigurationV2CorsRuleArray []BucketCorsConfigurationV2CorsRuleInput

func (BucketCorsConfigurationV2CorsRuleArray) ElementType

func (BucketCorsConfigurationV2CorsRuleArray) ToBucketCorsConfigurationV2CorsRuleArrayOutput

func (i BucketCorsConfigurationV2CorsRuleArray) ToBucketCorsConfigurationV2CorsRuleArrayOutput() BucketCorsConfigurationV2CorsRuleArrayOutput

func (BucketCorsConfigurationV2CorsRuleArray) ToBucketCorsConfigurationV2CorsRuleArrayOutputWithContext

func (i BucketCorsConfigurationV2CorsRuleArray) ToBucketCorsConfigurationV2CorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationV2CorsRuleArrayOutput

type BucketCorsConfigurationV2CorsRuleArrayInput

type BucketCorsConfigurationV2CorsRuleArrayInput interface {
	pulumi.Input

	ToBucketCorsConfigurationV2CorsRuleArrayOutput() BucketCorsConfigurationV2CorsRuleArrayOutput
	ToBucketCorsConfigurationV2CorsRuleArrayOutputWithContext(context.Context) BucketCorsConfigurationV2CorsRuleArrayOutput
}

BucketCorsConfigurationV2CorsRuleArrayInput is an input type that accepts BucketCorsConfigurationV2CorsRuleArray and BucketCorsConfigurationV2CorsRuleArrayOutput values. You can construct a concrete instance of `BucketCorsConfigurationV2CorsRuleArrayInput` via:

BucketCorsConfigurationV2CorsRuleArray{ BucketCorsConfigurationV2CorsRuleArgs{...} }

type BucketCorsConfigurationV2CorsRuleArrayOutput

type BucketCorsConfigurationV2CorsRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationV2CorsRuleArrayOutput) ElementType

func (BucketCorsConfigurationV2CorsRuleArrayOutput) Index

func (BucketCorsConfigurationV2CorsRuleArrayOutput) ToBucketCorsConfigurationV2CorsRuleArrayOutput

func (o BucketCorsConfigurationV2CorsRuleArrayOutput) ToBucketCorsConfigurationV2CorsRuleArrayOutput() BucketCorsConfigurationV2CorsRuleArrayOutput

func (BucketCorsConfigurationV2CorsRuleArrayOutput) ToBucketCorsConfigurationV2CorsRuleArrayOutputWithContext

func (o BucketCorsConfigurationV2CorsRuleArrayOutput) ToBucketCorsConfigurationV2CorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsConfigurationV2CorsRuleArrayOutput

type BucketCorsConfigurationV2CorsRuleInput

type BucketCorsConfigurationV2CorsRuleInput interface {
	pulumi.Input

	ToBucketCorsConfigurationV2CorsRuleOutput() BucketCorsConfigurationV2CorsRuleOutput
	ToBucketCorsConfigurationV2CorsRuleOutputWithContext(context.Context) BucketCorsConfigurationV2CorsRuleOutput
}

BucketCorsConfigurationV2CorsRuleInput is an input type that accepts BucketCorsConfigurationV2CorsRuleArgs and BucketCorsConfigurationV2CorsRuleOutput values. You can construct a concrete instance of `BucketCorsConfigurationV2CorsRuleInput` via:

BucketCorsConfigurationV2CorsRuleArgs{...}

type BucketCorsConfigurationV2CorsRuleOutput

type BucketCorsConfigurationV2CorsRuleOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationV2CorsRuleOutput) AllowedHeaders

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

func (BucketCorsConfigurationV2CorsRuleOutput) AllowedMethods

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

func (BucketCorsConfigurationV2CorsRuleOutput) AllowedOrigins

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

func (BucketCorsConfigurationV2CorsRuleOutput) ElementType

func (BucketCorsConfigurationV2CorsRuleOutput) 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 (BucketCorsConfigurationV2CorsRuleOutput) Id

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

func (BucketCorsConfigurationV2CorsRuleOutput) MaxAgeSeconds

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

func (BucketCorsConfigurationV2CorsRuleOutput) ToBucketCorsConfigurationV2CorsRuleOutput

func (o BucketCorsConfigurationV2CorsRuleOutput) ToBucketCorsConfigurationV2CorsRuleOutput() BucketCorsConfigurationV2CorsRuleOutput

func (BucketCorsConfigurationV2CorsRuleOutput) ToBucketCorsConfigurationV2CorsRuleOutputWithContext

func (o BucketCorsConfigurationV2CorsRuleOutput) ToBucketCorsConfigurationV2CorsRuleOutputWithContext(ctx context.Context) BucketCorsConfigurationV2CorsRuleOutput

type BucketCorsConfigurationV2Input

type BucketCorsConfigurationV2Input interface {
	pulumi.Input

	ToBucketCorsConfigurationV2Output() BucketCorsConfigurationV2Output
	ToBucketCorsConfigurationV2OutputWithContext(ctx context.Context) BucketCorsConfigurationV2Output
}

type BucketCorsConfigurationV2Map

type BucketCorsConfigurationV2Map map[string]BucketCorsConfigurationV2Input

func (BucketCorsConfigurationV2Map) ElementType

func (BucketCorsConfigurationV2Map) ToBucketCorsConfigurationV2MapOutput

func (i BucketCorsConfigurationV2Map) ToBucketCorsConfigurationV2MapOutput() BucketCorsConfigurationV2MapOutput

func (BucketCorsConfigurationV2Map) ToBucketCorsConfigurationV2MapOutputWithContext

func (i BucketCorsConfigurationV2Map) ToBucketCorsConfigurationV2MapOutputWithContext(ctx context.Context) BucketCorsConfigurationV2MapOutput

type BucketCorsConfigurationV2MapInput

type BucketCorsConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketCorsConfigurationV2MapOutput() BucketCorsConfigurationV2MapOutput
	ToBucketCorsConfigurationV2MapOutputWithContext(context.Context) BucketCorsConfigurationV2MapOutput
}

BucketCorsConfigurationV2MapInput is an input type that accepts BucketCorsConfigurationV2Map and BucketCorsConfigurationV2MapOutput values. You can construct a concrete instance of `BucketCorsConfigurationV2MapInput` via:

BucketCorsConfigurationV2Map{ "key": BucketCorsConfigurationV2Args{...} }

type BucketCorsConfigurationV2MapOutput

type BucketCorsConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketCorsConfigurationV2MapOutput) ElementType

func (BucketCorsConfigurationV2MapOutput) MapIndex

func (BucketCorsConfigurationV2MapOutput) ToBucketCorsConfigurationV2MapOutput

func (o BucketCorsConfigurationV2MapOutput) ToBucketCorsConfigurationV2MapOutput() BucketCorsConfigurationV2MapOutput

func (BucketCorsConfigurationV2MapOutput) ToBucketCorsConfigurationV2MapOutputWithContext

func (o BucketCorsConfigurationV2MapOutput) ToBucketCorsConfigurationV2MapOutputWithContext(ctx context.Context) BucketCorsConfigurationV2MapOutput

type BucketCorsConfigurationV2Output

type BucketCorsConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketCorsConfigurationV2Output) Bucket

Name of the bucket.

func (BucketCorsConfigurationV2Output) CorsRules

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

func (BucketCorsConfigurationV2Output) ElementType

func (BucketCorsConfigurationV2Output) ExpectedBucketOwner

func (o BucketCorsConfigurationV2Output) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketCorsConfigurationV2Output) ToBucketCorsConfigurationV2Output

func (o BucketCorsConfigurationV2Output) ToBucketCorsConfigurationV2Output() BucketCorsConfigurationV2Output

func (BucketCorsConfigurationV2Output) ToBucketCorsConfigurationV2OutputWithContext

func (o BucketCorsConfigurationV2Output) ToBucketCorsConfigurationV2OutputWithContext(ctx context.Context) BucketCorsConfigurationV2Output

type BucketCorsConfigurationV2State

type BucketCorsConfigurationV2State 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 BucketCorsConfigurationV2CorsRuleArrayInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
}

func (BucketCorsConfigurationV2State) ElementType

type BucketCorsRule

type BucketCorsRule struct {
	// Specifies which headers are allowed.
	AllowedHeaders []string `pulumi:"allowedHeaders"`
	// Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods []string `pulumi:"allowedMethods"`
	// Specifies which origins are allowed.
	AllowedOrigins []string `pulumi:"allowedOrigins"`
	// Specifies expose header in the response.
	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 {
	// Specifies which headers are allowed.
	AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"`
	// Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"`
	// Specifies which origins are allowed.
	AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"`
	// Specifies expose header in the response.
	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

Specifies which headers are allowed.

func (BucketCorsRuleOutput) AllowedMethods

func (o BucketCorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput

Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.

func (BucketCorsRuleOutput) AllowedOrigins

func (o BucketCorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput

Specifies which origins are allowed.

func (BucketCorsRuleOutput) ElementType

func (BucketCorsRuleOutput) ElementType() reflect.Type

func (BucketCorsRuleOutput) ExposeHeaders

func (o BucketCorsRuleOutput) ExposeHeaders() pulumi.StringArrayOutput

Specifies expose header in the response.

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"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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
	// 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) 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
	// 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 BucketLifecycleConfigurationV2

type BucketLifecycleConfigurationV2 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.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules BucketLifecycleConfigurationV2RuleArrayOutput `pulumi:"rules"`
	// 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.BucketLifecycleConfigurationV2` 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.BucketV2` resource prior to `v4.0`.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id:     pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{},
					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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						Prefix: pulumi.String("logs/"),
					},
					Status: pulumi.String("Enabled"),
				},
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-2"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						Tag: &s3.BucketLifecycleConfigurationV2RuleFilterTagArgs{
							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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{
							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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{
							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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("Allow small object transitions"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						ObjectSizeGreaterThan: pulumi.String("1"),
					},
					Status: pulumi.String("Enabled"),
					Transitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{
						&s3.BucketLifecycleConfigurationV2RuleTransitionArgs{
							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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketLifecycleConfigurationV2(ctx, "example", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: pulumi.Any(bucket.Id),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("rule-1"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{
							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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			Bucket: pulumi.String("my-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "bucket_acl", &s3.BucketAclV2Args{
			Bucket: bucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLifecycleConfigurationV2(ctx, "bucket-config", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: bucket.ID(),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("log"),
					Expiration: &s3.BucketLifecycleConfigurationV2RuleExpirationArgs{
						Days: pulumi.Int(90),
					},
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						And: &s3.BucketLifecycleConfigurationV2RuleFilterAndArgs{
							Prefix: pulumi.String("log/"),
							Tags: pulumi.StringMap{
								"rule":      pulumi.String("log"),
								"autoclean": pulumi.String("true"),
							},
						},
					},
					Status: pulumi.String("Enabled"),
					Transitions: s3.BucketLifecycleConfigurationV2RuleTransitionArray{
						&s3.BucketLifecycleConfigurationV2RuleTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleConfigurationV2RuleTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
				},
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("tmp"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						Prefix: pulumi.String("tmp/"),
					},
					Expiration: &s3.BucketLifecycleConfigurationV2RuleExpirationArgs{
						Date: pulumi.String("2023-01-13T00:00:00Z"),
					},
					Status: pulumi.String("Enabled"),
				},
			},
		})
		if err != nil {
			return err
		}
		versioningBucket, err := s3.NewBucketV2(ctx, "versioning_bucket", &s3.BucketV2Args{
			Bucket: pulumi.String("my-versioning-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "versioning_bucket_acl", &s3.BucketAclV2Args{
			Bucket: versioningBucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		versioning, err := s3.NewBucketVersioningV2(ctx, "versioning", &s3.BucketVersioningV2Args{
			Bucket: versioningBucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLifecycleConfigurationV2(ctx, "versioning-bucket-config", &s3.BucketLifecycleConfigurationV2Args{
			Bucket: versioningBucket.ID(),
			Rules: s3.BucketLifecycleConfigurationV2RuleArray{
				&s3.BucketLifecycleConfigurationV2RuleArgs{
					Id: pulumi.String("config"),
					Filter: &s3.BucketLifecycleConfigurationV2RuleFilterArgs{
						Prefix: pulumi.String("config/"),
					},
					NoncurrentVersionExpiration: &s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{
						NoncurrentDays: pulumi.Int(90),
					},
					NoncurrentVersionTransitions: s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{
						&s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{
							NoncurrentDays: pulumi.Int(30),
							StorageClass:   pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{
							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/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 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/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2 example bucket-name,123456789012 ```

func GetBucketLifecycleConfigurationV2

func GetBucketLifecycleConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketLifecycleConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketLifecycleConfigurationV2, error)

GetBucketLifecycleConfigurationV2 gets an existing BucketLifecycleConfigurationV2 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 NewBucketLifecycleConfigurationV2

func NewBucketLifecycleConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketLifecycleConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketLifecycleConfigurationV2, error)

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

func (*BucketLifecycleConfigurationV2) ElementType

func (*BucketLifecycleConfigurationV2) ToBucketLifecycleConfigurationV2Output

func (i *BucketLifecycleConfigurationV2) ToBucketLifecycleConfigurationV2Output() BucketLifecycleConfigurationV2Output

func (*BucketLifecycleConfigurationV2) ToBucketLifecycleConfigurationV2OutputWithContext

func (i *BucketLifecycleConfigurationV2) ToBucketLifecycleConfigurationV2OutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2Output

type BucketLifecycleConfigurationV2Args

type BucketLifecycleConfigurationV2Args 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
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules BucketLifecycleConfigurationV2RuleArrayInput
	// 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 BucketLifecycleConfigurationV2 resource.

func (BucketLifecycleConfigurationV2Args) ElementType

type BucketLifecycleConfigurationV2Array

type BucketLifecycleConfigurationV2Array []BucketLifecycleConfigurationV2Input

func (BucketLifecycleConfigurationV2Array) ElementType

func (BucketLifecycleConfigurationV2Array) ToBucketLifecycleConfigurationV2ArrayOutput

func (i BucketLifecycleConfigurationV2Array) ToBucketLifecycleConfigurationV2ArrayOutput() BucketLifecycleConfigurationV2ArrayOutput

func (BucketLifecycleConfigurationV2Array) ToBucketLifecycleConfigurationV2ArrayOutputWithContext

func (i BucketLifecycleConfigurationV2Array) ToBucketLifecycleConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2ArrayOutput

type BucketLifecycleConfigurationV2ArrayInput

type BucketLifecycleConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2ArrayOutput() BucketLifecycleConfigurationV2ArrayOutput
	ToBucketLifecycleConfigurationV2ArrayOutputWithContext(context.Context) BucketLifecycleConfigurationV2ArrayOutput
}

BucketLifecycleConfigurationV2ArrayInput is an input type that accepts BucketLifecycleConfigurationV2Array and BucketLifecycleConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2ArrayInput` via:

BucketLifecycleConfigurationV2Array{ BucketLifecycleConfigurationV2Args{...} }

type BucketLifecycleConfigurationV2ArrayOutput

type BucketLifecycleConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2ArrayOutput) ElementType

func (BucketLifecycleConfigurationV2ArrayOutput) Index

func (BucketLifecycleConfigurationV2ArrayOutput) ToBucketLifecycleConfigurationV2ArrayOutput

func (o BucketLifecycleConfigurationV2ArrayOutput) ToBucketLifecycleConfigurationV2ArrayOutput() BucketLifecycleConfigurationV2ArrayOutput

func (BucketLifecycleConfigurationV2ArrayOutput) ToBucketLifecycleConfigurationV2ArrayOutputWithContext

func (o BucketLifecycleConfigurationV2ArrayOutput) ToBucketLifecycleConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2ArrayOutput

type BucketLifecycleConfigurationV2Input

type BucketLifecycleConfigurationV2Input interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2Output() BucketLifecycleConfigurationV2Output
	ToBucketLifecycleConfigurationV2OutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2Output
}

type BucketLifecycleConfigurationV2Map

type BucketLifecycleConfigurationV2Map map[string]BucketLifecycleConfigurationV2Input

func (BucketLifecycleConfigurationV2Map) ElementType

func (BucketLifecycleConfigurationV2Map) ToBucketLifecycleConfigurationV2MapOutput

func (i BucketLifecycleConfigurationV2Map) ToBucketLifecycleConfigurationV2MapOutput() BucketLifecycleConfigurationV2MapOutput

func (BucketLifecycleConfigurationV2Map) ToBucketLifecycleConfigurationV2MapOutputWithContext

func (i BucketLifecycleConfigurationV2Map) ToBucketLifecycleConfigurationV2MapOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2MapOutput

type BucketLifecycleConfigurationV2MapInput

type BucketLifecycleConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2MapOutput() BucketLifecycleConfigurationV2MapOutput
	ToBucketLifecycleConfigurationV2MapOutputWithContext(context.Context) BucketLifecycleConfigurationV2MapOutput
}

BucketLifecycleConfigurationV2MapInput is an input type that accepts BucketLifecycleConfigurationV2Map and BucketLifecycleConfigurationV2MapOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2MapInput` via:

BucketLifecycleConfigurationV2Map{ "key": BucketLifecycleConfigurationV2Args{...} }

type BucketLifecycleConfigurationV2MapOutput

type BucketLifecycleConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2MapOutput) ElementType

func (BucketLifecycleConfigurationV2MapOutput) MapIndex

func (BucketLifecycleConfigurationV2MapOutput) ToBucketLifecycleConfigurationV2MapOutput

func (o BucketLifecycleConfigurationV2MapOutput) ToBucketLifecycleConfigurationV2MapOutput() BucketLifecycleConfigurationV2MapOutput

func (BucketLifecycleConfigurationV2MapOutput) ToBucketLifecycleConfigurationV2MapOutputWithContext

func (o BucketLifecycleConfigurationV2MapOutput) ToBucketLifecycleConfigurationV2MapOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2MapOutput

type BucketLifecycleConfigurationV2Output

type BucketLifecycleConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2Output) Bucket

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

func (BucketLifecycleConfigurationV2Output) ElementType

func (BucketLifecycleConfigurationV2Output) ExpectedBucketOwner

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 (BucketLifecycleConfigurationV2Output) Rules

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

func (BucketLifecycleConfigurationV2Output) ToBucketLifecycleConfigurationV2Output

func (o BucketLifecycleConfigurationV2Output) ToBucketLifecycleConfigurationV2Output() BucketLifecycleConfigurationV2Output

func (BucketLifecycleConfigurationV2Output) ToBucketLifecycleConfigurationV2OutputWithContext

func (o BucketLifecycleConfigurationV2Output) ToBucketLifecycleConfigurationV2OutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2Output

func (BucketLifecycleConfigurationV2Output) TransitionDefaultMinimumObjectSize added in v6.55.0

func (o BucketLifecycleConfigurationV2Output) 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 BucketLifecycleConfigurationV2Rule

type BucketLifecycleConfigurationV2Rule 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 *BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUpload `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 *BucketLifecycleConfigurationV2RuleExpiration `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`.
	Filter *BucketLifecycleConfigurationV2RuleFilter `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 *BucketLifecycleConfigurationV2RuleNoncurrentVersionExpiration `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 []BucketLifecycleConfigurationV2RuleNoncurrentVersionTransition `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.
	//
	// Deprecated: Use 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 []BucketLifecycleConfigurationV2RuleTransition `pulumi:"transitions"`
}

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUpload

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

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs

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

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ElementType

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutputWithContext

func (i BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadInput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput() BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput
	ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput
}

BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadInput is an input type that accepts BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs and BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadInput` via:

BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs{...}

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) DaysAfterInitiation

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

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ElementType

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutputWithContext

func (o BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrInput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput() BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput
	ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput
}

BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs, BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtr and BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrInput` via:

        BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

type BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput) DaysAfterInitiation

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

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput

func (BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutput) ToBucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrOutputWithContext

type BucketLifecycleConfigurationV2RuleArgs

type BucketLifecycleConfigurationV2RuleArgs 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 BucketLifecycleConfigurationV2RuleAbortIncompleteMultipartUploadPtrInput `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 BucketLifecycleConfigurationV2RuleExpirationPtrInput `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`.
	Filter BucketLifecycleConfigurationV2RuleFilterPtrInput `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 BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrInput `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 BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayInput `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.
	//
	// Deprecated: Use 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 BucketLifecycleConfigurationV2RuleTransitionArrayInput `pulumi:"transitions"`
}

func (BucketLifecycleConfigurationV2RuleArgs) ElementType

func (BucketLifecycleConfigurationV2RuleArgs) ToBucketLifecycleConfigurationV2RuleOutput

func (i BucketLifecycleConfigurationV2RuleArgs) ToBucketLifecycleConfigurationV2RuleOutput() BucketLifecycleConfigurationV2RuleOutput

func (BucketLifecycleConfigurationV2RuleArgs) ToBucketLifecycleConfigurationV2RuleOutputWithContext

func (i BucketLifecycleConfigurationV2RuleArgs) ToBucketLifecycleConfigurationV2RuleOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleOutput

type BucketLifecycleConfigurationV2RuleArray

type BucketLifecycleConfigurationV2RuleArray []BucketLifecycleConfigurationV2RuleInput

func (BucketLifecycleConfigurationV2RuleArray) ElementType

func (BucketLifecycleConfigurationV2RuleArray) ToBucketLifecycleConfigurationV2RuleArrayOutput

func (i BucketLifecycleConfigurationV2RuleArray) ToBucketLifecycleConfigurationV2RuleArrayOutput() BucketLifecycleConfigurationV2RuleArrayOutput

func (BucketLifecycleConfigurationV2RuleArray) ToBucketLifecycleConfigurationV2RuleArrayOutputWithContext

func (i BucketLifecycleConfigurationV2RuleArray) ToBucketLifecycleConfigurationV2RuleArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleArrayOutput

type BucketLifecycleConfigurationV2RuleArrayInput

type BucketLifecycleConfigurationV2RuleArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleArrayOutput() BucketLifecycleConfigurationV2RuleArrayOutput
	ToBucketLifecycleConfigurationV2RuleArrayOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleArrayOutput
}

BucketLifecycleConfigurationV2RuleArrayInput is an input type that accepts BucketLifecycleConfigurationV2RuleArray and BucketLifecycleConfigurationV2RuleArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleArrayInput` via:

BucketLifecycleConfigurationV2RuleArray{ BucketLifecycleConfigurationV2RuleArgs{...} }

type BucketLifecycleConfigurationV2RuleArrayOutput

type BucketLifecycleConfigurationV2RuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleArrayOutput) ElementType

func (BucketLifecycleConfigurationV2RuleArrayOutput) Index

func (BucketLifecycleConfigurationV2RuleArrayOutput) ToBucketLifecycleConfigurationV2RuleArrayOutput

func (o BucketLifecycleConfigurationV2RuleArrayOutput) ToBucketLifecycleConfigurationV2RuleArrayOutput() BucketLifecycleConfigurationV2RuleArrayOutput

func (BucketLifecycleConfigurationV2RuleArrayOutput) ToBucketLifecycleConfigurationV2RuleArrayOutputWithContext

func (o BucketLifecycleConfigurationV2RuleArrayOutput) ToBucketLifecycleConfigurationV2RuleArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleArrayOutput

type BucketLifecycleConfigurationV2RuleExpiration

type BucketLifecycleConfigurationV2RuleExpiration 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 BucketLifecycleConfigurationV2RuleExpirationArgs

type BucketLifecycleConfigurationV2RuleExpirationArgs 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 (BucketLifecycleConfigurationV2RuleExpirationArgs) ElementType

func (BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationOutput

func (i BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationOutput() BucketLifecycleConfigurationV2RuleExpirationOutput

func (BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationOutputWithContext

func (i BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleExpirationOutput

func (BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput

func (i BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput() BucketLifecycleConfigurationV2RuleExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleExpirationArgs) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleExpirationInput

type BucketLifecycleConfigurationV2RuleExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleExpirationOutput() BucketLifecycleConfigurationV2RuleExpirationOutput
	ToBucketLifecycleConfigurationV2RuleExpirationOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleExpirationOutput
}

BucketLifecycleConfigurationV2RuleExpirationInput is an input type that accepts BucketLifecycleConfigurationV2RuleExpirationArgs and BucketLifecycleConfigurationV2RuleExpirationOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleExpirationInput` via:

BucketLifecycleConfigurationV2RuleExpirationArgs{...}

type BucketLifecycleConfigurationV2RuleExpirationOutput

type BucketLifecycleConfigurationV2RuleExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleExpirationOutput) 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 (BucketLifecycleConfigurationV2RuleExpirationOutput) Days

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

func (BucketLifecycleConfigurationV2RuleExpirationOutput) ElementType

func (BucketLifecycleConfigurationV2RuleExpirationOutput) 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 (BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationOutput

func (o BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationOutput() BucketLifecycleConfigurationV2RuleExpirationOutput

func (BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationOutputWithContext

func (o BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleExpirationOutput

func (BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput

func (o BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput() BucketLifecycleConfigurationV2RuleExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleExpirationOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleExpirationPtrInput

type BucketLifecycleConfigurationV2RuleExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput() BucketLifecycleConfigurationV2RuleExpirationPtrOutput
	ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleExpirationPtrOutput
}

BucketLifecycleConfigurationV2RuleExpirationPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleExpirationArgs, BucketLifecycleConfigurationV2RuleExpirationPtr and BucketLifecycleConfigurationV2RuleExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleExpirationPtrInput` via:

        BucketLifecycleConfigurationV2RuleExpirationArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) 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 (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) Days

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

func (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) 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 (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleFilter

type BucketLifecycleConfigurationV2RuleFilter 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 *BucketLifecycleConfigurationV2RuleFilterAnd `pulumi:"and"`
	// Minimum object size (in bytes) to which the rule applies.
	ObjectSizeGreaterThan *string `pulumi:"objectSizeGreaterThan"`
	// Maximum object size (in bytes) to which the rule applies.
	ObjectSizeLessThan *string `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 *BucketLifecycleConfigurationV2RuleFilterTag `pulumi:"tag"`
}

type BucketLifecycleConfigurationV2RuleFilterAnd

type BucketLifecycleConfigurationV2RuleFilterAnd 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.
	Tags map[string]string `pulumi:"tags"`
}

type BucketLifecycleConfigurationV2RuleFilterAndArgs

type BucketLifecycleConfigurationV2RuleFilterAndArgs 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.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (BucketLifecycleConfigurationV2RuleFilterAndArgs) ElementType

func (BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndOutput

func (i BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndOutput() BucketLifecycleConfigurationV2RuleFilterAndOutput

func (BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterAndOutput

func (BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput

func (i BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput() BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterAndArgs) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

type BucketLifecycleConfigurationV2RuleFilterAndInput

type BucketLifecycleConfigurationV2RuleFilterAndInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterAndOutput() BucketLifecycleConfigurationV2RuleFilterAndOutput
	ToBucketLifecycleConfigurationV2RuleFilterAndOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterAndOutput
}

BucketLifecycleConfigurationV2RuleFilterAndInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterAndArgs and BucketLifecycleConfigurationV2RuleFilterAndOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterAndInput` via:

BucketLifecycleConfigurationV2RuleFilterAndArgs{...}

type BucketLifecycleConfigurationV2RuleFilterAndOutput

type BucketLifecycleConfigurationV2RuleFilterAndOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) 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 (BucketLifecycleConfigurationV2RuleFilterAndOutput) ObjectSizeLessThan

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

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) Prefix

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

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) 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.

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndOutput

func (o BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndOutput() BucketLifecycleConfigurationV2RuleFilterAndOutput

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterAndOutput

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput

func (o BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput() BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterAndOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

type BucketLifecycleConfigurationV2RuleFilterAndPtrInput

type BucketLifecycleConfigurationV2RuleFilterAndPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput() BucketLifecycleConfigurationV2RuleFilterAndPtrOutput
	ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterAndPtrOutput
}

BucketLifecycleConfigurationV2RuleFilterAndPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterAndArgs, BucketLifecycleConfigurationV2RuleFilterAndPtr and BucketLifecycleConfigurationV2RuleFilterAndPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterAndPtrInput` via:

        BucketLifecycleConfigurationV2RuleFilterAndArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

type BucketLifecycleConfigurationV2RuleFilterAndPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) 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 (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) ObjectSizeLessThan

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

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) Prefix

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

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) 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.

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterAndPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterAndPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterAndPtrOutput

type BucketLifecycleConfigurationV2RuleFilterArgs

type BucketLifecycleConfigurationV2RuleFilterArgs 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 BucketLifecycleConfigurationV2RuleFilterAndPtrInput `pulumi:"and"`
	// Minimum object size (in bytes) to which the rule applies.
	ObjectSizeGreaterThan pulumi.StringPtrInput `pulumi:"objectSizeGreaterThan"`
	// Maximum object size (in bytes) to which the rule applies.
	ObjectSizeLessThan pulumi.StringPtrInput `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 BucketLifecycleConfigurationV2RuleFilterTagPtrInput `pulumi:"tag"`
}

func (BucketLifecycleConfigurationV2RuleFilterArgs) ElementType

func (BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterOutput

func (i BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterOutput() BucketLifecycleConfigurationV2RuleFilterOutput

func (BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterOutput

func (BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput

func (i BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput() BucketLifecycleConfigurationV2RuleFilterPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterArgs) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterPtrOutput

type BucketLifecycleConfigurationV2RuleFilterInput

type BucketLifecycleConfigurationV2RuleFilterInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterOutput() BucketLifecycleConfigurationV2RuleFilterOutput
	ToBucketLifecycleConfigurationV2RuleFilterOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterOutput
}

BucketLifecycleConfigurationV2RuleFilterInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterArgs and BucketLifecycleConfigurationV2RuleFilterOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterInput` via:

BucketLifecycleConfigurationV2RuleFilterArgs{...}

type BucketLifecycleConfigurationV2RuleFilterOutput

type BucketLifecycleConfigurationV2RuleFilterOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterOutput) 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 (BucketLifecycleConfigurationV2RuleFilterOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterOutput) ObjectSizeGreaterThan

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

func (BucketLifecycleConfigurationV2RuleFilterOutput) ObjectSizeLessThan

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

func (BucketLifecycleConfigurationV2RuleFilterOutput) Prefix

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

func (BucketLifecycleConfigurationV2RuleFilterOutput) Tag

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

func (BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterOutput

func (o BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterOutput() BucketLifecycleConfigurationV2RuleFilterOutput

func (BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterOutput

func (BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput

func (o BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput() BucketLifecycleConfigurationV2RuleFilterPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterPtrOutput

type BucketLifecycleConfigurationV2RuleFilterPtrInput

type BucketLifecycleConfigurationV2RuleFilterPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterPtrOutput() BucketLifecycleConfigurationV2RuleFilterPtrOutput
	ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterPtrOutput
}

BucketLifecycleConfigurationV2RuleFilterPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterArgs, BucketLifecycleConfigurationV2RuleFilterPtr and BucketLifecycleConfigurationV2RuleFilterPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterPtrInput` via:

        BucketLifecycleConfigurationV2RuleFilterArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleFilterPtrOutput

type BucketLifecycleConfigurationV2RuleFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) 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 (BucketLifecycleConfigurationV2RuleFilterPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) ObjectSizeGreaterThan

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

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) ObjectSizeLessThan

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

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) Prefix

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

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) Tag

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

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput

func (o BucketLifecycleConfigurationV2RuleFilterPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutput() BucketLifecycleConfigurationV2RuleFilterPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterPtrOutput

type BucketLifecycleConfigurationV2RuleFilterTag

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

type BucketLifecycleConfigurationV2RuleFilterTagArgs

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

func (BucketLifecycleConfigurationV2RuleFilterTagArgs) ElementType

func (BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagOutput

func (i BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagOutput() BucketLifecycleConfigurationV2RuleFilterTagOutput

func (BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterTagOutput

func (BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (i BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput() BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleFilterTagArgs) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

type BucketLifecycleConfigurationV2RuleFilterTagInput

type BucketLifecycleConfigurationV2RuleFilterTagInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterTagOutput() BucketLifecycleConfigurationV2RuleFilterTagOutput
	ToBucketLifecycleConfigurationV2RuleFilterTagOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterTagOutput
}

BucketLifecycleConfigurationV2RuleFilterTagInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterTagArgs and BucketLifecycleConfigurationV2RuleFilterTagOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterTagInput` via:

BucketLifecycleConfigurationV2RuleFilterTagArgs{...}

type BucketLifecycleConfigurationV2RuleFilterTagOutput

type BucketLifecycleConfigurationV2RuleFilterTagOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) Key

Name of the object key.

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagOutput

func (o BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagOutput() BucketLifecycleConfigurationV2RuleFilterTagOutput

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterTagOutput

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (o BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput() BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterTagOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterTagOutput) Value

Value of the tag.

type BucketLifecycleConfigurationV2RuleFilterTagPtrInput

type BucketLifecycleConfigurationV2RuleFilterTagPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput() BucketLifecycleConfigurationV2RuleFilterTagPtrOutput
	ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleFilterTagPtrOutput
}

BucketLifecycleConfigurationV2RuleFilterTagPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleFilterTagArgs, BucketLifecycleConfigurationV2RuleFilterTagPtr and BucketLifecycleConfigurationV2RuleFilterTagPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleFilterTagPtrInput` via:

        BucketLifecycleConfigurationV2RuleFilterTagArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

type BucketLifecycleConfigurationV2RuleFilterTagPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) Key

Name of the object key.

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) ToBucketLifecycleConfigurationV2RuleFilterTagPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleFilterTagPtrOutput

func (BucketLifecycleConfigurationV2RuleFilterTagPtrOutput) Value

Value of the tag.

type BucketLifecycleConfigurationV2RuleInput

type BucketLifecycleConfigurationV2RuleInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleOutput() BucketLifecycleConfigurationV2RuleOutput
	ToBucketLifecycleConfigurationV2RuleOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleOutput
}

BucketLifecycleConfigurationV2RuleInput is an input type that accepts BucketLifecycleConfigurationV2RuleArgs and BucketLifecycleConfigurationV2RuleOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleInput` via:

BucketLifecycleConfigurationV2RuleArgs{...}

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpiration

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpiration struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions *string `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 BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutputWithContext

func (i BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext

func (i BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationInput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput() BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput
	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput
}

BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationInput is an input type that accepts BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs and BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationInput` via:

BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{...}

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) NewerNoncurrentVersions

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) NoncurrentDays

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutputWithContext

func (o BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrInput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput() BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput
	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput
}

BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrInput is an input type that accepts BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs, BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtr and BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrInput` via:

        BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationArgs{...}

or:

        nil

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) Elem

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) NewerNoncurrentVersions

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) NoncurrentDays

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext

func (o BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionExpirationPtrOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransition

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransition struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions *string `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 BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs struct {
	// Number of noncurrent versions Amazon S3 will retain. Must be a non-zero positive integer.
	NewerNoncurrentVersions pulumi.StringPtrInput `pulumi:"newerNoncurrentVersions"`
	// Number of days an object is noncurrent before Amazon S3 can perform the associated action.
	NoncurrentDays pulumi.IntPtrInput `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 (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutputWithContext

func (i BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray []BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionInput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutputWithContext

func (i BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayInput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput() BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput
	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput
}

BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayInput is an input type that accepts BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray and BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayInput` via:

BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArray{ BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{...} }

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArrayOutputWithContext

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionInput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput() BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput
	ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput
}

BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionInput is an input type that accepts BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs and BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionInput` via:

BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionArgs{...}

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) ElementType

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) NewerNoncurrentVersions

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) NoncurrentDays

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) StorageClass

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

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput

func (BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutputWithContext

func (o BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput) ToBucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleNoncurrentVersionTransitionOutput

type BucketLifecycleConfigurationV2RuleOutput

type BucketLifecycleConfigurationV2RuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleOutput) 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 (BucketLifecycleConfigurationV2RuleOutput) ElementType

func (BucketLifecycleConfigurationV2RuleOutput) 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 (BucketLifecycleConfigurationV2RuleOutput) 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`.

func (BucketLifecycleConfigurationV2RuleOutput) Id

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

func (BucketLifecycleConfigurationV2RuleOutput) NoncurrentVersionExpiration

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

func (BucketLifecycleConfigurationV2RuleOutput) 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 (BucketLifecycleConfigurationV2RuleOutput) 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.

Deprecated: Use filter instead

func (BucketLifecycleConfigurationV2RuleOutput) Status

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

func (BucketLifecycleConfigurationV2RuleOutput) ToBucketLifecycleConfigurationV2RuleOutput

func (o BucketLifecycleConfigurationV2RuleOutput) ToBucketLifecycleConfigurationV2RuleOutput() BucketLifecycleConfigurationV2RuleOutput

func (BucketLifecycleConfigurationV2RuleOutput) ToBucketLifecycleConfigurationV2RuleOutputWithContext

func (o BucketLifecycleConfigurationV2RuleOutput) ToBucketLifecycleConfigurationV2RuleOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleOutput

func (BucketLifecycleConfigurationV2RuleOutput) Transitions

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

type BucketLifecycleConfigurationV2RuleTransition

type BucketLifecycleConfigurationV2RuleTransition 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 BucketLifecycleConfigurationV2RuleTransitionArgs

type BucketLifecycleConfigurationV2RuleTransitionArgs 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 (BucketLifecycleConfigurationV2RuleTransitionArgs) ElementType

func (BucketLifecycleConfigurationV2RuleTransitionArgs) ToBucketLifecycleConfigurationV2RuleTransitionOutput

func (i BucketLifecycleConfigurationV2RuleTransitionArgs) ToBucketLifecycleConfigurationV2RuleTransitionOutput() BucketLifecycleConfigurationV2RuleTransitionOutput

func (BucketLifecycleConfigurationV2RuleTransitionArgs) ToBucketLifecycleConfigurationV2RuleTransitionOutputWithContext

func (i BucketLifecycleConfigurationV2RuleTransitionArgs) ToBucketLifecycleConfigurationV2RuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleTransitionOutput

type BucketLifecycleConfigurationV2RuleTransitionArray

type BucketLifecycleConfigurationV2RuleTransitionArray []BucketLifecycleConfigurationV2RuleTransitionInput

func (BucketLifecycleConfigurationV2RuleTransitionArray) ElementType

func (BucketLifecycleConfigurationV2RuleTransitionArray) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutput

func (i BucketLifecycleConfigurationV2RuleTransitionArray) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutput() BucketLifecycleConfigurationV2RuleTransitionArrayOutput

func (BucketLifecycleConfigurationV2RuleTransitionArray) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutputWithContext

func (i BucketLifecycleConfigurationV2RuleTransitionArray) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleTransitionArrayOutput

type BucketLifecycleConfigurationV2RuleTransitionArrayInput

type BucketLifecycleConfigurationV2RuleTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleTransitionArrayOutput() BucketLifecycleConfigurationV2RuleTransitionArrayOutput
	ToBucketLifecycleConfigurationV2RuleTransitionArrayOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleTransitionArrayOutput
}

BucketLifecycleConfigurationV2RuleTransitionArrayInput is an input type that accepts BucketLifecycleConfigurationV2RuleTransitionArray and BucketLifecycleConfigurationV2RuleTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleTransitionArrayInput` via:

BucketLifecycleConfigurationV2RuleTransitionArray{ BucketLifecycleConfigurationV2RuleTransitionArgs{...} }

type BucketLifecycleConfigurationV2RuleTransitionArrayOutput

type BucketLifecycleConfigurationV2RuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleTransitionArrayOutput) ElementType

func (BucketLifecycleConfigurationV2RuleTransitionArrayOutput) Index

func (BucketLifecycleConfigurationV2RuleTransitionArrayOutput) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutput

func (BucketLifecycleConfigurationV2RuleTransitionArrayOutput) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutputWithContext

func (o BucketLifecycleConfigurationV2RuleTransitionArrayOutput) ToBucketLifecycleConfigurationV2RuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleTransitionArrayOutput

type BucketLifecycleConfigurationV2RuleTransitionInput

type BucketLifecycleConfigurationV2RuleTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleConfigurationV2RuleTransitionOutput() BucketLifecycleConfigurationV2RuleTransitionOutput
	ToBucketLifecycleConfigurationV2RuleTransitionOutputWithContext(context.Context) BucketLifecycleConfigurationV2RuleTransitionOutput
}

BucketLifecycleConfigurationV2RuleTransitionInput is an input type that accepts BucketLifecycleConfigurationV2RuleTransitionArgs and BucketLifecycleConfigurationV2RuleTransitionOutput values. You can construct a concrete instance of `BucketLifecycleConfigurationV2RuleTransitionInput` via:

BucketLifecycleConfigurationV2RuleTransitionArgs{...}

type BucketLifecycleConfigurationV2RuleTransitionOutput

type BucketLifecycleConfigurationV2RuleTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleConfigurationV2RuleTransitionOutput) 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 (BucketLifecycleConfigurationV2RuleTransitionOutput) 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 (BucketLifecycleConfigurationV2RuleTransitionOutput) ElementType

func (BucketLifecycleConfigurationV2RuleTransitionOutput) StorageClass

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

func (BucketLifecycleConfigurationV2RuleTransitionOutput) ToBucketLifecycleConfigurationV2RuleTransitionOutput

func (o BucketLifecycleConfigurationV2RuleTransitionOutput) ToBucketLifecycleConfigurationV2RuleTransitionOutput() BucketLifecycleConfigurationV2RuleTransitionOutput

func (BucketLifecycleConfigurationV2RuleTransitionOutput) ToBucketLifecycleConfigurationV2RuleTransitionOutputWithContext

func (o BucketLifecycleConfigurationV2RuleTransitionOutput) ToBucketLifecycleConfigurationV2RuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleConfigurationV2RuleTransitionOutput

type BucketLifecycleConfigurationV2State

type BucketLifecycleConfigurationV2State 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
	// List of configuration blocks describing the rules managing the replication. See below.
	Rules BucketLifecycleConfigurationV2RuleArrayInput
	// 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 (BucketLifecycleConfigurationV2State) ElementType

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 (documented below).
	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 (documented below).
	NoncurrentVersionExpiration *BucketLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"`
	// Specifies when noncurrent object versions transitions (documented below).
	//
	// At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition`, `noncurrentVersionExpiration`, `noncurrentVersionTransition` must be specified.
	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 (documented below).
	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 (documented below).
	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 (documented below).
	NoncurrentVersionExpiration BucketLifecycleRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"`
	// Specifies when noncurrent object versions transitions (documented below).
	//
	// At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition`, `noncurrentVersionExpiration`, `noncurrentVersionTransition` must be specified.
	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 (documented below).
	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 (documented below).

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 (documented below).

func (BucketLifecycleRuleOutput) NoncurrentVersionTransitions

Specifies when noncurrent object versions transitions (documented below).

At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition`, `noncurrentVersionExpiration`, `noncurrentVersionTransition` must be specified.

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 (documented below).

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 {
	// The 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 BucketLoggingArgs

type BucketLoggingArgs struct {
	// The 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 (BucketLoggingArgs) ElementType

func (BucketLoggingArgs) ElementType() reflect.Type

func (BucketLoggingArgs) ToBucketLoggingOutput

func (i BucketLoggingArgs) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingArgs) ToBucketLoggingOutputWithContext

func (i BucketLoggingArgs) ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput

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(context.Context) BucketLoggingOutput
}

BucketLoggingInput is an input type that accepts BucketLoggingArgs and BucketLoggingOutput values. You can construct a concrete instance of `BucketLoggingInput` via:

BucketLoggingArgs{...}

type BucketLoggingOutput

type BucketLoggingOutput struct{ *pulumi.OutputState }

func (BucketLoggingOutput) ElementType

func (BucketLoggingOutput) ElementType() reflect.Type

func (BucketLoggingOutput) TargetBucket

func (o BucketLoggingOutput) TargetBucket() pulumi.StringOutput

The name of the bucket that will receive the log objects.

func (BucketLoggingOutput) TargetPrefix

func (o BucketLoggingOutput) TargetPrefix() pulumi.StringPtrOutput

To specify a key prefix for log objects.

func (BucketLoggingOutput) ToBucketLoggingOutput

func (o BucketLoggingOutput) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingOutput) ToBucketLoggingOutputWithContext

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

type BucketLoggingV2

type BucketLoggingV2 struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// 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 BucketLoggingV2TargetGrantArrayOutput `pulumi:"targetGrants"`
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingV2TargetObjectKeyFormatPtrOutput `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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("my-tf-example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		logBucket, err := s3.NewBucketV2(ctx, "log_bucket", &s3.BucketV2Args{
			Bucket: pulumi.String("my-tf-log-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "log_bucket_acl", &s3.BucketAclV2Args{
			Bucket: logBucket.ID(),
			Acl:    pulumi.String("log-delivery-write"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketLoggingV2(ctx, "example", &s3.BucketLoggingV2Args{
			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/bucketLoggingV2:BucketLoggingV2 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/bucketLoggingV2:BucketLoggingV2 example bucket-name,123456789012 ```

func GetBucketLoggingV2

func GetBucketLoggingV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketLoggingV2State, opts ...pulumi.ResourceOption) (*BucketLoggingV2, error)

GetBucketLoggingV2 gets an existing BucketLoggingV2 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 NewBucketLoggingV2

func NewBucketLoggingV2(ctx *pulumi.Context,
	name string, args *BucketLoggingV2Args, opts ...pulumi.ResourceOption) (*BucketLoggingV2, error)

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

func (*BucketLoggingV2) ElementType

func (*BucketLoggingV2) ElementType() reflect.Type

func (*BucketLoggingV2) ToBucketLoggingV2Output

func (i *BucketLoggingV2) ToBucketLoggingV2Output() BucketLoggingV2Output

func (*BucketLoggingV2) ToBucketLoggingV2OutputWithContext

func (i *BucketLoggingV2) ToBucketLoggingV2OutputWithContext(ctx context.Context) BucketLoggingV2Output

type BucketLoggingV2Args

type BucketLoggingV2Args struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner 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 BucketLoggingV2TargetGrantArrayInput
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingV2TargetObjectKeyFormatPtrInput
	// Prefix for all log object keys.
	TargetPrefix pulumi.StringInput
}

The set of arguments for constructing a BucketLoggingV2 resource.

func (BucketLoggingV2Args) ElementType

func (BucketLoggingV2Args) ElementType() reflect.Type

type BucketLoggingV2Array

type BucketLoggingV2Array []BucketLoggingV2Input

func (BucketLoggingV2Array) ElementType

func (BucketLoggingV2Array) ElementType() reflect.Type

func (BucketLoggingV2Array) ToBucketLoggingV2ArrayOutput

func (i BucketLoggingV2Array) ToBucketLoggingV2ArrayOutput() BucketLoggingV2ArrayOutput

func (BucketLoggingV2Array) ToBucketLoggingV2ArrayOutputWithContext

func (i BucketLoggingV2Array) ToBucketLoggingV2ArrayOutputWithContext(ctx context.Context) BucketLoggingV2ArrayOutput

type BucketLoggingV2ArrayInput

type BucketLoggingV2ArrayInput interface {
	pulumi.Input

	ToBucketLoggingV2ArrayOutput() BucketLoggingV2ArrayOutput
	ToBucketLoggingV2ArrayOutputWithContext(context.Context) BucketLoggingV2ArrayOutput
}

BucketLoggingV2ArrayInput is an input type that accepts BucketLoggingV2Array and BucketLoggingV2ArrayOutput values. You can construct a concrete instance of `BucketLoggingV2ArrayInput` via:

BucketLoggingV2Array{ BucketLoggingV2Args{...} }

type BucketLoggingV2ArrayOutput

type BucketLoggingV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2ArrayOutput) ElementType

func (BucketLoggingV2ArrayOutput) ElementType() reflect.Type

func (BucketLoggingV2ArrayOutput) Index

func (BucketLoggingV2ArrayOutput) ToBucketLoggingV2ArrayOutput

func (o BucketLoggingV2ArrayOutput) ToBucketLoggingV2ArrayOutput() BucketLoggingV2ArrayOutput

func (BucketLoggingV2ArrayOutput) ToBucketLoggingV2ArrayOutputWithContext

func (o BucketLoggingV2ArrayOutput) ToBucketLoggingV2ArrayOutputWithContext(ctx context.Context) BucketLoggingV2ArrayOutput

type BucketLoggingV2Input

type BucketLoggingV2Input interface {
	pulumi.Input

	ToBucketLoggingV2Output() BucketLoggingV2Output
	ToBucketLoggingV2OutputWithContext(ctx context.Context) BucketLoggingV2Output
}

type BucketLoggingV2Map

type BucketLoggingV2Map map[string]BucketLoggingV2Input

func (BucketLoggingV2Map) ElementType

func (BucketLoggingV2Map) ElementType() reflect.Type

func (BucketLoggingV2Map) ToBucketLoggingV2MapOutput

func (i BucketLoggingV2Map) ToBucketLoggingV2MapOutput() BucketLoggingV2MapOutput

func (BucketLoggingV2Map) ToBucketLoggingV2MapOutputWithContext

func (i BucketLoggingV2Map) ToBucketLoggingV2MapOutputWithContext(ctx context.Context) BucketLoggingV2MapOutput

type BucketLoggingV2MapInput

type BucketLoggingV2MapInput interface {
	pulumi.Input

	ToBucketLoggingV2MapOutput() BucketLoggingV2MapOutput
	ToBucketLoggingV2MapOutputWithContext(context.Context) BucketLoggingV2MapOutput
}

BucketLoggingV2MapInput is an input type that accepts BucketLoggingV2Map and BucketLoggingV2MapOutput values. You can construct a concrete instance of `BucketLoggingV2MapInput` via:

BucketLoggingV2Map{ "key": BucketLoggingV2Args{...} }

type BucketLoggingV2MapOutput

type BucketLoggingV2MapOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2MapOutput) ElementType

func (BucketLoggingV2MapOutput) ElementType() reflect.Type

func (BucketLoggingV2MapOutput) MapIndex

func (BucketLoggingV2MapOutput) ToBucketLoggingV2MapOutput

func (o BucketLoggingV2MapOutput) ToBucketLoggingV2MapOutput() BucketLoggingV2MapOutput

func (BucketLoggingV2MapOutput) ToBucketLoggingV2MapOutputWithContext

func (o BucketLoggingV2MapOutput) ToBucketLoggingV2MapOutputWithContext(ctx context.Context) BucketLoggingV2MapOutput

type BucketLoggingV2Output

type BucketLoggingV2Output struct{ *pulumi.OutputState }

func (BucketLoggingV2Output) Bucket

Name of the bucket.

func (BucketLoggingV2Output) ElementType

func (BucketLoggingV2Output) ElementType() reflect.Type

func (BucketLoggingV2Output) ExpectedBucketOwner

func (o BucketLoggingV2Output) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketLoggingV2Output) TargetBucket

func (o BucketLoggingV2Output) TargetBucket() pulumi.StringOutput

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

func (BucketLoggingV2Output) TargetGrants

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

func (BucketLoggingV2Output) TargetObjectKeyFormat added in v6.11.0

Amazon S3 key format for log objects. See below.

func (BucketLoggingV2Output) TargetPrefix

func (o BucketLoggingV2Output) TargetPrefix() pulumi.StringOutput

Prefix for all log object keys.

func (BucketLoggingV2Output) ToBucketLoggingV2Output

func (o BucketLoggingV2Output) ToBucketLoggingV2Output() BucketLoggingV2Output

func (BucketLoggingV2Output) ToBucketLoggingV2OutputWithContext

func (o BucketLoggingV2Output) ToBucketLoggingV2OutputWithContext(ctx context.Context) BucketLoggingV2Output

type BucketLoggingV2State

type BucketLoggingV2State struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner 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 BucketLoggingV2TargetGrantArrayInput
	// Amazon S3 key format for log objects. See below.
	TargetObjectKeyFormat BucketLoggingV2TargetObjectKeyFormatPtrInput
	// Prefix for all log object keys.
	TargetPrefix pulumi.StringPtrInput
}

func (BucketLoggingV2State) ElementType

func (BucketLoggingV2State) ElementType() reflect.Type

type BucketLoggingV2TargetGrant

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

type BucketLoggingV2TargetGrantArgs

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

func (BucketLoggingV2TargetGrantArgs) ElementType

func (BucketLoggingV2TargetGrantArgs) ToBucketLoggingV2TargetGrantOutput

func (i BucketLoggingV2TargetGrantArgs) ToBucketLoggingV2TargetGrantOutput() BucketLoggingV2TargetGrantOutput

func (BucketLoggingV2TargetGrantArgs) ToBucketLoggingV2TargetGrantOutputWithContext

func (i BucketLoggingV2TargetGrantArgs) ToBucketLoggingV2TargetGrantOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantOutput

type BucketLoggingV2TargetGrantArray

type BucketLoggingV2TargetGrantArray []BucketLoggingV2TargetGrantInput

func (BucketLoggingV2TargetGrantArray) ElementType

func (BucketLoggingV2TargetGrantArray) ToBucketLoggingV2TargetGrantArrayOutput

func (i BucketLoggingV2TargetGrantArray) ToBucketLoggingV2TargetGrantArrayOutput() BucketLoggingV2TargetGrantArrayOutput

func (BucketLoggingV2TargetGrantArray) ToBucketLoggingV2TargetGrantArrayOutputWithContext

func (i BucketLoggingV2TargetGrantArray) ToBucketLoggingV2TargetGrantArrayOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantArrayOutput

type BucketLoggingV2TargetGrantArrayInput

type BucketLoggingV2TargetGrantArrayInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetGrantArrayOutput() BucketLoggingV2TargetGrantArrayOutput
	ToBucketLoggingV2TargetGrantArrayOutputWithContext(context.Context) BucketLoggingV2TargetGrantArrayOutput
}

BucketLoggingV2TargetGrantArrayInput is an input type that accepts BucketLoggingV2TargetGrantArray and BucketLoggingV2TargetGrantArrayOutput values. You can construct a concrete instance of `BucketLoggingV2TargetGrantArrayInput` via:

BucketLoggingV2TargetGrantArray{ BucketLoggingV2TargetGrantArgs{...} }

type BucketLoggingV2TargetGrantArrayOutput

type BucketLoggingV2TargetGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetGrantArrayOutput) ElementType

func (BucketLoggingV2TargetGrantArrayOutput) Index

func (BucketLoggingV2TargetGrantArrayOutput) ToBucketLoggingV2TargetGrantArrayOutput

func (o BucketLoggingV2TargetGrantArrayOutput) ToBucketLoggingV2TargetGrantArrayOutput() BucketLoggingV2TargetGrantArrayOutput

func (BucketLoggingV2TargetGrantArrayOutput) ToBucketLoggingV2TargetGrantArrayOutputWithContext

func (o BucketLoggingV2TargetGrantArrayOutput) ToBucketLoggingV2TargetGrantArrayOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantArrayOutput

type BucketLoggingV2TargetGrantGrantee

type BucketLoggingV2TargetGrantGrantee 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 BucketLoggingV2TargetGrantGranteeArgs

type BucketLoggingV2TargetGrantGranteeArgs 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 (BucketLoggingV2TargetGrantGranteeArgs) ElementType

func (BucketLoggingV2TargetGrantGranteeArgs) ToBucketLoggingV2TargetGrantGranteeOutput

func (i BucketLoggingV2TargetGrantGranteeArgs) ToBucketLoggingV2TargetGrantGranteeOutput() BucketLoggingV2TargetGrantGranteeOutput

func (BucketLoggingV2TargetGrantGranteeArgs) ToBucketLoggingV2TargetGrantGranteeOutputWithContext

func (i BucketLoggingV2TargetGrantGranteeArgs) ToBucketLoggingV2TargetGrantGranteeOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantGranteeOutput

type BucketLoggingV2TargetGrantGranteeInput

type BucketLoggingV2TargetGrantGranteeInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetGrantGranteeOutput() BucketLoggingV2TargetGrantGranteeOutput
	ToBucketLoggingV2TargetGrantGranteeOutputWithContext(context.Context) BucketLoggingV2TargetGrantGranteeOutput
}

BucketLoggingV2TargetGrantGranteeInput is an input type that accepts BucketLoggingV2TargetGrantGranteeArgs and BucketLoggingV2TargetGrantGranteeOutput values. You can construct a concrete instance of `BucketLoggingV2TargetGrantGranteeInput` via:

BucketLoggingV2TargetGrantGranteeArgs{...}

type BucketLoggingV2TargetGrantGranteeOutput

type BucketLoggingV2TargetGrantGranteeOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetGrantGranteeOutput) DisplayName

func (BucketLoggingV2TargetGrantGranteeOutput) ElementType

func (BucketLoggingV2TargetGrantGranteeOutput) 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 (BucketLoggingV2TargetGrantGranteeOutput) Id

Canonical user ID of the grantee.

func (BucketLoggingV2TargetGrantGranteeOutput) ToBucketLoggingV2TargetGrantGranteeOutput

func (o BucketLoggingV2TargetGrantGranteeOutput) ToBucketLoggingV2TargetGrantGranteeOutput() BucketLoggingV2TargetGrantGranteeOutput

func (BucketLoggingV2TargetGrantGranteeOutput) ToBucketLoggingV2TargetGrantGranteeOutputWithContext

func (o BucketLoggingV2TargetGrantGranteeOutput) ToBucketLoggingV2TargetGrantGranteeOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantGranteeOutput

func (BucketLoggingV2TargetGrantGranteeOutput) Type

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

func (BucketLoggingV2TargetGrantGranteeOutput) Uri

URI of the grantee group.

type BucketLoggingV2TargetGrantInput

type BucketLoggingV2TargetGrantInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetGrantOutput() BucketLoggingV2TargetGrantOutput
	ToBucketLoggingV2TargetGrantOutputWithContext(context.Context) BucketLoggingV2TargetGrantOutput
}

BucketLoggingV2TargetGrantInput is an input type that accepts BucketLoggingV2TargetGrantArgs and BucketLoggingV2TargetGrantOutput values. You can construct a concrete instance of `BucketLoggingV2TargetGrantInput` via:

BucketLoggingV2TargetGrantArgs{...}

type BucketLoggingV2TargetGrantOutput

type BucketLoggingV2TargetGrantOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetGrantOutput) ElementType

func (BucketLoggingV2TargetGrantOutput) Grantee

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

func (BucketLoggingV2TargetGrantOutput) Permission

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

func (BucketLoggingV2TargetGrantOutput) ToBucketLoggingV2TargetGrantOutput

func (o BucketLoggingV2TargetGrantOutput) ToBucketLoggingV2TargetGrantOutput() BucketLoggingV2TargetGrantOutput

func (BucketLoggingV2TargetGrantOutput) ToBucketLoggingV2TargetGrantOutputWithContext

func (o BucketLoggingV2TargetGrantOutput) ToBucketLoggingV2TargetGrantOutputWithContext(ctx context.Context) BucketLoggingV2TargetGrantOutput

type BucketLoggingV2TargetObjectKeyFormat added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormat struct {
	// Partitioned S3 key for log objects. See below.
	PartitionedPrefix *BucketLoggingV2TargetObjectKeyFormatPartitionedPrefix `pulumi:"partitionedPrefix"`
	// Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.
	SimplePrefix *BucketLoggingV2TargetObjectKeyFormatSimplePrefix `pulumi:"simplePrefix"`
}

type BucketLoggingV2TargetObjectKeyFormatArgs added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatArgs struct {
	// Partitioned S3 key for log objects. See below.
	PartitionedPrefix BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrInput `pulumi:"partitionedPrefix"`
	// Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.
	SimplePrefix BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrInput `pulumi:"simplePrefix"`
}

func (BucketLoggingV2TargetObjectKeyFormatArgs) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatOutput added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatOutput() BucketLoggingV2TargetObjectKeyFormatOutput

func (BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatOutput

func (BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput() BucketLoggingV2TargetObjectKeyFormatPtrOutput

func (BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatArgs) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPtrOutput

type BucketLoggingV2TargetObjectKeyFormatInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatOutput() BucketLoggingV2TargetObjectKeyFormatOutput
	ToBucketLoggingV2TargetObjectKeyFormatOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatOutput
}

BucketLoggingV2TargetObjectKeyFormatInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatArgs and BucketLoggingV2TargetObjectKeyFormatOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatInput` via:

BucketLoggingV2TargetObjectKeyFormatArgs{...}

type BucketLoggingV2TargetObjectKeyFormatOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatOutput) PartitionedPrefix added in v6.11.0

Partitioned S3 key for log objects. See below.

func (BucketLoggingV2TargetObjectKeyFormatOutput) SimplePrefix added in v6.11.0

Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.

func (BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatOutput added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatOutput() BucketLoggingV2TargetObjectKeyFormatOutput

func (BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatOutput

func (BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput() BucketLoggingV2TargetObjectKeyFormatPtrOutput

func (BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPtrOutput

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefix added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefix struct {
	// Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.
	PartitionDateSource string `pulumi:"partitionDateSource"`
}

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs struct {
	// Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.
	PartitionDateSource pulumi.StringInput `pulumi:"partitionDateSource"`
}

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput() BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput
	ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput
}

BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs and BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixInput` via:

BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs{...}

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) PartitionDateSource added in v6.11.0

Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput() BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput
	ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput
}

BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs, BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtr and BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrInput` via:

        BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixArgs{...}

or:

        nil

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) Elem added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) PartitionDateSource added in v6.11.0

Specifies the partition date source for the partitioned prefix. Valid values: `EventTime`, `DeliveryTime`.

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPartitionedPrefixPtrOutput

type BucketLoggingV2TargetObjectKeyFormatPtrInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPtrInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatPtrOutput() BucketLoggingV2TargetObjectKeyFormatPtrOutput
	ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatPtrOutput
}

BucketLoggingV2TargetObjectKeyFormatPtrInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatArgs, BucketLoggingV2TargetObjectKeyFormatPtr and BucketLoggingV2TargetObjectKeyFormatPtrOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatPtrInput` via:

        BucketLoggingV2TargetObjectKeyFormatArgs{...}

or:

        nil

type BucketLoggingV2TargetObjectKeyFormatPtrOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) Elem added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) PartitionedPrefix added in v6.11.0

Partitioned S3 key for log objects. See below.

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) SimplePrefix added in v6.11.0

Use the simple format for S3 keys for log objects. To use, set `simplePrefix {}`.

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutput() BucketLoggingV2TargetObjectKeyFormatPtrOutput

func (BucketLoggingV2TargetObjectKeyFormatPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatPtrOutput

type BucketLoggingV2TargetObjectKeyFormatSimplePrefix added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefix struct {
}

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs struct {
}

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput() BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext added in v6.11.0

func (i BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput() BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput
	ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput
}

BucketLoggingV2TargetObjectKeyFormatSimplePrefixInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs and BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatSimplePrefixInput` via:

BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs{...}

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatSimplePrefixOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrInput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrInput interface {
	pulumi.Input

	ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput() BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput
	ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext(context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput
}

BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrInput is an input type that accepts BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs, BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtr and BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput values. You can construct a concrete instance of `BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrInput` via:

        BucketLoggingV2TargetObjectKeyFormatSimplePrefixArgs{...}

or:

        nil

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput added in v6.11.0

type BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput) Elem added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput) ElementType added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput added in v6.11.0

func (BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext added in v6.11.0

func (o BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput) ToBucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutputWithContext(ctx context.Context) BucketLoggingV2TargetObjectKeyFormatSimplePrefixPtrOutput

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"`
}

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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		_, 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
}

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 added in v6.22.0

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 added in v6.22.0

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) 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
}

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"`
	// 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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v6/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
		}
		_, 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.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v6/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.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucketV2(ctx, "bucket", &s3.BucketV2Args{
			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
	// 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) 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
	// 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"`
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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.
	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/v6/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/v6/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v6/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.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket:            pulumi.String("examplebuckettftest"),
			ObjectLockEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "example", &s3.BucketVersioningV2Args{
			Bucket: examplebucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				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{
			exampleBucketVersioningV2,
		}))
		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
	// 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.
	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 {
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid value is `Enabled`.
	ObjectLockEnabled string `pulumi:"objectLockEnabled"`
	// The Object Lock rule in place for this bucket.
	Rule *BucketObjectLockConfigurationRule `pulumi:"rule"`
}

type BucketObjectLockConfigurationArgs

type BucketObjectLockConfigurationArgs struct {
	// Indicates whether this bucket has an Object Lock configuration enabled. Valid value is `Enabled`.
	ObjectLockEnabled pulumi.StringInput `pulumi:"objectLockEnabled"`
	// The Object Lock rule in place for this bucket.
	Rule BucketObjectLockConfigurationRulePtrInput `pulumi:"rule"`
}

func (BucketObjectLockConfigurationArgs) ElementType

func (BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationOutput

func (i BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationOutputWithContext

func (i BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationOutputWithContext(ctx context.Context) BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationPtrOutput

func (i BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationPtrOutput() BucketObjectLockConfigurationPtrOutput

func (BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationPtrOutputWithContext

func (i BucketObjectLockConfigurationArgs) ToBucketObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationPtrOutput

type BucketObjectLockConfigurationInput

type BucketObjectLockConfigurationInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput
	ToBucketObjectLockConfigurationOutputWithContext(context.Context) BucketObjectLockConfigurationOutput
}

BucketObjectLockConfigurationInput is an input type that accepts BucketObjectLockConfigurationArgs and BucketObjectLockConfigurationOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationInput` via:

BucketObjectLockConfigurationArgs{...}

type BucketObjectLockConfigurationOutput

type BucketObjectLockConfigurationOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationOutput) ElementType

func (BucketObjectLockConfigurationOutput) ObjectLockEnabled

Indicates whether this bucket has an Object Lock configuration enabled. Valid value is `Enabled`.

func (BucketObjectLockConfigurationOutput) Rule

The Object Lock rule in place for this bucket.

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutput

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutput() BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutputWithContext

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationOutputWithContext(ctx context.Context) BucketObjectLockConfigurationOutput

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationPtrOutput

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationPtrOutput() BucketObjectLockConfigurationPtrOutput

func (BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationPtrOutputWithContext

func (o BucketObjectLockConfigurationOutput) ToBucketObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationPtrOutput

type BucketObjectLockConfigurationPtrInput

type BucketObjectLockConfigurationPtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationPtrOutput() BucketObjectLockConfigurationPtrOutput
	ToBucketObjectLockConfigurationPtrOutputWithContext(context.Context) BucketObjectLockConfigurationPtrOutput
}

BucketObjectLockConfigurationPtrInput is an input type that accepts BucketObjectLockConfigurationArgs, BucketObjectLockConfigurationPtr and BucketObjectLockConfigurationPtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationPtrInput` via:

        BucketObjectLockConfigurationArgs{...}

or:

        nil

type BucketObjectLockConfigurationPtrOutput

type BucketObjectLockConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationPtrOutput) Elem

func (BucketObjectLockConfigurationPtrOutput) ElementType

func (BucketObjectLockConfigurationPtrOutput) ObjectLockEnabled

Indicates whether this bucket has an Object Lock configuration enabled. Valid value is `Enabled`.

func (BucketObjectLockConfigurationPtrOutput) Rule

The Object Lock rule in place for this bucket.

func (BucketObjectLockConfigurationPtrOutput) ToBucketObjectLockConfigurationPtrOutput

func (o BucketObjectLockConfigurationPtrOutput) ToBucketObjectLockConfigurationPtrOutput() BucketObjectLockConfigurationPtrOutput

func (BucketObjectLockConfigurationPtrOutput) ToBucketObjectLockConfigurationPtrOutputWithContext

func (o BucketObjectLockConfigurationPtrOutput) ToBucketObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationPtrOutput

type BucketObjectLockConfigurationRule

type BucketObjectLockConfigurationRule struct {
	// The default retention period that you want to apply to new objects placed in this bucket.
	DefaultRetention BucketObjectLockConfigurationRuleDefaultRetention `pulumi:"defaultRetention"`
}

type BucketObjectLockConfigurationRuleArgs

type BucketObjectLockConfigurationRuleArgs struct {
	// The default retention period that you want to apply to new objects placed in this bucket.
	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 {
	// The number of days that you want to specify for the default retention period.
	Days *int `pulumi:"days"`
	// The default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	Mode string `pulumi:"mode"`
	// The number of years that you want to specify for the default retention period.
	//
	// Either `days` or `years` must be specified, but not both.
	//
	// > **NOTE on `objectLockConfiguration`:** You can only enable S3 Object Lock for new buckets. If you need to turn on S3 Object Lock for an existing bucket, please contact AWS Support.
	// When you create a bucket with S3 Object Lock enabled, Amazon S3 automatically enables versioning for the bucket.
	// Once you create a bucket with S3 Object Lock enabled, you can't disable Object Lock or suspend versioning for the bucket.
	Years *int `pulumi:"years"`
}

type BucketObjectLockConfigurationRuleDefaultRetentionArgs

type BucketObjectLockConfigurationRuleDefaultRetentionArgs struct {
	// The number of days that you want to specify for the default retention period.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// The default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	Mode pulumi.StringInput `pulumi:"mode"`
	// The number of years that you want to specify for the default retention period.
	//
	// Either `days` or `years` must be specified, but not both.
	//
	// > **NOTE on `objectLockConfiguration`:** You can only enable S3 Object Lock for new buckets. If you need to turn on S3 Object Lock for an existing bucket, please contact AWS Support.
	// When you create a bucket with S3 Object Lock enabled, Amazon S3 automatically enables versioning for the bucket.
	// Once you create a bucket with S3 Object Lock enabled, you can't disable Object Lock or suspend versioning for the bucket.
	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

The number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) ElementType

func (BucketObjectLockConfigurationRuleDefaultRetentionOutput) Mode

The default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.

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

The number of years that you want to specify for the default retention period.

Either `days` or `years` must be specified, but not both.

> **NOTE on `objectLockConfiguration`:** You can only enable S3 Object Lock for new buckets. If you need to turn on S3 Object Lock for an existing bucket, please contact AWS Support. When you create a bucket with S3 Object Lock enabled, Amazon S3 automatically enables versioning for the bucket. Once you create a bucket with S3 Object Lock enabled, you can't disable Object Lock or suspend versioning for the bucket.

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

The number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Elem

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ElementType

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Mode

The default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (o BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationRuleDefaultRetentionPtrOutput) Years

The number of years that you want to specify for the default retention period.

Either `days` or `years` must be specified, but not both.

> **NOTE on `objectLockConfiguration`:** You can only enable S3 Object Lock for new buckets. If you need to turn on S3 Object Lock for an existing bucket, please contact AWS Support. When you create a bucket with S3 Object Lock enabled, Amazon S3 automatically enables versioning for the bucket. Once you create a bucket with S3 Object Lock enabled, you can't disable Object Lock or suspend versioning for the bucket.

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

The default retention period that you want to apply to new objects placed in this bucket.

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

The default retention period that you want to apply to new objects placed in this bucket.

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 BucketObjectLockConfigurationV2

type BucketObjectLockConfigurationV2 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"`
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationV2RulePtrOutput `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.BucketVersioningV2` 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioningV2(ctx, "example", &s3.BucketVersioningV2Args{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectLockConfigurationV2(ctx, "example", &s3.BucketObjectLockConfigurationV2Args{
			Bucket: example.ID(),
			Rule: &s3.BucketObjectLockConfigurationV2RuleArgs{
				DefaultRetention: &s3.BucketObjectLockConfigurationV2RuleDefaultRetentionArgs{
					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/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 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/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2 example bucket-name,123456789012 ```

func GetBucketObjectLockConfigurationV2

func GetBucketObjectLockConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketObjectLockConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketObjectLockConfigurationV2, error)

GetBucketObjectLockConfigurationV2 gets an existing BucketObjectLockConfigurationV2 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 NewBucketObjectLockConfigurationV2

func NewBucketObjectLockConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketObjectLockConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketObjectLockConfigurationV2, error)

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

func (*BucketObjectLockConfigurationV2) ElementType

func (*BucketObjectLockConfigurationV2) ToBucketObjectLockConfigurationV2Output

func (i *BucketObjectLockConfigurationV2) ToBucketObjectLockConfigurationV2Output() BucketObjectLockConfigurationV2Output

func (*BucketObjectLockConfigurationV2) ToBucketObjectLockConfigurationV2OutputWithContext

func (i *BucketObjectLockConfigurationV2) ToBucketObjectLockConfigurationV2OutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2Output

type BucketObjectLockConfigurationV2Args

type BucketObjectLockConfigurationV2Args 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
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationV2RulePtrInput
	// 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.BucketVersioningV2` resource.
	Token pulumi.StringPtrInput
}

The set of arguments for constructing a BucketObjectLockConfigurationV2 resource.

func (BucketObjectLockConfigurationV2Args) ElementType

type BucketObjectLockConfigurationV2Array

type BucketObjectLockConfigurationV2Array []BucketObjectLockConfigurationV2Input

func (BucketObjectLockConfigurationV2Array) ElementType

func (BucketObjectLockConfigurationV2Array) ToBucketObjectLockConfigurationV2ArrayOutput

func (i BucketObjectLockConfigurationV2Array) ToBucketObjectLockConfigurationV2ArrayOutput() BucketObjectLockConfigurationV2ArrayOutput

func (BucketObjectLockConfigurationV2Array) ToBucketObjectLockConfigurationV2ArrayOutputWithContext

func (i BucketObjectLockConfigurationV2Array) ToBucketObjectLockConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2ArrayOutput

type BucketObjectLockConfigurationV2ArrayInput

type BucketObjectLockConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2ArrayOutput() BucketObjectLockConfigurationV2ArrayOutput
	ToBucketObjectLockConfigurationV2ArrayOutputWithContext(context.Context) BucketObjectLockConfigurationV2ArrayOutput
}

BucketObjectLockConfigurationV2ArrayInput is an input type that accepts BucketObjectLockConfigurationV2Array and BucketObjectLockConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2ArrayInput` via:

BucketObjectLockConfigurationV2Array{ BucketObjectLockConfigurationV2Args{...} }

type BucketObjectLockConfigurationV2ArrayOutput

type BucketObjectLockConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2ArrayOutput) ElementType

func (BucketObjectLockConfigurationV2ArrayOutput) Index

func (BucketObjectLockConfigurationV2ArrayOutput) ToBucketObjectLockConfigurationV2ArrayOutput

func (o BucketObjectLockConfigurationV2ArrayOutput) ToBucketObjectLockConfigurationV2ArrayOutput() BucketObjectLockConfigurationV2ArrayOutput

func (BucketObjectLockConfigurationV2ArrayOutput) ToBucketObjectLockConfigurationV2ArrayOutputWithContext

func (o BucketObjectLockConfigurationV2ArrayOutput) ToBucketObjectLockConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2ArrayOutput

type BucketObjectLockConfigurationV2Input

type BucketObjectLockConfigurationV2Input interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2Output() BucketObjectLockConfigurationV2Output
	ToBucketObjectLockConfigurationV2OutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2Output
}

type BucketObjectLockConfigurationV2Map

type BucketObjectLockConfigurationV2Map map[string]BucketObjectLockConfigurationV2Input

func (BucketObjectLockConfigurationV2Map) ElementType

func (BucketObjectLockConfigurationV2Map) ToBucketObjectLockConfigurationV2MapOutput

func (i BucketObjectLockConfigurationV2Map) ToBucketObjectLockConfigurationV2MapOutput() BucketObjectLockConfigurationV2MapOutput

func (BucketObjectLockConfigurationV2Map) ToBucketObjectLockConfigurationV2MapOutputWithContext

func (i BucketObjectLockConfigurationV2Map) ToBucketObjectLockConfigurationV2MapOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2MapOutput

type BucketObjectLockConfigurationV2MapInput

type BucketObjectLockConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2MapOutput() BucketObjectLockConfigurationV2MapOutput
	ToBucketObjectLockConfigurationV2MapOutputWithContext(context.Context) BucketObjectLockConfigurationV2MapOutput
}

BucketObjectLockConfigurationV2MapInput is an input type that accepts BucketObjectLockConfigurationV2Map and BucketObjectLockConfigurationV2MapOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2MapInput` via:

BucketObjectLockConfigurationV2Map{ "key": BucketObjectLockConfigurationV2Args{...} }

type BucketObjectLockConfigurationV2MapOutput

type BucketObjectLockConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2MapOutput) ElementType

func (BucketObjectLockConfigurationV2MapOutput) MapIndex

func (BucketObjectLockConfigurationV2MapOutput) ToBucketObjectLockConfigurationV2MapOutput

func (o BucketObjectLockConfigurationV2MapOutput) ToBucketObjectLockConfigurationV2MapOutput() BucketObjectLockConfigurationV2MapOutput

func (BucketObjectLockConfigurationV2MapOutput) ToBucketObjectLockConfigurationV2MapOutputWithContext

func (o BucketObjectLockConfigurationV2MapOutput) ToBucketObjectLockConfigurationV2MapOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2MapOutput

type BucketObjectLockConfigurationV2Output

type BucketObjectLockConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2Output) Bucket

Name of the bucket.

func (BucketObjectLockConfigurationV2Output) ElementType

func (BucketObjectLockConfigurationV2Output) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketObjectLockConfigurationV2Output) ObjectLockEnabled

Indicates whether this bucket has an Object Lock configuration enabled. Defaults to `Enabled`. Valid values: `Enabled`.

func (BucketObjectLockConfigurationV2Output) Rule

Configuration block for specifying the Object Lock rule for the specified object. See below.

func (BucketObjectLockConfigurationV2Output) ToBucketObjectLockConfigurationV2Output

func (o BucketObjectLockConfigurationV2Output) ToBucketObjectLockConfigurationV2Output() BucketObjectLockConfigurationV2Output

func (BucketObjectLockConfigurationV2Output) ToBucketObjectLockConfigurationV2OutputWithContext

func (o BucketObjectLockConfigurationV2Output) ToBucketObjectLockConfigurationV2OutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2Output

func (BucketObjectLockConfigurationV2Output) 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.BucketVersioningV2` resource.

type BucketObjectLockConfigurationV2Rule

type BucketObjectLockConfigurationV2Rule struct {
	// Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.
	DefaultRetention BucketObjectLockConfigurationV2RuleDefaultRetention `pulumi:"defaultRetention"`
}

type BucketObjectLockConfigurationV2RuleArgs

type BucketObjectLockConfigurationV2RuleArgs struct {
	// Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.
	DefaultRetention BucketObjectLockConfigurationV2RuleDefaultRetentionInput `pulumi:"defaultRetention"`
}

func (BucketObjectLockConfigurationV2RuleArgs) ElementType

func (BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RuleOutput

func (i BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RuleOutput() BucketObjectLockConfigurationV2RuleOutput

func (BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RuleOutputWithContext

func (i BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RuleOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleOutput

func (BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RulePtrOutput

func (i BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RulePtrOutput() BucketObjectLockConfigurationV2RulePtrOutput

func (BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext

func (i BucketObjectLockConfigurationV2RuleArgs) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RulePtrOutput

type BucketObjectLockConfigurationV2RuleDefaultRetention

type BucketObjectLockConfigurationV2RuleDefaultRetention 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 BucketObjectLockConfigurationV2RuleDefaultRetentionArgs

type BucketObjectLockConfigurationV2RuleDefaultRetentionArgs 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 (BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ElementType

func (BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutputWithContext

func (i BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (i BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput() BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext

func (i BucketObjectLockConfigurationV2RuleDefaultRetentionArgs) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

type BucketObjectLockConfigurationV2RuleDefaultRetentionInput

type BucketObjectLockConfigurationV2RuleDefaultRetentionInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutput() BucketObjectLockConfigurationV2RuleDefaultRetentionOutput
	ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutputWithContext(context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionOutput
}

BucketObjectLockConfigurationV2RuleDefaultRetentionInput is an input type that accepts BucketObjectLockConfigurationV2RuleDefaultRetentionArgs and BucketObjectLockConfigurationV2RuleDefaultRetentionOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2RuleDefaultRetentionInput` via:

BucketObjectLockConfigurationV2RuleDefaultRetentionArgs{...}

type BucketObjectLockConfigurationV2RuleDefaultRetentionOutput

type BucketObjectLockConfigurationV2RuleDefaultRetentionOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) Days

Number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ElementType

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) Mode

Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutputWithContext

func (o BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext

func (o BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionOutput) Years

Number of years that you want to specify for the default retention period.

type BucketObjectLockConfigurationV2RuleDefaultRetentionPtrInput

type BucketObjectLockConfigurationV2RuleDefaultRetentionPtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput() BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput
	ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext(context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput
}

BucketObjectLockConfigurationV2RuleDefaultRetentionPtrInput is an input type that accepts BucketObjectLockConfigurationV2RuleDefaultRetentionArgs, BucketObjectLockConfigurationV2RuleDefaultRetentionPtr and BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2RuleDefaultRetentionPtrInput` via:

        BucketObjectLockConfigurationV2RuleDefaultRetentionArgs{...}

or:

        nil

type BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

type BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) Days

Number of days that you want to specify for the default retention period.

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) Elem

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) ElementType

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) Mode

Default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values: `COMPLIANCE`, `GOVERNANCE`.

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext

func (o BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) ToBucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput

func (BucketObjectLockConfigurationV2RuleDefaultRetentionPtrOutput) Years

Number of years that you want to specify for the default retention period.

type BucketObjectLockConfigurationV2RuleInput

type BucketObjectLockConfigurationV2RuleInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2RuleOutput() BucketObjectLockConfigurationV2RuleOutput
	ToBucketObjectLockConfigurationV2RuleOutputWithContext(context.Context) BucketObjectLockConfigurationV2RuleOutput
}

BucketObjectLockConfigurationV2RuleInput is an input type that accepts BucketObjectLockConfigurationV2RuleArgs and BucketObjectLockConfigurationV2RuleOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2RuleInput` via:

BucketObjectLockConfigurationV2RuleArgs{...}

type BucketObjectLockConfigurationV2RuleOutput

type BucketObjectLockConfigurationV2RuleOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2RuleOutput) DefaultRetention

Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.

func (BucketObjectLockConfigurationV2RuleOutput) ElementType

func (BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RuleOutput

func (o BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RuleOutput() BucketObjectLockConfigurationV2RuleOutput

func (BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RuleOutputWithContext

func (o BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RuleOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RuleOutput

func (BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RulePtrOutput

func (o BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RulePtrOutput() BucketObjectLockConfigurationV2RulePtrOutput

func (BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext

func (o BucketObjectLockConfigurationV2RuleOutput) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RulePtrOutput

type BucketObjectLockConfigurationV2RulePtrInput

type BucketObjectLockConfigurationV2RulePtrInput interface {
	pulumi.Input

	ToBucketObjectLockConfigurationV2RulePtrOutput() BucketObjectLockConfigurationV2RulePtrOutput
	ToBucketObjectLockConfigurationV2RulePtrOutputWithContext(context.Context) BucketObjectLockConfigurationV2RulePtrOutput
}

BucketObjectLockConfigurationV2RulePtrInput is an input type that accepts BucketObjectLockConfigurationV2RuleArgs, BucketObjectLockConfigurationV2RulePtr and BucketObjectLockConfigurationV2RulePtrOutput values. You can construct a concrete instance of `BucketObjectLockConfigurationV2RulePtrInput` via:

        BucketObjectLockConfigurationV2RuleArgs{...}

or:

        nil

type BucketObjectLockConfigurationV2RulePtrOutput

type BucketObjectLockConfigurationV2RulePtrOutput struct{ *pulumi.OutputState }

func (BucketObjectLockConfigurationV2RulePtrOutput) DefaultRetention

Configuration block for specifying the default Object Lock retention settings for new objects placed in the specified bucket. See below.

func (BucketObjectLockConfigurationV2RulePtrOutput) Elem

func (BucketObjectLockConfigurationV2RulePtrOutput) ElementType

func (BucketObjectLockConfigurationV2RulePtrOutput) ToBucketObjectLockConfigurationV2RulePtrOutput

func (o BucketObjectLockConfigurationV2RulePtrOutput) ToBucketObjectLockConfigurationV2RulePtrOutput() BucketObjectLockConfigurationV2RulePtrOutput

func (BucketObjectLockConfigurationV2RulePtrOutput) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext

func (o BucketObjectLockConfigurationV2RulePtrOutput) ToBucketObjectLockConfigurationV2RulePtrOutputWithContext(ctx context.Context) BucketObjectLockConfigurationV2RulePtrOutput

type BucketObjectLockConfigurationV2State

type BucketObjectLockConfigurationV2State 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
	// Configuration block for specifying the Object Lock rule for the specified object. See below.
	Rule BucketObjectLockConfigurationV2RulePtrInput
	// 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.BucketVersioningV2` resource.
	Token pulumi.StringPtrInput
}

func (BucketObjectLockConfigurationV2State) ElementType

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 added in v6.27.0

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) 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 deprecated

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

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.

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
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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.
	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`, `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, 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"`
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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:** 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/v6/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/v6/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v6/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.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket: pulumi.String("examplebuckettftest"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			Bucket:            pulumi.String("examplebuckettftest"),
			ObjectLockEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: examplebucket.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "example", &s3.BucketVersioningV2Args{
			Bucket: examplebucket.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				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{
			exampleBucketVersioningV2,
		}))
		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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucketV2(ctx, "examplebucket", &s3.BucketV2Args{
			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`, `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
	// 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:** 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 added in v6.27.0

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 added in v6.3.0

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`, `SHA1`, `SHA256`.

func (BucketObjectv2Output) ChecksumCrc32 added in v6.3.0

func (o BucketObjectv2Output) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (BucketObjectv2Output) ChecksumCrc32c added in v6.3.0

func (o BucketObjectv2Output) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (BucketObjectv2Output) ChecksumSha1 added in v6.3.0

func (o BucketObjectv2Output) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (BucketObjectv2Output) ChecksumSha256 added in v6.3.0

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 added in v6.8.0

Override provider-level configuration options. See Override Provider below for more details.

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 deprecated

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

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:** 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 added in v6.8.0

type BucketObjectv2OverrideProvider struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags *BucketObjectv2OverrideProviderDefaultTags `pulumi:"defaultTags"`
}

type BucketObjectv2OverrideProviderArgs added in v6.8.0

type BucketObjectv2OverrideProviderArgs struct {
	// Override the provider `defaultTags` configuration block.
	DefaultTags BucketObjectv2OverrideProviderDefaultTagsPtrInput `pulumi:"defaultTags"`
}

func (BucketObjectv2OverrideProviderArgs) ElementType added in v6.8.0

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutput added in v6.8.0

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutput() BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutputWithContext added in v6.8.0

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutput added in v6.8.0

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutputWithContext added in v6.8.0

func (i BucketObjectv2OverrideProviderArgs) ToBucketObjectv2OverrideProviderPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2OverrideProviderDefaultTags added in v6.8.0

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 added in v6.8.0

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 added in v6.8.0

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutput added in v6.8.0

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutput() BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext added in v6.8.0

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput added in v6.8.0

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext added in v6.8.0

func (i BucketObjectv2OverrideProviderDefaultTagsArgs) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderDefaultTagsInput added in v6.8.0

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 added in v6.8.0

type BucketObjectv2OverrideProviderDefaultTagsOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ElementType added in v6.8.0

func (BucketObjectv2OverrideProviderDefaultTagsOutput) Tags added in v6.8.0

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 added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutput() BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderDefaultTagsPtrInput added in v6.8.0

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 added in v6.8.0

type BucketObjectv2OverrideProviderDefaultTagsPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) Elem added in v6.8.0

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ElementType added in v6.8.0

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) Tags added in v6.8.0

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 added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutput() BucketObjectv2OverrideProviderDefaultTagsPtrOutput

func (BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext added in v6.8.0

func (o BucketObjectv2OverrideProviderDefaultTagsPtrOutput) ToBucketObjectv2OverrideProviderDefaultTagsPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderDefaultTagsPtrOutput

type BucketObjectv2OverrideProviderInput added in v6.8.0

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 added in v6.8.0

type BucketObjectv2OverrideProviderOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderOutput) DefaultTags added in v6.8.0

Override the provider `defaultTags` configuration block.

func (BucketObjectv2OverrideProviderOutput) ElementType added in v6.8.0

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutput added in v6.8.0

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutput() BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutputWithContext added in v6.8.0

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutput added in v6.8.0

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext added in v6.8.0

func (o BucketObjectv2OverrideProviderOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext(ctx context.Context) BucketObjectv2OverrideProviderPtrOutput

type BucketObjectv2OverrideProviderPtrInput added in v6.8.0

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 added in v6.8.0

type BucketObjectv2OverrideProviderPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectv2OverrideProviderPtrOutput) DefaultTags added in v6.8.0

Override the provider `defaultTags` configuration block.

func (BucketObjectv2OverrideProviderPtrOutput) Elem added in v6.8.0

func (BucketObjectv2OverrideProviderPtrOutput) ElementType added in v6.8.0

func (BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutput added in v6.8.0

func (o BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutput() BucketObjectv2OverrideProviderPtrOutput

func (BucketObjectv2OverrideProviderPtrOutput) ToBucketObjectv2OverrideProviderPtrOutputWithContext added in v6.8.0

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`, `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, 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
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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:** 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

func (o BucketOutput) AccelerationStatus() pulumi.StringOutput

Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`.

func (BucketOutput) Acl

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`.

func (BucketOutput) Arn

The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.

func (BucketOutput) Bucket

func (o BucketOutput) Bucket() pulumi.StringOutput

The name of the bucket. If omitted, this 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).

func (BucketOutput) BucketDomainName

func (o BucketOutput) BucketDomainName() pulumi.StringOutput

The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.

func (BucketOutput) BucketPrefix

func (o BucketOutput) BucketPrefix() pulumi.StringPtrOutput

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) BucketRegionalDomainName

func (o BucketOutput) BucketRegionalDomainName() pulumi.StringOutput

The bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL.

func (BucketOutput) CorsRules

A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) ForceDestroy

func (o BucketOutput) ForceDestroy() pulumi.BoolPtrOutput

A 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 so that the bucket can be destroyed without error. These objects are *not* recoverable.

func (BucketOutput) Grants

An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl) (documented below). Conflicts with `acl`.

func (BucketOutput) HostedZoneId

func (o BucketOutput) 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 (BucketOutput) LifecycleRules

func (o BucketOutput) LifecycleRules() BucketLifecycleRuleArrayOutput

A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).

func (BucketOutput) Loggings

A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).

func (BucketOutput) ObjectLockConfiguration

func (o BucketOutput) ObjectLockConfiguration() BucketObjectLockConfigurationPtrOutput

A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)

> **NOTE:** You cannot use `accelerationStatus` in `cn-north-1` or `us-gov-west-1`

func (BucketOutput) Policy

func (o BucketOutput) Policy() pulumi.StringPtrOutput

A 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 a `pulumi preview`. In this case, please make sure you use the verbose/specific version of the policy.

func (BucketOutput) Region

func (o BucketOutput) Region() pulumi.StringOutput

The AWS region this bucket resides in.

func (BucketOutput) ReplicationConfiguration

func (o BucketOutput) ReplicationConfiguration() BucketReplicationConfigurationPtrOutput

A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).

func (BucketOutput) RequestPayer

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.

func (BucketOutput) ServerSideEncryptionConfiguration

func (o BucketOutput) ServerSideEncryptionConfiguration() BucketServerSideEncryptionConfigurationOutput

A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)

func (BucketOutput) Tags

A 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.

func (BucketOutput) TagsAll deprecated

func (o BucketOutput) TagsAll() pulumi.StringMapOutput

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

func (o BucketOutput) ToBucketOutputWithContext(ctx context.Context) BucketOutput

func (BucketOutput) Versioning

func (o BucketOutput) Versioning() BucketVersioningOutput

A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)

func (BucketOutput) Website

A website object (documented below).

func (BucketOutput) WebsiteDomain

func (o BucketOutput) WebsiteDomain() pulumi.StringOutput

The 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 (BucketOutput) WebsiteEndpoint

func (o BucketOutput) WebsiteEndpoint() pulumi.StringOutput

The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.

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"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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
	// 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) 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
	// 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"`
}

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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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
}

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) 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
}

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"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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
	// 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) 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
	// 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"`
	// 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.
	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"`
}

Provides an independent configuration resource for S3 bucket [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html).

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

> This resource cannot be used with S3 directory buckets.

## Example Usage

### Using replication configuration

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/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{
								"s3.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		replicationRole, err := iam.NewRole(ctx, "replication", &iam.RoleArgs{
			Name:             pulumi.String("tf-iam-role-replication-12345"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		destination, err := s3.NewBucketV2(ctx, "destination", &s3.BucketV2Args{
			Bucket: pulumi.String("tf-test-bucket-destination-12345"),
		})
		if err != nil {
			return err
		}
		source, err := s3.NewBucketV2(ctx, "source", &s3.BucketV2Args{
			Bucket: pulumi.String("tf-test-bucket-source-12345"),
		})
		if err != nil {
			return err
		}
		replication := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetReplicationConfiguration"),
						pulumi.String("s3:ListBucket"),
					},
					Resources: pulumi.StringArray{
						source.Arn,
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetObjectVersionForReplication"),
						pulumi.String("s3:GetObjectVersionAcl"),
						pulumi.String("s3:GetObjectVersionTagging"),
					},
					Resources: pulumi.StringArray{
						source.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:ReplicateObject"),
						pulumi.String("s3:ReplicateDelete"),
						pulumi.String("s3:ReplicateTags"),
					},
					Resources: pulumi.StringArray{
						destination.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		replicationPolicy, err := iam.NewPolicy(ctx, "replication", &iam.PolicyArgs{
			Name: pulumi.String("tf-iam-role-policy-replication-12345"),
			Policy: pulumi.String(replication.ApplyT(func(replication iam.GetPolicyDocumentResult) (*string, error) {
				return &replication.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "replication", &iam.RolePolicyAttachmentArgs{
			Role:      replicationRole.Name,
			PolicyArn: replicationPolicy.Arn,
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioningV2(ctx, "destination", &s3.BucketVersioningV2Args{
			Bucket: destination.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "source_bucket_acl", &s3.BucketAclV2Args{
			Bucket: source.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		sourceBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "source", &s3.BucketVersioningV2Args{
			Bucket: source.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketReplicationConfig(ctx, "replication", &s3.BucketReplicationConfigArgs{
			Role:   replicationRole.Arn,
			Bucket: source.ID(),
			Rules: s3.BucketReplicationConfigRuleArray{
				&s3.BucketReplicationConfigRuleArgs{
					Id: pulumi.String("foobar"),
					Filter: &s3.BucketReplicationConfigRuleFilterArgs{
						Prefix: pulumi.String("foo"),
					},
					Status: pulumi.String("Enabled"),
					Destination: &s3.BucketReplicationConfigRuleDestinationArgs{
						Bucket:       destination.Arn,
						StorageClass: pulumi.String("STANDARD"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			sourceBucketVersioningV2,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Bi-Directional Replication

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// ... other configuration ...
		east, err := s3.NewBucketV2(ctx, "east", &s3.BucketV2Args{
			Bucket: pulumi.String("tf-test-bucket-east-12345"),
		})
		if err != nil {
			return err
		}
		eastBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "east", &s3.BucketVersioningV2Args{
			Bucket: east.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		west, err := s3.NewBucketV2(ctx, "west", &s3.BucketV2Args{
			Bucket: pulumi.String("tf-test-bucket-west-12345"),
		})
		if err != nil {
			return err
		}
		westBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "west", &s3.BucketVersioningV2Args{
			Bucket: west.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketReplicationConfig(ctx, "east_to_west", &s3.BucketReplicationConfigArgs{
			Role:   pulumi.Any(eastReplication.Arn),
			Bucket: east.ID(),
			Rules: s3.BucketReplicationConfigRuleArray{
				&s3.BucketReplicationConfigRuleArgs{
					Id: pulumi.String("foobar"),
					Filter: &s3.BucketReplicationConfigRuleFilterArgs{
						Prefix: pulumi.String("foo"),
					},
					Status: pulumi.String("Enabled"),
					Destination: &s3.BucketReplicationConfigRuleDestinationArgs{
						Bucket:       west.Arn,
						StorageClass: pulumi.String("STANDARD"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			eastBucketVersioningV2,
		}))
		if err != nil {
			return err
		}
		_, err = s3.NewBucketReplicationConfig(ctx, "west_to_east", &s3.BucketReplicationConfigArgs{
			Role:   pulumi.Any(westReplication.Arn),
			Bucket: west.ID(),
			Rules: s3.BucketReplicationConfigRuleArray{
				&s3.BucketReplicationConfigRuleArgs{
					Id: pulumi.String("foobar"),
					Filter: &s3.BucketReplicationConfigRuleFilterArgs{
						Prefix: pulumi.String("foo"),
					},
					Status: pulumi.String("Enabled"),
					Destination: &s3.BucketReplicationConfigRuleDestinationArgs{
						Bucket:       east.Arn,
						StorageClass: pulumi.String("STANDARD"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			westBucketVersioningV2,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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
	// 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.
	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) 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.

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: 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: 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: 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
	// 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.
	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 {
	// The 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 {
	// The 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

The 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

The 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"`
	// The 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"`
	// The status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	//
	// > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rules` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
	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"`
	// The 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"`
	// The status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	//
	// > **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rules` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.
	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. Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslation *BucketReplicationConfigurationRuleDestinationAccessControlTranslation `pulumi:"accessControlTranslation"`
	// The Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.
	AccountId *string `pulumi:"accountId"`
	// The 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 {
	// The override value for the owner on replicated objects. Currently only `Destination` is supported.
	Owner string `pulumi:"owner"`
}

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs

type BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs struct {
	// The override value for the owner on replicated objects. Currently only `Destination` is supported.
	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

The override value for the owner on replicated objects. Currently only `Destination` is supported.

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

The override value for the owner on replicated objects. Currently only `Destination` is supported.

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput

func (BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrOutputWithContext

type BucketReplicationConfigurationRuleDestinationArgs

type BucketReplicationConfigurationRuleDestinationArgs struct {
	// Specifies the overrides to use for object owners on replication. Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslation BucketReplicationConfigurationRuleDestinationAccessControlTranslationPtrInput `pulumi:"accessControlTranslation"`
	// The 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"`
	// The 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"`
	// The 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"`
	// The 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

The 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

The 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. Must be used in conjunction with `accountId` owner override configuration.

func (BucketReplicationConfigurationRuleDestinationOutput) AccountId

The Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.

func (BucketReplicationConfigurationRuleDestinationOutput) Bucket

The 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"`
	// The 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"`
	// The 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

The 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

The 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

The 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

The status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.

> **NOTE:** Replication to multiple destination buckets requires that `priority` is specified in the `rules` object. If the corresponding rule requires no filter, an empty configuration block `filter {}` must be specified.

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 BucketRequestPaymentConfigurationV2

type BucketRequestPaymentConfigurationV2 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"`
}

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.BucketRequestPaymentConfigurationV2` 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketRequestPaymentConfigurationV2(ctx, "example", &s3.BucketRequestPaymentConfigurationV2Args{
			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/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 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/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2 example bucket-name,123456789012 ```

func GetBucketRequestPaymentConfigurationV2

func GetBucketRequestPaymentConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketRequestPaymentConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketRequestPaymentConfigurationV2, error)

GetBucketRequestPaymentConfigurationV2 gets an existing BucketRequestPaymentConfigurationV2 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 NewBucketRequestPaymentConfigurationV2

func NewBucketRequestPaymentConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketRequestPaymentConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketRequestPaymentConfigurationV2, error)

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

func (*BucketRequestPaymentConfigurationV2) ElementType

func (*BucketRequestPaymentConfigurationV2) ToBucketRequestPaymentConfigurationV2Output

func (i *BucketRequestPaymentConfigurationV2) ToBucketRequestPaymentConfigurationV2Output() BucketRequestPaymentConfigurationV2Output

func (*BucketRequestPaymentConfigurationV2) ToBucketRequestPaymentConfigurationV2OutputWithContext

func (i *BucketRequestPaymentConfigurationV2) ToBucketRequestPaymentConfigurationV2OutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2Output

type BucketRequestPaymentConfigurationV2Args

type BucketRequestPaymentConfigurationV2Args 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
}

The set of arguments for constructing a BucketRequestPaymentConfigurationV2 resource.

func (BucketRequestPaymentConfigurationV2Args) ElementType

type BucketRequestPaymentConfigurationV2Array

type BucketRequestPaymentConfigurationV2Array []BucketRequestPaymentConfigurationV2Input

func (BucketRequestPaymentConfigurationV2Array) ElementType

func (BucketRequestPaymentConfigurationV2Array) ToBucketRequestPaymentConfigurationV2ArrayOutput

func (i BucketRequestPaymentConfigurationV2Array) ToBucketRequestPaymentConfigurationV2ArrayOutput() BucketRequestPaymentConfigurationV2ArrayOutput

func (BucketRequestPaymentConfigurationV2Array) ToBucketRequestPaymentConfigurationV2ArrayOutputWithContext

func (i BucketRequestPaymentConfigurationV2Array) ToBucketRequestPaymentConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2ArrayOutput

type BucketRequestPaymentConfigurationV2ArrayInput

type BucketRequestPaymentConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationV2ArrayOutput() BucketRequestPaymentConfigurationV2ArrayOutput
	ToBucketRequestPaymentConfigurationV2ArrayOutputWithContext(context.Context) BucketRequestPaymentConfigurationV2ArrayOutput
}

BucketRequestPaymentConfigurationV2ArrayInput is an input type that accepts BucketRequestPaymentConfigurationV2Array and BucketRequestPaymentConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketRequestPaymentConfigurationV2ArrayInput` via:

BucketRequestPaymentConfigurationV2Array{ BucketRequestPaymentConfigurationV2Args{...} }

type BucketRequestPaymentConfigurationV2ArrayOutput

type BucketRequestPaymentConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationV2ArrayOutput) ElementType

func (BucketRequestPaymentConfigurationV2ArrayOutput) Index

func (BucketRequestPaymentConfigurationV2ArrayOutput) ToBucketRequestPaymentConfigurationV2ArrayOutput

func (o BucketRequestPaymentConfigurationV2ArrayOutput) ToBucketRequestPaymentConfigurationV2ArrayOutput() BucketRequestPaymentConfigurationV2ArrayOutput

func (BucketRequestPaymentConfigurationV2ArrayOutput) ToBucketRequestPaymentConfigurationV2ArrayOutputWithContext

func (o BucketRequestPaymentConfigurationV2ArrayOutput) ToBucketRequestPaymentConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2ArrayOutput

type BucketRequestPaymentConfigurationV2Input

type BucketRequestPaymentConfigurationV2Input interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationV2Output() BucketRequestPaymentConfigurationV2Output
	ToBucketRequestPaymentConfigurationV2OutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2Output
}

type BucketRequestPaymentConfigurationV2Map

type BucketRequestPaymentConfigurationV2Map map[string]BucketRequestPaymentConfigurationV2Input

func (BucketRequestPaymentConfigurationV2Map) ElementType

func (BucketRequestPaymentConfigurationV2Map) ToBucketRequestPaymentConfigurationV2MapOutput

func (i BucketRequestPaymentConfigurationV2Map) ToBucketRequestPaymentConfigurationV2MapOutput() BucketRequestPaymentConfigurationV2MapOutput

func (BucketRequestPaymentConfigurationV2Map) ToBucketRequestPaymentConfigurationV2MapOutputWithContext

func (i BucketRequestPaymentConfigurationV2Map) ToBucketRequestPaymentConfigurationV2MapOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2MapOutput

type BucketRequestPaymentConfigurationV2MapInput

type BucketRequestPaymentConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketRequestPaymentConfigurationV2MapOutput() BucketRequestPaymentConfigurationV2MapOutput
	ToBucketRequestPaymentConfigurationV2MapOutputWithContext(context.Context) BucketRequestPaymentConfigurationV2MapOutput
}

BucketRequestPaymentConfigurationV2MapInput is an input type that accepts BucketRequestPaymentConfigurationV2Map and BucketRequestPaymentConfigurationV2MapOutput values. You can construct a concrete instance of `BucketRequestPaymentConfigurationV2MapInput` via:

BucketRequestPaymentConfigurationV2Map{ "key": BucketRequestPaymentConfigurationV2Args{...} }

type BucketRequestPaymentConfigurationV2MapOutput

type BucketRequestPaymentConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationV2MapOutput) ElementType

func (BucketRequestPaymentConfigurationV2MapOutput) MapIndex

func (BucketRequestPaymentConfigurationV2MapOutput) ToBucketRequestPaymentConfigurationV2MapOutput

func (o BucketRequestPaymentConfigurationV2MapOutput) ToBucketRequestPaymentConfigurationV2MapOutput() BucketRequestPaymentConfigurationV2MapOutput

func (BucketRequestPaymentConfigurationV2MapOutput) ToBucketRequestPaymentConfigurationV2MapOutputWithContext

func (o BucketRequestPaymentConfigurationV2MapOutput) ToBucketRequestPaymentConfigurationV2MapOutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2MapOutput

type BucketRequestPaymentConfigurationV2Output

type BucketRequestPaymentConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketRequestPaymentConfigurationV2Output) Bucket

Name of the bucket.

func (BucketRequestPaymentConfigurationV2Output) ElementType

func (BucketRequestPaymentConfigurationV2Output) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketRequestPaymentConfigurationV2Output) Payer

Specifies who pays for the download and request fees. Valid values: `BucketOwner`, `Requester`.

func (BucketRequestPaymentConfigurationV2Output) ToBucketRequestPaymentConfigurationV2Output

func (o BucketRequestPaymentConfigurationV2Output) ToBucketRequestPaymentConfigurationV2Output() BucketRequestPaymentConfigurationV2Output

func (BucketRequestPaymentConfigurationV2Output) ToBucketRequestPaymentConfigurationV2OutputWithContext

func (o BucketRequestPaymentConfigurationV2Output) ToBucketRequestPaymentConfigurationV2OutputWithContext(ctx context.Context) BucketRequestPaymentConfigurationV2Output

type BucketRequestPaymentConfigurationV2State

type BucketRequestPaymentConfigurationV2State 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
}

func (BucketRequestPaymentConfigurationV2State) ElementType

type BucketServerSideEncryptionConfiguration

type BucketServerSideEncryptionConfiguration struct {
	// A single object for server-side encryption by default configuration. (documented below)
	Rule BucketServerSideEncryptionConfigurationRule `pulumi:"rule"`
}

type BucketServerSideEncryptionConfigurationArgs

type BucketServerSideEncryptionConfigurationArgs struct {
	// A single object for server-side encryption by default configuration. (documented below)
	Rule BucketServerSideEncryptionConfigurationRuleInput `pulumi:"rule"`
}

func (BucketServerSideEncryptionConfigurationArgs) ElementType

func (BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationOutput

func (i BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput

func (BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationOutputWithContext

func (i BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationOutput

func (BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationPtrOutput

func (i BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationPtrOutput() BucketServerSideEncryptionConfigurationPtrOutput

func (BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext

func (i BucketServerSideEncryptionConfigurationArgs) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationPtrOutput

type BucketServerSideEncryptionConfigurationInput

type BucketServerSideEncryptionConfigurationInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput
	ToBucketServerSideEncryptionConfigurationOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationOutput
}

BucketServerSideEncryptionConfigurationInput is an input type that accepts BucketServerSideEncryptionConfigurationArgs and BucketServerSideEncryptionConfigurationOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationInput` via:

BucketServerSideEncryptionConfigurationArgs{...}

type BucketServerSideEncryptionConfigurationOutput

type BucketServerSideEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationOutput) ElementType

func (BucketServerSideEncryptionConfigurationOutput) Rule

A single object for server-side encryption by default configuration. (documented below)

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutput

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutput() BucketServerSideEncryptionConfigurationOutput

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutputWithContext

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationOutput

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationPtrOutput

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationPtrOutput() BucketServerSideEncryptionConfigurationPtrOutput

func (BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationOutput) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationPtrOutput

type BucketServerSideEncryptionConfigurationPtrInput

type BucketServerSideEncryptionConfigurationPtrInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationPtrOutput() BucketServerSideEncryptionConfigurationPtrOutput
	ToBucketServerSideEncryptionConfigurationPtrOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationPtrOutput
}

BucketServerSideEncryptionConfigurationPtrInput is an input type that accepts BucketServerSideEncryptionConfigurationArgs, BucketServerSideEncryptionConfigurationPtr and BucketServerSideEncryptionConfigurationPtrOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationPtrInput` via:

        BucketServerSideEncryptionConfigurationArgs{...}

or:

        nil

type BucketServerSideEncryptionConfigurationPtrOutput

type BucketServerSideEncryptionConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationPtrOutput) Elem

func (BucketServerSideEncryptionConfigurationPtrOutput) ElementType

func (BucketServerSideEncryptionConfigurationPtrOutput) Rule

A single object for server-side encryption by default configuration. (documented below)

func (BucketServerSideEncryptionConfigurationPtrOutput) ToBucketServerSideEncryptionConfigurationPtrOutput

func (o BucketServerSideEncryptionConfigurationPtrOutput) ToBucketServerSideEncryptionConfigurationPtrOutput() BucketServerSideEncryptionConfigurationPtrOutput

func (BucketServerSideEncryptionConfigurationPtrOutput) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext

func (o BucketServerSideEncryptionConfigurationPtrOutput) ToBucketServerSideEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationPtrOutput

type BucketServerSideEncryptionConfigurationRule

type BucketServerSideEncryptionConfigurationRule struct {
	// A single object for setting server-side encryption by default. (documented 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 {
	// The 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"`
	// The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`
	SseAlgorithm string `pulumi:"sseAlgorithm"`
}

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs

type BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs struct {
	// The 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"`
	// The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`
	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

The 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

The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`

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

The 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

The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationRuleArgs

type BucketServerSideEncryptionConfigurationRuleArgs struct {
	// A single object for setting server-side encryption by default. (documented below)
	ApplyServerSideEncryptionByDefault BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput `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 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

A single object for setting server-side encryption by default. (documented 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

A single object for setting server-side encryption by default. (documented 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 BucketServerSideEncryptionConfigurationV2

type BucketServerSideEncryptionConfigurationV2 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"`
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationV2RuleArrayOutput `pulumi:"rules"`
}

Provides a S3 bucket server-side encryption configuration resource.

> **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfigurationV2` 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/v6/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v6/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.NewBucketV2(ctx, "mybucket", &s3.BucketV2Args{
			Bucket: pulumi.String("mybucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketServerSideEncryptionConfigurationV2(ctx, "example", &s3.BucketServerSideEncryptionConfigurationV2Args{
			Bucket: mybucket.ID(),
			Rules: s3.BucketServerSideEncryptionConfigurationV2RuleArray{
				&s3.BucketServerSideEncryptionConfigurationV2RuleArgs{
					ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{
						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/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 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/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name,123456789012 ```

func GetBucketServerSideEncryptionConfigurationV2

func GetBucketServerSideEncryptionConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketServerSideEncryptionConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketServerSideEncryptionConfigurationV2, error)

GetBucketServerSideEncryptionConfigurationV2 gets an existing BucketServerSideEncryptionConfigurationV2 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 NewBucketServerSideEncryptionConfigurationV2

func NewBucketServerSideEncryptionConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketServerSideEncryptionConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketServerSideEncryptionConfigurationV2, error)

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

func (*BucketServerSideEncryptionConfigurationV2) ElementType

func (*BucketServerSideEncryptionConfigurationV2) ToBucketServerSideEncryptionConfigurationV2Output

func (i *BucketServerSideEncryptionConfigurationV2) ToBucketServerSideEncryptionConfigurationV2Output() BucketServerSideEncryptionConfigurationV2Output

func (*BucketServerSideEncryptionConfigurationV2) ToBucketServerSideEncryptionConfigurationV2OutputWithContext

func (i *BucketServerSideEncryptionConfigurationV2) ToBucketServerSideEncryptionConfigurationV2OutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2Output

type BucketServerSideEncryptionConfigurationV2Args

type BucketServerSideEncryptionConfigurationV2Args struct {
	// ID (name) of the bucket.
	Bucket pulumi.StringInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationV2RuleArrayInput
}

The set of arguments for constructing a BucketServerSideEncryptionConfigurationV2 resource.

func (BucketServerSideEncryptionConfigurationV2Args) ElementType

type BucketServerSideEncryptionConfigurationV2Array

type BucketServerSideEncryptionConfigurationV2Array []BucketServerSideEncryptionConfigurationV2Input

func (BucketServerSideEncryptionConfigurationV2Array) ElementType

func (BucketServerSideEncryptionConfigurationV2Array) ToBucketServerSideEncryptionConfigurationV2ArrayOutput

func (i BucketServerSideEncryptionConfigurationV2Array) ToBucketServerSideEncryptionConfigurationV2ArrayOutput() BucketServerSideEncryptionConfigurationV2ArrayOutput

func (BucketServerSideEncryptionConfigurationV2Array) ToBucketServerSideEncryptionConfigurationV2ArrayOutputWithContext

func (i BucketServerSideEncryptionConfigurationV2Array) ToBucketServerSideEncryptionConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2ArrayOutput

type BucketServerSideEncryptionConfigurationV2ArrayInput

type BucketServerSideEncryptionConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2ArrayOutput() BucketServerSideEncryptionConfigurationV2ArrayOutput
	ToBucketServerSideEncryptionConfigurationV2ArrayOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2ArrayOutput
}

BucketServerSideEncryptionConfigurationV2ArrayInput is an input type that accepts BucketServerSideEncryptionConfigurationV2Array and BucketServerSideEncryptionConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2ArrayInput` via:

BucketServerSideEncryptionConfigurationV2Array{ BucketServerSideEncryptionConfigurationV2Args{...} }

type BucketServerSideEncryptionConfigurationV2ArrayOutput

type BucketServerSideEncryptionConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2ArrayOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2ArrayOutput) Index

func (BucketServerSideEncryptionConfigurationV2ArrayOutput) ToBucketServerSideEncryptionConfigurationV2ArrayOutput

func (BucketServerSideEncryptionConfigurationV2ArrayOutput) ToBucketServerSideEncryptionConfigurationV2ArrayOutputWithContext

func (o BucketServerSideEncryptionConfigurationV2ArrayOutput) ToBucketServerSideEncryptionConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2ArrayOutput

type BucketServerSideEncryptionConfigurationV2Input

type BucketServerSideEncryptionConfigurationV2Input interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2Output() BucketServerSideEncryptionConfigurationV2Output
	ToBucketServerSideEncryptionConfigurationV2OutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2Output
}

type BucketServerSideEncryptionConfigurationV2Map

type BucketServerSideEncryptionConfigurationV2Map map[string]BucketServerSideEncryptionConfigurationV2Input

func (BucketServerSideEncryptionConfigurationV2Map) ElementType

func (BucketServerSideEncryptionConfigurationV2Map) ToBucketServerSideEncryptionConfigurationV2MapOutput

func (i BucketServerSideEncryptionConfigurationV2Map) ToBucketServerSideEncryptionConfigurationV2MapOutput() BucketServerSideEncryptionConfigurationV2MapOutput

func (BucketServerSideEncryptionConfigurationV2Map) ToBucketServerSideEncryptionConfigurationV2MapOutputWithContext

func (i BucketServerSideEncryptionConfigurationV2Map) ToBucketServerSideEncryptionConfigurationV2MapOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2MapOutput

type BucketServerSideEncryptionConfigurationV2MapInput

type BucketServerSideEncryptionConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2MapOutput() BucketServerSideEncryptionConfigurationV2MapOutput
	ToBucketServerSideEncryptionConfigurationV2MapOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2MapOutput
}

BucketServerSideEncryptionConfigurationV2MapInput is an input type that accepts BucketServerSideEncryptionConfigurationV2Map and BucketServerSideEncryptionConfigurationV2MapOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2MapInput` via:

BucketServerSideEncryptionConfigurationV2Map{ "key": BucketServerSideEncryptionConfigurationV2Args{...} }

type BucketServerSideEncryptionConfigurationV2MapOutput

type BucketServerSideEncryptionConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2MapOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2MapOutput) MapIndex

func (BucketServerSideEncryptionConfigurationV2MapOutput) ToBucketServerSideEncryptionConfigurationV2MapOutput

func (o BucketServerSideEncryptionConfigurationV2MapOutput) ToBucketServerSideEncryptionConfigurationV2MapOutput() BucketServerSideEncryptionConfigurationV2MapOutput

func (BucketServerSideEncryptionConfigurationV2MapOutput) ToBucketServerSideEncryptionConfigurationV2MapOutputWithContext

func (o BucketServerSideEncryptionConfigurationV2MapOutput) ToBucketServerSideEncryptionConfigurationV2MapOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2MapOutput

type BucketServerSideEncryptionConfigurationV2Output

type BucketServerSideEncryptionConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2Output) Bucket

ID (name) of the bucket.

func (BucketServerSideEncryptionConfigurationV2Output) ElementType

func (BucketServerSideEncryptionConfigurationV2Output) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketServerSideEncryptionConfigurationV2Output) Rules

Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.

func (BucketServerSideEncryptionConfigurationV2Output) ToBucketServerSideEncryptionConfigurationV2Output

func (o BucketServerSideEncryptionConfigurationV2Output) ToBucketServerSideEncryptionConfigurationV2Output() BucketServerSideEncryptionConfigurationV2Output

func (BucketServerSideEncryptionConfigurationV2Output) ToBucketServerSideEncryptionConfigurationV2OutputWithContext

func (o BucketServerSideEncryptionConfigurationV2Output) ToBucketServerSideEncryptionConfigurationV2OutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2Output

type BucketServerSideEncryptionConfigurationV2Rule

type BucketServerSideEncryptionConfigurationV2Rule struct {
	// Single object for setting server-side encryption by default. See below.
	ApplyServerSideEncryptionByDefault *BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefault `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 BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefault

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefault 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 BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs 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 (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutputWithContext

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultInput

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput() BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput
	ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput
}

BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultInput is an input type that accepts BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs and BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultInput` via:

BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{...}

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) 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 (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) SseAlgorithm

Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutputWithContext

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput() BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput
	ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput
}

BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput is an input type that accepts BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs, BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtr and BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput` via:

        BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{...}

or:

        nil

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput

type BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) 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 (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) SseAlgorithm

Server-side encryption algorithm to use. Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput

func (BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) ToBucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutputWithContext

type BucketServerSideEncryptionConfigurationV2RuleArgs

type BucketServerSideEncryptionConfigurationV2RuleArgs struct {
	// Single object for setting server-side encryption by default. See below.
	ApplyServerSideEncryptionByDefault BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput `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 (BucketServerSideEncryptionConfigurationV2RuleArgs) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleArgs) ToBucketServerSideEncryptionConfigurationV2RuleOutput

func (i BucketServerSideEncryptionConfigurationV2RuleArgs) ToBucketServerSideEncryptionConfigurationV2RuleOutput() BucketServerSideEncryptionConfigurationV2RuleOutput

func (BucketServerSideEncryptionConfigurationV2RuleArgs) ToBucketServerSideEncryptionConfigurationV2RuleOutputWithContext

func (i BucketServerSideEncryptionConfigurationV2RuleArgs) ToBucketServerSideEncryptionConfigurationV2RuleOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2RuleOutput

type BucketServerSideEncryptionConfigurationV2RuleArray

type BucketServerSideEncryptionConfigurationV2RuleArray []BucketServerSideEncryptionConfigurationV2RuleInput

func (BucketServerSideEncryptionConfigurationV2RuleArray) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleArray) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutput

func (i BucketServerSideEncryptionConfigurationV2RuleArray) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutput() BucketServerSideEncryptionConfigurationV2RuleArrayOutput

func (BucketServerSideEncryptionConfigurationV2RuleArray) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutputWithContext

func (i BucketServerSideEncryptionConfigurationV2RuleArray) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2RuleArrayOutput

type BucketServerSideEncryptionConfigurationV2RuleArrayInput

type BucketServerSideEncryptionConfigurationV2RuleArrayInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2RuleArrayOutput() BucketServerSideEncryptionConfigurationV2RuleArrayOutput
	ToBucketServerSideEncryptionConfigurationV2RuleArrayOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2RuleArrayOutput
}

BucketServerSideEncryptionConfigurationV2RuleArrayInput is an input type that accepts BucketServerSideEncryptionConfigurationV2RuleArray and BucketServerSideEncryptionConfigurationV2RuleArrayOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2RuleArrayInput` via:

BucketServerSideEncryptionConfigurationV2RuleArray{ BucketServerSideEncryptionConfigurationV2RuleArgs{...} }

type BucketServerSideEncryptionConfigurationV2RuleArrayOutput

type BucketServerSideEncryptionConfigurationV2RuleArrayOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2RuleArrayOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleArrayOutput) Index

func (BucketServerSideEncryptionConfigurationV2RuleArrayOutput) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutput

func (BucketServerSideEncryptionConfigurationV2RuleArrayOutput) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutputWithContext

func (o BucketServerSideEncryptionConfigurationV2RuleArrayOutput) ToBucketServerSideEncryptionConfigurationV2RuleArrayOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2RuleArrayOutput

type BucketServerSideEncryptionConfigurationV2RuleInput

type BucketServerSideEncryptionConfigurationV2RuleInput interface {
	pulumi.Input

	ToBucketServerSideEncryptionConfigurationV2RuleOutput() BucketServerSideEncryptionConfigurationV2RuleOutput
	ToBucketServerSideEncryptionConfigurationV2RuleOutputWithContext(context.Context) BucketServerSideEncryptionConfigurationV2RuleOutput
}

BucketServerSideEncryptionConfigurationV2RuleInput is an input type that accepts BucketServerSideEncryptionConfigurationV2RuleArgs and BucketServerSideEncryptionConfigurationV2RuleOutput values. You can construct a concrete instance of `BucketServerSideEncryptionConfigurationV2RuleInput` via:

BucketServerSideEncryptionConfigurationV2RuleArgs{...}

type BucketServerSideEncryptionConfigurationV2RuleOutput

type BucketServerSideEncryptionConfigurationV2RuleOutput struct{ *pulumi.OutputState }

func (BucketServerSideEncryptionConfigurationV2RuleOutput) ApplyServerSideEncryptionByDefault

Single object for setting server-side encryption by default. See below.

func (BucketServerSideEncryptionConfigurationV2RuleOutput) 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 (BucketServerSideEncryptionConfigurationV2RuleOutput) ElementType

func (BucketServerSideEncryptionConfigurationV2RuleOutput) ToBucketServerSideEncryptionConfigurationV2RuleOutput

func (o BucketServerSideEncryptionConfigurationV2RuleOutput) ToBucketServerSideEncryptionConfigurationV2RuleOutput() BucketServerSideEncryptionConfigurationV2RuleOutput

func (BucketServerSideEncryptionConfigurationV2RuleOutput) ToBucketServerSideEncryptionConfigurationV2RuleOutputWithContext

func (o BucketServerSideEncryptionConfigurationV2RuleOutput) ToBucketServerSideEncryptionConfigurationV2RuleOutputWithContext(ctx context.Context) BucketServerSideEncryptionConfigurationV2RuleOutput

type BucketServerSideEncryptionConfigurationV2State

type BucketServerSideEncryptionConfigurationV2State struct {
	// ID (name) of the bucket.
	Bucket pulumi.StringPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Set of server-side encryption configuration rules. See below. Currently, only a single rule is supported.
	Rules BucketServerSideEncryptionConfigurationV2RuleArrayInput
}

func (BucketServerSideEncryptionConfigurationV2State) ElementType

type BucketState

type BucketState struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`.
	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`.
	Acl pulumi.StringPtrInput
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn pulumi.StringPtrInput
	// The name of the bucket. If omitted, this 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).
	Bucket pulumi.StringPtrInput
	// The 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
	// The bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL.
	BucketRegionalDomainName pulumi.StringPtrInput
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayInput
	// A 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 so that the bucket can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrInput
	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl) (documented below). Conflicts with `acl`.
	Grants BucketGrantArrayInput
	// 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 pulumi.StringPtrInput
	// A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).
	LifecycleRules BucketLifecycleRuleArrayInput
	// A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).
	Loggings BucketLoggingArrayInput
	// A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)
	//
	// > **NOTE:** You cannot use `accelerationStatus` in `cn-north-1` or `us-gov-west-1`
	ObjectLockConfiguration BucketObjectLockConfigurationPtrInput
	// A 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 a `pulumi preview`. In this case, please make sure you use the verbose/specific version of the policy.
	Policy pulumi.Input
	// The AWS region this bucket resides in.
	Region pulumi.StringPtrInput
	// A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).
	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.
	RequestPayer pulumi.StringPtrInput
	// A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)
	ServerSideEncryptionConfiguration BucketServerSideEncryptionConfigurationPtrInput
	// A 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.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningPtrInput
	// A website object (documented below).
	Website BucketWebsitePtrInput
	// The 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 pulumi.StringPtrInput
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint pulumi.StringPtrInput
}

func (BucketState) ElementType

func (BucketState) ElementType() reflect.Type

type BucketV2

type BucketV2 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.BucketAccelerateConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 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"`
	// 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.BucketCorsConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
	CorsRules BucketV2CorsRuleArrayOutput `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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 resource instead
	Grants BucketV2GrantArrayOutput `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.BucketLifecycleConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
	LifecycleRules BucketV2LifecycleRuleArrayOutput `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.BucketLoggingV2` instead.
	//
	// Deprecated: Use the s3.BucketLoggingV2 resource instead
	Loggings BucketV2LoggingArrayOutput `pulumi:"loggings"`
	// 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.BucketObjectLockConfigurationV2` instead.
	//
	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
	ObjectLockConfiguration BucketV2ObjectLockConfigurationOutput `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: Use the s3.BucketPolicy resource instead
	Policy pulumi.StringOutput `pulumi:"policy"`
	// AWS region this bucket resides in.
	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: Use the s3.BucketReplicationConfig resource instead
	ReplicationConfigurations BucketV2ReplicationConfigurationArrayOutput `pulumi:"replicationConfigurations"`
	// 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.BucketRequestPaymentConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 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.BucketServerSideEncryptionConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayOutput `pulumi:"serverSideEncryptionConfigurations"`
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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.BucketVersioningV2` instead.
	//
	// Deprecated: Use the s3.BucketVersioningV2 resource instead
	Versionings BucketV2VersioningArrayOutput `pulumi:"versionings"`
	// (**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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
	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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
	// 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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
	Websites BucketV2WebsiteArrayOutput `pulumi:"websites"`
}

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.BucketObjectLockConfigurationV2` 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			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/bucketV2:BucketV2 bucket bucket-name ```

func GetBucketV2

func GetBucketV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketV2State, opts ...pulumi.ResourceOption) (*BucketV2, error)

GetBucketV2 gets an existing BucketV2 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 NewBucketV2

func NewBucketV2(ctx *pulumi.Context,
	name string, args *BucketV2Args, opts ...pulumi.ResourceOption) (*BucketV2, error)

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

func (*BucketV2) ElementType

func (*BucketV2) ElementType() reflect.Type

func (*BucketV2) ToBucketV2Output

func (i *BucketV2) ToBucketV2Output() BucketV2Output

func (*BucketV2) ToBucketV2OutputWithContext

func (i *BucketV2) ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output

type BucketV2Args

type BucketV2Args 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.BucketAccelerateConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 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.BucketCorsConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
	CorsRules BucketV2CorsRuleArrayInput
	// 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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 resource instead
	Grants BucketV2GrantArrayInput
	// 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.BucketLifecycleConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
	LifecycleRules BucketV2LifecycleRuleArrayInput
	// 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.BucketLoggingV2` instead.
	//
	// Deprecated: Use the s3.BucketLoggingV2 resource instead
	Loggings BucketV2LoggingArrayInput
	// 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.BucketObjectLockConfigurationV2` instead.
	//
	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
	ObjectLockConfiguration BucketV2ObjectLockConfigurationPtrInput
	// 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: Use the s3.BucketPolicy resource instead
	Policy 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: Use the s3.BucketReplicationConfig resource instead
	ReplicationConfigurations BucketV2ReplicationConfigurationArrayInput
	// 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.BucketRequestPaymentConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 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.BucketServerSideEncryptionConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayInput
	// 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.BucketVersioningV2` instead.
	//
	// Deprecated: Use the s3.BucketVersioningV2 resource instead
	Versionings BucketV2VersioningArrayInput
	// 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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
	Websites BucketV2WebsiteArrayInput
}

The set of arguments for constructing a BucketV2 resource.

func (BucketV2Args) ElementType

func (BucketV2Args) ElementType() reflect.Type

type BucketV2Array

type BucketV2Array []BucketV2Input

func (BucketV2Array) ElementType

func (BucketV2Array) ElementType() reflect.Type

func (BucketV2Array) ToBucketV2ArrayOutput

func (i BucketV2Array) ToBucketV2ArrayOutput() BucketV2ArrayOutput

func (BucketV2Array) ToBucketV2ArrayOutputWithContext

func (i BucketV2Array) ToBucketV2ArrayOutputWithContext(ctx context.Context) BucketV2ArrayOutput

type BucketV2ArrayInput

type BucketV2ArrayInput interface {
	pulumi.Input

	ToBucketV2ArrayOutput() BucketV2ArrayOutput
	ToBucketV2ArrayOutputWithContext(context.Context) BucketV2ArrayOutput
}

BucketV2ArrayInput is an input type that accepts BucketV2Array and BucketV2ArrayOutput values. You can construct a concrete instance of `BucketV2ArrayInput` via:

BucketV2Array{ BucketV2Args{...} }

type BucketV2ArrayOutput

type BucketV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ArrayOutput) ElementType

func (BucketV2ArrayOutput) ElementType() reflect.Type

func (BucketV2ArrayOutput) Index

func (BucketV2ArrayOutput) ToBucketV2ArrayOutput

func (o BucketV2ArrayOutput) ToBucketV2ArrayOutput() BucketV2ArrayOutput

func (BucketV2ArrayOutput) ToBucketV2ArrayOutputWithContext

func (o BucketV2ArrayOutput) ToBucketV2ArrayOutputWithContext(ctx context.Context) BucketV2ArrayOutput

type BucketV2CorsRule

type BucketV2CorsRule 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 BucketV2CorsRuleArgs

type BucketV2CorsRuleArgs 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 (BucketV2CorsRuleArgs) ElementType

func (BucketV2CorsRuleArgs) ElementType() reflect.Type

func (BucketV2CorsRuleArgs) ToBucketV2CorsRuleOutput

func (i BucketV2CorsRuleArgs) ToBucketV2CorsRuleOutput() BucketV2CorsRuleOutput

func (BucketV2CorsRuleArgs) ToBucketV2CorsRuleOutputWithContext

func (i BucketV2CorsRuleArgs) ToBucketV2CorsRuleOutputWithContext(ctx context.Context) BucketV2CorsRuleOutput

type BucketV2CorsRuleArray

type BucketV2CorsRuleArray []BucketV2CorsRuleInput

func (BucketV2CorsRuleArray) ElementType

func (BucketV2CorsRuleArray) ElementType() reflect.Type

func (BucketV2CorsRuleArray) ToBucketV2CorsRuleArrayOutput

func (i BucketV2CorsRuleArray) ToBucketV2CorsRuleArrayOutput() BucketV2CorsRuleArrayOutput

func (BucketV2CorsRuleArray) ToBucketV2CorsRuleArrayOutputWithContext

func (i BucketV2CorsRuleArray) ToBucketV2CorsRuleArrayOutputWithContext(ctx context.Context) BucketV2CorsRuleArrayOutput

type BucketV2CorsRuleArrayInput

type BucketV2CorsRuleArrayInput interface {
	pulumi.Input

	ToBucketV2CorsRuleArrayOutput() BucketV2CorsRuleArrayOutput
	ToBucketV2CorsRuleArrayOutputWithContext(context.Context) BucketV2CorsRuleArrayOutput
}

BucketV2CorsRuleArrayInput is an input type that accepts BucketV2CorsRuleArray and BucketV2CorsRuleArrayOutput values. You can construct a concrete instance of `BucketV2CorsRuleArrayInput` via:

BucketV2CorsRuleArray{ BucketV2CorsRuleArgs{...} }

type BucketV2CorsRuleArrayOutput

type BucketV2CorsRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketV2CorsRuleArrayOutput) ElementType

func (BucketV2CorsRuleArrayOutput) Index

func (BucketV2CorsRuleArrayOutput) ToBucketV2CorsRuleArrayOutput

func (o BucketV2CorsRuleArrayOutput) ToBucketV2CorsRuleArrayOutput() BucketV2CorsRuleArrayOutput

func (BucketV2CorsRuleArrayOutput) ToBucketV2CorsRuleArrayOutputWithContext

func (o BucketV2CorsRuleArrayOutput) ToBucketV2CorsRuleArrayOutputWithContext(ctx context.Context) BucketV2CorsRuleArrayOutput

type BucketV2CorsRuleInput

type BucketV2CorsRuleInput interface {
	pulumi.Input

	ToBucketV2CorsRuleOutput() BucketV2CorsRuleOutput
	ToBucketV2CorsRuleOutputWithContext(context.Context) BucketV2CorsRuleOutput
}

BucketV2CorsRuleInput is an input type that accepts BucketV2CorsRuleArgs and BucketV2CorsRuleOutput values. You can construct a concrete instance of `BucketV2CorsRuleInput` via:

BucketV2CorsRuleArgs{...}

type BucketV2CorsRuleOutput

type BucketV2CorsRuleOutput struct{ *pulumi.OutputState }

func (BucketV2CorsRuleOutput) AllowedHeaders

func (o BucketV2CorsRuleOutput) AllowedHeaders() pulumi.StringArrayOutput

List of headers allowed.

func (BucketV2CorsRuleOutput) AllowedMethods

func (o BucketV2CorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput

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

func (BucketV2CorsRuleOutput) AllowedOrigins

func (o BucketV2CorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput

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

func (BucketV2CorsRuleOutput) ElementType

func (BucketV2CorsRuleOutput) ElementType() reflect.Type

func (BucketV2CorsRuleOutput) ExposeHeaders

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 (BucketV2CorsRuleOutput) MaxAgeSeconds

func (o BucketV2CorsRuleOutput) MaxAgeSeconds() pulumi.IntPtrOutput

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

func (BucketV2CorsRuleOutput) ToBucketV2CorsRuleOutput

func (o BucketV2CorsRuleOutput) ToBucketV2CorsRuleOutput() BucketV2CorsRuleOutput

func (BucketV2CorsRuleOutput) ToBucketV2CorsRuleOutputWithContext

func (o BucketV2CorsRuleOutput) ToBucketV2CorsRuleOutputWithContext(ctx context.Context) BucketV2CorsRuleOutput

type BucketV2Grant

type BucketV2Grant 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 BucketV2GrantArgs

type BucketV2GrantArgs 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 (BucketV2GrantArgs) ElementType

func (BucketV2GrantArgs) ElementType() reflect.Type

func (BucketV2GrantArgs) ToBucketV2GrantOutput

func (i BucketV2GrantArgs) ToBucketV2GrantOutput() BucketV2GrantOutput

func (BucketV2GrantArgs) ToBucketV2GrantOutputWithContext

func (i BucketV2GrantArgs) ToBucketV2GrantOutputWithContext(ctx context.Context) BucketV2GrantOutput

type BucketV2GrantArray

type BucketV2GrantArray []BucketV2GrantInput

func (BucketV2GrantArray) ElementType

func (BucketV2GrantArray) ElementType() reflect.Type

func (BucketV2GrantArray) ToBucketV2GrantArrayOutput

func (i BucketV2GrantArray) ToBucketV2GrantArrayOutput() BucketV2GrantArrayOutput

func (BucketV2GrantArray) ToBucketV2GrantArrayOutputWithContext

func (i BucketV2GrantArray) ToBucketV2GrantArrayOutputWithContext(ctx context.Context) BucketV2GrantArrayOutput

type BucketV2GrantArrayInput

type BucketV2GrantArrayInput interface {
	pulumi.Input

	ToBucketV2GrantArrayOutput() BucketV2GrantArrayOutput
	ToBucketV2GrantArrayOutputWithContext(context.Context) BucketV2GrantArrayOutput
}

BucketV2GrantArrayInput is an input type that accepts BucketV2GrantArray and BucketV2GrantArrayOutput values. You can construct a concrete instance of `BucketV2GrantArrayInput` via:

BucketV2GrantArray{ BucketV2GrantArgs{...} }

type BucketV2GrantArrayOutput

type BucketV2GrantArrayOutput struct{ *pulumi.OutputState }

func (BucketV2GrantArrayOutput) ElementType

func (BucketV2GrantArrayOutput) ElementType() reflect.Type

func (BucketV2GrantArrayOutput) Index

func (BucketV2GrantArrayOutput) ToBucketV2GrantArrayOutput

func (o BucketV2GrantArrayOutput) ToBucketV2GrantArrayOutput() BucketV2GrantArrayOutput

func (BucketV2GrantArrayOutput) ToBucketV2GrantArrayOutputWithContext

func (o BucketV2GrantArrayOutput) ToBucketV2GrantArrayOutputWithContext(ctx context.Context) BucketV2GrantArrayOutput

type BucketV2GrantInput

type BucketV2GrantInput interface {
	pulumi.Input

	ToBucketV2GrantOutput() BucketV2GrantOutput
	ToBucketV2GrantOutputWithContext(context.Context) BucketV2GrantOutput
}

BucketV2GrantInput is an input type that accepts BucketV2GrantArgs and BucketV2GrantOutput values. You can construct a concrete instance of `BucketV2GrantInput` via:

BucketV2GrantArgs{...}

type BucketV2GrantOutput

type BucketV2GrantOutput struct{ *pulumi.OutputState }

func (BucketV2GrantOutput) ElementType

func (BucketV2GrantOutput) ElementType() reflect.Type

func (BucketV2GrantOutput) Id

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

func (BucketV2GrantOutput) Permissions

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

func (BucketV2GrantOutput) ToBucketV2GrantOutput

func (o BucketV2GrantOutput) ToBucketV2GrantOutput() BucketV2GrantOutput

func (BucketV2GrantOutput) ToBucketV2GrantOutputWithContext

func (o BucketV2GrantOutput) ToBucketV2GrantOutputWithContext(ctx context.Context) BucketV2GrantOutput

func (BucketV2GrantOutput) Type

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

func (BucketV2GrantOutput) Uri

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

type BucketV2Input

type BucketV2Input interface {
	pulumi.Input

	ToBucketV2Output() BucketV2Output
	ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output
}

type BucketV2LifecycleRule

type BucketV2LifecycleRule 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.
	Expirations []BucketV2LifecycleRuleExpiration `pulumi:"expirations"`
	// 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.
	NoncurrentVersionExpirations []BucketV2LifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpirations"`
	// Specifies when noncurrent object versions transitions. See Noncurrent Version Transition below for details.
	NoncurrentVersionTransitions []BucketV2LifecycleRuleNoncurrentVersionTransition `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 []BucketV2LifecycleRuleTransition `pulumi:"transitions"`
}

type BucketV2LifecycleRuleArgs

type BucketV2LifecycleRuleArgs 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.
	Expirations BucketV2LifecycleRuleExpirationArrayInput `pulumi:"expirations"`
	// 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.
	NoncurrentVersionExpirations BucketV2LifecycleRuleNoncurrentVersionExpirationArrayInput `pulumi:"noncurrentVersionExpirations"`
	// Specifies when noncurrent object versions transitions. See Noncurrent Version Transition below for details.
	NoncurrentVersionTransitions BucketV2LifecycleRuleNoncurrentVersionTransitionArrayInput `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 BucketV2LifecycleRuleTransitionArrayInput `pulumi:"transitions"`
}

func (BucketV2LifecycleRuleArgs) ElementType

func (BucketV2LifecycleRuleArgs) ElementType() reflect.Type

func (BucketV2LifecycleRuleArgs) ToBucketV2LifecycleRuleOutput

func (i BucketV2LifecycleRuleArgs) ToBucketV2LifecycleRuleOutput() BucketV2LifecycleRuleOutput

func (BucketV2LifecycleRuleArgs) ToBucketV2LifecycleRuleOutputWithContext

func (i BucketV2LifecycleRuleArgs) ToBucketV2LifecycleRuleOutputWithContext(ctx context.Context) BucketV2LifecycleRuleOutput

type BucketV2LifecycleRuleArray

type BucketV2LifecycleRuleArray []BucketV2LifecycleRuleInput

func (BucketV2LifecycleRuleArray) ElementType

func (BucketV2LifecycleRuleArray) ElementType() reflect.Type

func (BucketV2LifecycleRuleArray) ToBucketV2LifecycleRuleArrayOutput

func (i BucketV2LifecycleRuleArray) ToBucketV2LifecycleRuleArrayOutput() BucketV2LifecycleRuleArrayOutput

func (BucketV2LifecycleRuleArray) ToBucketV2LifecycleRuleArrayOutputWithContext

func (i BucketV2LifecycleRuleArray) ToBucketV2LifecycleRuleArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleArrayOutput

type BucketV2LifecycleRuleArrayInput

type BucketV2LifecycleRuleArrayInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleArrayOutput() BucketV2LifecycleRuleArrayOutput
	ToBucketV2LifecycleRuleArrayOutputWithContext(context.Context) BucketV2LifecycleRuleArrayOutput
}

BucketV2LifecycleRuleArrayInput is an input type that accepts BucketV2LifecycleRuleArray and BucketV2LifecycleRuleArrayOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleArrayInput` via:

BucketV2LifecycleRuleArray{ BucketV2LifecycleRuleArgs{...} }

type BucketV2LifecycleRuleArrayOutput

type BucketV2LifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleArrayOutput) ElementType

func (BucketV2LifecycleRuleArrayOutput) Index

func (BucketV2LifecycleRuleArrayOutput) ToBucketV2LifecycleRuleArrayOutput

func (o BucketV2LifecycleRuleArrayOutput) ToBucketV2LifecycleRuleArrayOutput() BucketV2LifecycleRuleArrayOutput

func (BucketV2LifecycleRuleArrayOutput) ToBucketV2LifecycleRuleArrayOutputWithContext

func (o BucketV2LifecycleRuleArrayOutput) ToBucketV2LifecycleRuleArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleArrayOutput

type BucketV2LifecycleRuleExpiration

type BucketV2LifecycleRuleExpiration 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 BucketV2LifecycleRuleExpirationArgs

type BucketV2LifecycleRuleExpirationArgs 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 (BucketV2LifecycleRuleExpirationArgs) ElementType

func (BucketV2LifecycleRuleExpirationArgs) ToBucketV2LifecycleRuleExpirationOutput

func (i BucketV2LifecycleRuleExpirationArgs) ToBucketV2LifecycleRuleExpirationOutput() BucketV2LifecycleRuleExpirationOutput

func (BucketV2LifecycleRuleExpirationArgs) ToBucketV2LifecycleRuleExpirationOutputWithContext

func (i BucketV2LifecycleRuleExpirationArgs) ToBucketV2LifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketV2LifecycleRuleExpirationOutput

type BucketV2LifecycleRuleExpirationArray

type BucketV2LifecycleRuleExpirationArray []BucketV2LifecycleRuleExpirationInput

func (BucketV2LifecycleRuleExpirationArray) ElementType

func (BucketV2LifecycleRuleExpirationArray) ToBucketV2LifecycleRuleExpirationArrayOutput

func (i BucketV2LifecycleRuleExpirationArray) ToBucketV2LifecycleRuleExpirationArrayOutput() BucketV2LifecycleRuleExpirationArrayOutput

func (BucketV2LifecycleRuleExpirationArray) ToBucketV2LifecycleRuleExpirationArrayOutputWithContext

func (i BucketV2LifecycleRuleExpirationArray) ToBucketV2LifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleExpirationArrayOutput

type BucketV2LifecycleRuleExpirationArrayInput

type BucketV2LifecycleRuleExpirationArrayInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleExpirationArrayOutput() BucketV2LifecycleRuleExpirationArrayOutput
	ToBucketV2LifecycleRuleExpirationArrayOutputWithContext(context.Context) BucketV2LifecycleRuleExpirationArrayOutput
}

BucketV2LifecycleRuleExpirationArrayInput is an input type that accepts BucketV2LifecycleRuleExpirationArray and BucketV2LifecycleRuleExpirationArrayOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleExpirationArrayInput` via:

BucketV2LifecycleRuleExpirationArray{ BucketV2LifecycleRuleExpirationArgs{...} }

type BucketV2LifecycleRuleExpirationArrayOutput

type BucketV2LifecycleRuleExpirationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleExpirationArrayOutput) ElementType

func (BucketV2LifecycleRuleExpirationArrayOutput) Index

func (BucketV2LifecycleRuleExpirationArrayOutput) ToBucketV2LifecycleRuleExpirationArrayOutput

func (o BucketV2LifecycleRuleExpirationArrayOutput) ToBucketV2LifecycleRuleExpirationArrayOutput() BucketV2LifecycleRuleExpirationArrayOutput

func (BucketV2LifecycleRuleExpirationArrayOutput) ToBucketV2LifecycleRuleExpirationArrayOutputWithContext

func (o BucketV2LifecycleRuleExpirationArrayOutput) ToBucketV2LifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleExpirationArrayOutput

type BucketV2LifecycleRuleExpirationInput

type BucketV2LifecycleRuleExpirationInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleExpirationOutput() BucketV2LifecycleRuleExpirationOutput
	ToBucketV2LifecycleRuleExpirationOutputWithContext(context.Context) BucketV2LifecycleRuleExpirationOutput
}

BucketV2LifecycleRuleExpirationInput is an input type that accepts BucketV2LifecycleRuleExpirationArgs and BucketV2LifecycleRuleExpirationOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleExpirationInput` via:

BucketV2LifecycleRuleExpirationArgs{...}

type BucketV2LifecycleRuleExpirationOutput

type BucketV2LifecycleRuleExpirationOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleExpirationOutput) Date

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

func (BucketV2LifecycleRuleExpirationOutput) Days

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

func (BucketV2LifecycleRuleExpirationOutput) ElementType

func (BucketV2LifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker

func (o BucketV2LifecycleRuleExpirationOutput) 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 (BucketV2LifecycleRuleExpirationOutput) ToBucketV2LifecycleRuleExpirationOutput

func (o BucketV2LifecycleRuleExpirationOutput) ToBucketV2LifecycleRuleExpirationOutput() BucketV2LifecycleRuleExpirationOutput

func (BucketV2LifecycleRuleExpirationOutput) ToBucketV2LifecycleRuleExpirationOutputWithContext

func (o BucketV2LifecycleRuleExpirationOutput) ToBucketV2LifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketV2LifecycleRuleExpirationOutput

type BucketV2LifecycleRuleInput

type BucketV2LifecycleRuleInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleOutput() BucketV2LifecycleRuleOutput
	ToBucketV2LifecycleRuleOutputWithContext(context.Context) BucketV2LifecycleRuleOutput
}

BucketV2LifecycleRuleInput is an input type that accepts BucketV2LifecycleRuleArgs and BucketV2LifecycleRuleOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleInput` via:

BucketV2LifecycleRuleArgs{...}

type BucketV2LifecycleRuleNoncurrentVersionExpiration

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

type BucketV2LifecycleRuleNoncurrentVersionExpirationArgs

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

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArgs) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArgs) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutput

func (i BucketV2LifecycleRuleNoncurrentVersionExpirationArgs) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutput() BucketV2LifecycleRuleNoncurrentVersionExpirationOutput

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArgs) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutputWithContext

func (i BucketV2LifecycleRuleNoncurrentVersionExpirationArgs) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationOutput

type BucketV2LifecycleRuleNoncurrentVersionExpirationArray

type BucketV2LifecycleRuleNoncurrentVersionExpirationArray []BucketV2LifecycleRuleNoncurrentVersionExpirationInput

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArray) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArray) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

func (i BucketV2LifecycleRuleNoncurrentVersionExpirationArray) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput() BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArray) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext

func (i BucketV2LifecycleRuleNoncurrentVersionExpirationArray) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionExpirationArrayInput

type BucketV2LifecycleRuleNoncurrentVersionExpirationArrayInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput() BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput
	ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput
}

BucketV2LifecycleRuleNoncurrentVersionExpirationArrayInput is an input type that accepts BucketV2LifecycleRuleNoncurrentVersionExpirationArray and BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleNoncurrentVersionExpirationArrayInput` via:

BucketV2LifecycleRuleNoncurrentVersionExpirationArray{ BucketV2LifecycleRuleNoncurrentVersionExpirationArgs{...} }

type BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput) Index

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

func (BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext

func (o BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionExpirationInput

type BucketV2LifecycleRuleNoncurrentVersionExpirationInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutput() BucketV2LifecycleRuleNoncurrentVersionExpirationOutput
	ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationOutput
}

BucketV2LifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts BucketV2LifecycleRuleNoncurrentVersionExpirationArgs and BucketV2LifecycleRuleNoncurrentVersionExpirationOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleNoncurrentVersionExpirationInput` via:

BucketV2LifecycleRuleNoncurrentVersionExpirationArgs{...}

type BucketV2LifecycleRuleNoncurrentVersionExpirationOutput

type BucketV2LifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleNoncurrentVersionExpirationOutput) Days

Specifies the number of days noncurrent object versions expire.

func (BucketV2LifecycleRuleNoncurrentVersionExpirationOutput) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionExpirationOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutput

func (BucketV2LifecycleRuleNoncurrentVersionExpirationOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutputWithContext

func (o BucketV2LifecycleRuleNoncurrentVersionExpirationOutput) ToBucketV2LifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionExpirationOutput

type BucketV2LifecycleRuleNoncurrentVersionTransition

type BucketV2LifecycleRuleNoncurrentVersionTransition 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 BucketV2LifecycleRuleNoncurrentVersionTransitionArgs

type BucketV2LifecycleRuleNoncurrentVersionTransitionArgs 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 (BucketV2LifecycleRuleNoncurrentVersionTransitionArgs) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArgs) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutput

func (i BucketV2LifecycleRuleNoncurrentVersionTransitionArgs) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutput() BucketV2LifecycleRuleNoncurrentVersionTransitionOutput

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArgs) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutputWithContext

func (i BucketV2LifecycleRuleNoncurrentVersionTransitionArgs) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionOutput

type BucketV2LifecycleRuleNoncurrentVersionTransitionArray

type BucketV2LifecycleRuleNoncurrentVersionTransitionArray []BucketV2LifecycleRuleNoncurrentVersionTransitionInput

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArray) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArray) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

func (i BucketV2LifecycleRuleNoncurrentVersionTransitionArray) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput() BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArray) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext

func (i BucketV2LifecycleRuleNoncurrentVersionTransitionArray) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionTransitionArrayInput

type BucketV2LifecycleRuleNoncurrentVersionTransitionArrayInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput() BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput
	ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput
}

BucketV2LifecycleRuleNoncurrentVersionTransitionArrayInput is an input type that accepts BucketV2LifecycleRuleNoncurrentVersionTransitionArray and BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleNoncurrentVersionTransitionArrayInput` via:

BucketV2LifecycleRuleNoncurrentVersionTransitionArray{ BucketV2LifecycleRuleNoncurrentVersionTransitionArgs{...} }

type BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput) Index

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

func (BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext

func (o BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionArrayOutput

type BucketV2LifecycleRuleNoncurrentVersionTransitionInput

type BucketV2LifecycleRuleNoncurrentVersionTransitionInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutput() BucketV2LifecycleRuleNoncurrentVersionTransitionOutput
	ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutputWithContext(context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionOutput
}

BucketV2LifecycleRuleNoncurrentVersionTransitionInput is an input type that accepts BucketV2LifecycleRuleNoncurrentVersionTransitionArgs and BucketV2LifecycleRuleNoncurrentVersionTransitionOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleNoncurrentVersionTransitionInput` via:

BucketV2LifecycleRuleNoncurrentVersionTransitionArgs{...}

type BucketV2LifecycleRuleNoncurrentVersionTransitionOutput

type BucketV2LifecycleRuleNoncurrentVersionTransitionOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) Days

Specifies the number of days noncurrent object versions transition.

func (BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) ElementType

func (BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) 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 (BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutput

func (BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutputWithContext

func (o BucketV2LifecycleRuleNoncurrentVersionTransitionOutput) ToBucketV2LifecycleRuleNoncurrentVersionTransitionOutputWithContext(ctx context.Context) BucketV2LifecycleRuleNoncurrentVersionTransitionOutput

type BucketV2LifecycleRuleOutput

type BucketV2LifecycleRuleOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleOutput) AbortIncompleteMultipartUploadDays

func (o BucketV2LifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntPtrOutput

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

func (BucketV2LifecycleRuleOutput) ElementType

func (BucketV2LifecycleRuleOutput) Enabled

Specifies lifecycle rule status.

func (BucketV2LifecycleRuleOutput) Expirations

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

func (BucketV2LifecycleRuleOutput) Id

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

func (BucketV2LifecycleRuleOutput) NoncurrentVersionExpirations

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

func (BucketV2LifecycleRuleOutput) NoncurrentVersionTransitions

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

func (BucketV2LifecycleRuleOutput) Prefix

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

func (BucketV2LifecycleRuleOutput) Tags

Specifies object tags key and value.

func (BucketV2LifecycleRuleOutput) ToBucketV2LifecycleRuleOutput

func (o BucketV2LifecycleRuleOutput) ToBucketV2LifecycleRuleOutput() BucketV2LifecycleRuleOutput

func (BucketV2LifecycleRuleOutput) ToBucketV2LifecycleRuleOutputWithContext

func (o BucketV2LifecycleRuleOutput) ToBucketV2LifecycleRuleOutputWithContext(ctx context.Context) BucketV2LifecycleRuleOutput

func (BucketV2LifecycleRuleOutput) Transitions

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

type BucketV2LifecycleRuleTransition

type BucketV2LifecycleRuleTransition 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 BucketV2LifecycleRuleTransitionArgs

type BucketV2LifecycleRuleTransitionArgs 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 (BucketV2LifecycleRuleTransitionArgs) ElementType

func (BucketV2LifecycleRuleTransitionArgs) ToBucketV2LifecycleRuleTransitionOutput

func (i BucketV2LifecycleRuleTransitionArgs) ToBucketV2LifecycleRuleTransitionOutput() BucketV2LifecycleRuleTransitionOutput

func (BucketV2LifecycleRuleTransitionArgs) ToBucketV2LifecycleRuleTransitionOutputWithContext

func (i BucketV2LifecycleRuleTransitionArgs) ToBucketV2LifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketV2LifecycleRuleTransitionOutput

type BucketV2LifecycleRuleTransitionArray

type BucketV2LifecycleRuleTransitionArray []BucketV2LifecycleRuleTransitionInput

func (BucketV2LifecycleRuleTransitionArray) ElementType

func (BucketV2LifecycleRuleTransitionArray) ToBucketV2LifecycleRuleTransitionArrayOutput

func (i BucketV2LifecycleRuleTransitionArray) ToBucketV2LifecycleRuleTransitionArrayOutput() BucketV2LifecycleRuleTransitionArrayOutput

func (BucketV2LifecycleRuleTransitionArray) ToBucketV2LifecycleRuleTransitionArrayOutputWithContext

func (i BucketV2LifecycleRuleTransitionArray) ToBucketV2LifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleTransitionArrayOutput

type BucketV2LifecycleRuleTransitionArrayInput

type BucketV2LifecycleRuleTransitionArrayInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleTransitionArrayOutput() BucketV2LifecycleRuleTransitionArrayOutput
	ToBucketV2LifecycleRuleTransitionArrayOutputWithContext(context.Context) BucketV2LifecycleRuleTransitionArrayOutput
}

BucketV2LifecycleRuleTransitionArrayInput is an input type that accepts BucketV2LifecycleRuleTransitionArray and BucketV2LifecycleRuleTransitionArrayOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleTransitionArrayInput` via:

BucketV2LifecycleRuleTransitionArray{ BucketV2LifecycleRuleTransitionArgs{...} }

type BucketV2LifecycleRuleTransitionArrayOutput

type BucketV2LifecycleRuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleTransitionArrayOutput) ElementType

func (BucketV2LifecycleRuleTransitionArrayOutput) Index

func (BucketV2LifecycleRuleTransitionArrayOutput) ToBucketV2LifecycleRuleTransitionArrayOutput

func (o BucketV2LifecycleRuleTransitionArrayOutput) ToBucketV2LifecycleRuleTransitionArrayOutput() BucketV2LifecycleRuleTransitionArrayOutput

func (BucketV2LifecycleRuleTransitionArrayOutput) ToBucketV2LifecycleRuleTransitionArrayOutputWithContext

func (o BucketV2LifecycleRuleTransitionArrayOutput) ToBucketV2LifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketV2LifecycleRuleTransitionArrayOutput

type BucketV2LifecycleRuleTransitionInput

type BucketV2LifecycleRuleTransitionInput interface {
	pulumi.Input

	ToBucketV2LifecycleRuleTransitionOutput() BucketV2LifecycleRuleTransitionOutput
	ToBucketV2LifecycleRuleTransitionOutputWithContext(context.Context) BucketV2LifecycleRuleTransitionOutput
}

BucketV2LifecycleRuleTransitionInput is an input type that accepts BucketV2LifecycleRuleTransitionArgs and BucketV2LifecycleRuleTransitionOutput values. You can construct a concrete instance of `BucketV2LifecycleRuleTransitionInput` via:

BucketV2LifecycleRuleTransitionArgs{...}

type BucketV2LifecycleRuleTransitionOutput

type BucketV2LifecycleRuleTransitionOutput struct{ *pulumi.OutputState }

func (BucketV2LifecycleRuleTransitionOutput) Date

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

func (BucketV2LifecycleRuleTransitionOutput) Days

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

func (BucketV2LifecycleRuleTransitionOutput) ElementType

func (BucketV2LifecycleRuleTransitionOutput) 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 (BucketV2LifecycleRuleTransitionOutput) ToBucketV2LifecycleRuleTransitionOutput

func (o BucketV2LifecycleRuleTransitionOutput) ToBucketV2LifecycleRuleTransitionOutput() BucketV2LifecycleRuleTransitionOutput

func (BucketV2LifecycleRuleTransitionOutput) ToBucketV2LifecycleRuleTransitionOutputWithContext

func (o BucketV2LifecycleRuleTransitionOutput) ToBucketV2LifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketV2LifecycleRuleTransitionOutput

type BucketV2Logging

type BucketV2Logging 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 BucketV2LoggingArgs

type BucketV2LoggingArgs 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 (BucketV2LoggingArgs) ElementType

func (BucketV2LoggingArgs) ElementType() reflect.Type

func (BucketV2LoggingArgs) ToBucketV2LoggingOutput

func (i BucketV2LoggingArgs) ToBucketV2LoggingOutput() BucketV2LoggingOutput

func (BucketV2LoggingArgs) ToBucketV2LoggingOutputWithContext

func (i BucketV2LoggingArgs) ToBucketV2LoggingOutputWithContext(ctx context.Context) BucketV2LoggingOutput

type BucketV2LoggingArray

type BucketV2LoggingArray []BucketV2LoggingInput

func (BucketV2LoggingArray) ElementType

func (BucketV2LoggingArray) ElementType() reflect.Type

func (BucketV2LoggingArray) ToBucketV2LoggingArrayOutput

func (i BucketV2LoggingArray) ToBucketV2LoggingArrayOutput() BucketV2LoggingArrayOutput

func (BucketV2LoggingArray) ToBucketV2LoggingArrayOutputWithContext

func (i BucketV2LoggingArray) ToBucketV2LoggingArrayOutputWithContext(ctx context.Context) BucketV2LoggingArrayOutput

type BucketV2LoggingArrayInput

type BucketV2LoggingArrayInput interface {
	pulumi.Input

	ToBucketV2LoggingArrayOutput() BucketV2LoggingArrayOutput
	ToBucketV2LoggingArrayOutputWithContext(context.Context) BucketV2LoggingArrayOutput
}

BucketV2LoggingArrayInput is an input type that accepts BucketV2LoggingArray and BucketV2LoggingArrayOutput values. You can construct a concrete instance of `BucketV2LoggingArrayInput` via:

BucketV2LoggingArray{ BucketV2LoggingArgs{...} }

type BucketV2LoggingArrayOutput

type BucketV2LoggingArrayOutput struct{ *pulumi.OutputState }

func (BucketV2LoggingArrayOutput) ElementType

func (BucketV2LoggingArrayOutput) ElementType() reflect.Type

func (BucketV2LoggingArrayOutput) Index

func (BucketV2LoggingArrayOutput) ToBucketV2LoggingArrayOutput

func (o BucketV2LoggingArrayOutput) ToBucketV2LoggingArrayOutput() BucketV2LoggingArrayOutput

func (BucketV2LoggingArrayOutput) ToBucketV2LoggingArrayOutputWithContext

func (o BucketV2LoggingArrayOutput) ToBucketV2LoggingArrayOutputWithContext(ctx context.Context) BucketV2LoggingArrayOutput

type BucketV2LoggingInput

type BucketV2LoggingInput interface {
	pulumi.Input

	ToBucketV2LoggingOutput() BucketV2LoggingOutput
	ToBucketV2LoggingOutputWithContext(context.Context) BucketV2LoggingOutput
}

BucketV2LoggingInput is an input type that accepts BucketV2LoggingArgs and BucketV2LoggingOutput values. You can construct a concrete instance of `BucketV2LoggingInput` via:

BucketV2LoggingArgs{...}

type BucketV2LoggingOutput

type BucketV2LoggingOutput struct{ *pulumi.OutputState }

func (BucketV2LoggingOutput) ElementType

func (BucketV2LoggingOutput) ElementType() reflect.Type

func (BucketV2LoggingOutput) TargetBucket

func (o BucketV2LoggingOutput) TargetBucket() pulumi.StringOutput

Name of the bucket that will receive the log objects.

func (BucketV2LoggingOutput) TargetPrefix

func (o BucketV2LoggingOutput) TargetPrefix() pulumi.StringPtrOutput

To specify a key prefix for log objects.

func (BucketV2LoggingOutput) ToBucketV2LoggingOutput

func (o BucketV2LoggingOutput) ToBucketV2LoggingOutput() BucketV2LoggingOutput

func (BucketV2LoggingOutput) ToBucketV2LoggingOutputWithContext

func (o BucketV2LoggingOutput) ToBucketV2LoggingOutputWithContext(ctx context.Context) BucketV2LoggingOutput

type BucketV2Map

type BucketV2Map map[string]BucketV2Input

func (BucketV2Map) ElementType

func (BucketV2Map) ElementType() reflect.Type

func (BucketV2Map) ToBucketV2MapOutput

func (i BucketV2Map) ToBucketV2MapOutput() BucketV2MapOutput

func (BucketV2Map) ToBucketV2MapOutputWithContext

func (i BucketV2Map) ToBucketV2MapOutputWithContext(ctx context.Context) BucketV2MapOutput

type BucketV2MapInput

type BucketV2MapInput interface {
	pulumi.Input

	ToBucketV2MapOutput() BucketV2MapOutput
	ToBucketV2MapOutputWithContext(context.Context) BucketV2MapOutput
}

BucketV2MapInput is an input type that accepts BucketV2Map and BucketV2MapOutput values. You can construct a concrete instance of `BucketV2MapInput` via:

BucketV2Map{ "key": BucketV2Args{...} }

type BucketV2MapOutput

type BucketV2MapOutput struct{ *pulumi.OutputState }

func (BucketV2MapOutput) ElementType

func (BucketV2MapOutput) ElementType() reflect.Type

func (BucketV2MapOutput) MapIndex

func (BucketV2MapOutput) ToBucketV2MapOutput

func (o BucketV2MapOutput) ToBucketV2MapOutput() BucketV2MapOutput

func (BucketV2MapOutput) ToBucketV2MapOutputWithContext

func (o BucketV2MapOutput) ToBucketV2MapOutputWithContext(ctx context.Context) BucketV2MapOutput

type BucketV2ObjectLockConfiguration

type BucketV2ObjectLockConfiguration 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: Use the top-level parameter objectLockEnabled instead
	ObjectLockEnabled *string `pulumi:"objectLockEnabled"`
	// Object Lock rule in place for this bucket (documented below).
	//
	// Deprecated: Use the s3.BucketObjectLockConfigurationV2 resource instead
	Rules []BucketV2ObjectLockConfigurationRule `pulumi:"rules"`
}

type BucketV2ObjectLockConfigurationArgs

type BucketV2ObjectLockConfigurationArgs 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: Use the top-level parameter objectLockEnabled instead
	ObjectLockEnabled pulumi.StringPtrInput `pulumi:"objectLockEnabled"`
	// Object Lock rule in place for this bucket (documented below).
	//
	// Deprecated: Use the s3.BucketObjectLockConfigurationV2 resource instead
	Rules BucketV2ObjectLockConfigurationRuleArrayInput `pulumi:"rules"`
}

func (BucketV2ObjectLockConfigurationArgs) ElementType

func (BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationOutput

func (i BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationOutput() BucketV2ObjectLockConfigurationOutput

func (BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationOutputWithContext

func (i BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationOutput

func (BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationPtrOutput

func (i BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationPtrOutput() BucketV2ObjectLockConfigurationPtrOutput

func (BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationPtrOutputWithContext

func (i BucketV2ObjectLockConfigurationArgs) ToBucketV2ObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationPtrOutput

type BucketV2ObjectLockConfigurationInput

type BucketV2ObjectLockConfigurationInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationOutput() BucketV2ObjectLockConfigurationOutput
	ToBucketV2ObjectLockConfigurationOutputWithContext(context.Context) BucketV2ObjectLockConfigurationOutput
}

BucketV2ObjectLockConfigurationInput is an input type that accepts BucketV2ObjectLockConfigurationArgs and BucketV2ObjectLockConfigurationOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationInput` via:

BucketV2ObjectLockConfigurationArgs{...}

type BucketV2ObjectLockConfigurationOutput

type BucketV2ObjectLockConfigurationOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationOutput) ElementType

func (BucketV2ObjectLockConfigurationOutput) 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: Use the top-level parameter objectLockEnabled instead

func (BucketV2ObjectLockConfigurationOutput) Rules deprecated

Object Lock rule in place for this bucket (documented below).

Deprecated: Use the s3.BucketObjectLockConfigurationV2 resource instead

func (BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationOutput

func (o BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationOutput() BucketV2ObjectLockConfigurationOutput

func (BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationOutputWithContext

func (o BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationOutput

func (BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationPtrOutput

func (o BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationPtrOutput() BucketV2ObjectLockConfigurationPtrOutput

func (BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationPtrOutputWithContext

func (o BucketV2ObjectLockConfigurationOutput) ToBucketV2ObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationPtrOutput

type BucketV2ObjectLockConfigurationPtrInput

type BucketV2ObjectLockConfigurationPtrInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationPtrOutput() BucketV2ObjectLockConfigurationPtrOutput
	ToBucketV2ObjectLockConfigurationPtrOutputWithContext(context.Context) BucketV2ObjectLockConfigurationPtrOutput
}

BucketV2ObjectLockConfigurationPtrInput is an input type that accepts BucketV2ObjectLockConfigurationArgs, BucketV2ObjectLockConfigurationPtr and BucketV2ObjectLockConfigurationPtrOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationPtrInput` via:

        BucketV2ObjectLockConfigurationArgs{...}

or:

        nil

type BucketV2ObjectLockConfigurationPtrOutput

type BucketV2ObjectLockConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationPtrOutput) Elem

func (BucketV2ObjectLockConfigurationPtrOutput) ElementType

func (BucketV2ObjectLockConfigurationPtrOutput) 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: Use the top-level parameter objectLockEnabled instead

func (BucketV2ObjectLockConfigurationPtrOutput) Rules deprecated

Object Lock rule in place for this bucket (documented below).

Deprecated: Use the s3.BucketObjectLockConfigurationV2 resource instead

func (BucketV2ObjectLockConfigurationPtrOutput) ToBucketV2ObjectLockConfigurationPtrOutput

func (o BucketV2ObjectLockConfigurationPtrOutput) ToBucketV2ObjectLockConfigurationPtrOutput() BucketV2ObjectLockConfigurationPtrOutput

func (BucketV2ObjectLockConfigurationPtrOutput) ToBucketV2ObjectLockConfigurationPtrOutputWithContext

func (o BucketV2ObjectLockConfigurationPtrOutput) ToBucketV2ObjectLockConfigurationPtrOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationPtrOutput

type BucketV2ObjectLockConfigurationRule

type BucketV2ObjectLockConfigurationRule struct {
	// Default retention period that you want to apply to new objects placed in this bucket (documented below).
	DefaultRetentions []BucketV2ObjectLockConfigurationRuleDefaultRetention `pulumi:"defaultRetentions"`
}

type BucketV2ObjectLockConfigurationRuleArgs

type BucketV2ObjectLockConfigurationRuleArgs struct {
	// Default retention period that you want to apply to new objects placed in this bucket (documented below).
	DefaultRetentions BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayInput `pulumi:"defaultRetentions"`
}

func (BucketV2ObjectLockConfigurationRuleArgs) ElementType

func (BucketV2ObjectLockConfigurationRuleArgs) ToBucketV2ObjectLockConfigurationRuleOutput

func (i BucketV2ObjectLockConfigurationRuleArgs) ToBucketV2ObjectLockConfigurationRuleOutput() BucketV2ObjectLockConfigurationRuleOutput

func (BucketV2ObjectLockConfigurationRuleArgs) ToBucketV2ObjectLockConfigurationRuleOutputWithContext

func (i BucketV2ObjectLockConfigurationRuleArgs) ToBucketV2ObjectLockConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleOutput

type BucketV2ObjectLockConfigurationRuleArray

type BucketV2ObjectLockConfigurationRuleArray []BucketV2ObjectLockConfigurationRuleInput

func (BucketV2ObjectLockConfigurationRuleArray) ElementType

func (BucketV2ObjectLockConfigurationRuleArray) ToBucketV2ObjectLockConfigurationRuleArrayOutput

func (i BucketV2ObjectLockConfigurationRuleArray) ToBucketV2ObjectLockConfigurationRuleArrayOutput() BucketV2ObjectLockConfigurationRuleArrayOutput

func (BucketV2ObjectLockConfigurationRuleArray) ToBucketV2ObjectLockConfigurationRuleArrayOutputWithContext

func (i BucketV2ObjectLockConfigurationRuleArray) ToBucketV2ObjectLockConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleArrayOutput

type BucketV2ObjectLockConfigurationRuleArrayInput

type BucketV2ObjectLockConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationRuleArrayOutput() BucketV2ObjectLockConfigurationRuleArrayOutput
	ToBucketV2ObjectLockConfigurationRuleArrayOutputWithContext(context.Context) BucketV2ObjectLockConfigurationRuleArrayOutput
}

BucketV2ObjectLockConfigurationRuleArrayInput is an input type that accepts BucketV2ObjectLockConfigurationRuleArray and BucketV2ObjectLockConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationRuleArrayInput` via:

BucketV2ObjectLockConfigurationRuleArray{ BucketV2ObjectLockConfigurationRuleArgs{...} }

type BucketV2ObjectLockConfigurationRuleArrayOutput

type BucketV2ObjectLockConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationRuleArrayOutput) ElementType

func (BucketV2ObjectLockConfigurationRuleArrayOutput) Index

func (BucketV2ObjectLockConfigurationRuleArrayOutput) ToBucketV2ObjectLockConfigurationRuleArrayOutput

func (o BucketV2ObjectLockConfigurationRuleArrayOutput) ToBucketV2ObjectLockConfigurationRuleArrayOutput() BucketV2ObjectLockConfigurationRuleArrayOutput

func (BucketV2ObjectLockConfigurationRuleArrayOutput) ToBucketV2ObjectLockConfigurationRuleArrayOutputWithContext

func (o BucketV2ObjectLockConfigurationRuleArrayOutput) ToBucketV2ObjectLockConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleArrayOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetention

type BucketV2ObjectLockConfigurationRuleDefaultRetention 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 this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	Mode string `pulumi:"mode"`
	// Number of years that you want to specify for the default retention period.
	Years *int `pulumi:"years"`
}

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs 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 this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.
	Mode pulumi.StringInput `pulumi:"mode"`
	// Number of years that you want to specify for the default retention period.
	Years pulumi.IntPtrInput `pulumi:"years"`
}

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs) ElementType

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutputWithContext

func (i BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArray

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArray []BucketV2ObjectLockConfigurationRuleDefaultRetentionInput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArray) ElementType

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArray) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

func (i BucketV2ObjectLockConfigurationRuleDefaultRetentionArray) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput() BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArray) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutputWithContext

func (i BucketV2ObjectLockConfigurationRuleDefaultRetentionArray) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayInput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput() BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput
	ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutputWithContext(context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput
}

BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayInput is an input type that accepts BucketV2ObjectLockConfigurationRuleDefaultRetentionArray and BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayInput` via:

BucketV2ObjectLockConfigurationRuleDefaultRetentionArray{ BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs{...} }

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput) ElementType

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput) Index

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutputWithContext

func (o BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionArrayOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionInput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutput() BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput
	ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutputWithContext(context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput
}

BucketV2ObjectLockConfigurationRuleDefaultRetentionInput is an input type that accepts BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs and BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationRuleDefaultRetentionInput` via:

BucketV2ObjectLockConfigurationRuleDefaultRetentionArgs{...}

type BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput

type BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) Days

Number of days that you want to specify for the default retention period.

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) ElementType

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) Mode

Default Object Lock retention mode you want to apply to new objects placed in this bucket. Valid values are `GOVERNANCE` and `COMPLIANCE`.

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutputWithContext

func (o BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) ToBucketV2ObjectLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput

func (BucketV2ObjectLockConfigurationRuleDefaultRetentionOutput) Years

Number of years that you want to specify for the default retention period.

type BucketV2ObjectLockConfigurationRuleInput

type BucketV2ObjectLockConfigurationRuleInput interface {
	pulumi.Input

	ToBucketV2ObjectLockConfigurationRuleOutput() BucketV2ObjectLockConfigurationRuleOutput
	ToBucketV2ObjectLockConfigurationRuleOutputWithContext(context.Context) BucketV2ObjectLockConfigurationRuleOutput
}

BucketV2ObjectLockConfigurationRuleInput is an input type that accepts BucketV2ObjectLockConfigurationRuleArgs and BucketV2ObjectLockConfigurationRuleOutput values. You can construct a concrete instance of `BucketV2ObjectLockConfigurationRuleInput` via:

BucketV2ObjectLockConfigurationRuleArgs{...}

type BucketV2ObjectLockConfigurationRuleOutput

type BucketV2ObjectLockConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketV2ObjectLockConfigurationRuleOutput) DefaultRetentions

Default retention period that you want to apply to new objects placed in this bucket (documented below).

func (BucketV2ObjectLockConfigurationRuleOutput) ElementType

func (BucketV2ObjectLockConfigurationRuleOutput) ToBucketV2ObjectLockConfigurationRuleOutput

func (o BucketV2ObjectLockConfigurationRuleOutput) ToBucketV2ObjectLockConfigurationRuleOutput() BucketV2ObjectLockConfigurationRuleOutput

func (BucketV2ObjectLockConfigurationRuleOutput) ToBucketV2ObjectLockConfigurationRuleOutputWithContext

func (o BucketV2ObjectLockConfigurationRuleOutput) ToBucketV2ObjectLockConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ObjectLockConfigurationRuleOutput

type BucketV2Output

type BucketV2Output struct{ *pulumi.OutputState }

func (BucketV2Output) AccelerationStatus deprecated

func (o BucketV2Output) 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.BucketAccelerateConfigurationV2` instead.

Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead

func (BucketV2Output) 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.BucketAclV2` instead.

Deprecated: Use the s3.BucketAclV2 resource instead

func (BucketV2Output) Arn

ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.

func (BucketV2Output) Bucket

func (o BucketV2Output) 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 (BucketV2Output) BucketDomainName

func (o BucketV2Output) BucketDomainName() pulumi.StringOutput

Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.

func (BucketV2Output) BucketPrefix

func (o BucketV2Output) 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 (BucketV2Output) BucketRegionalDomainName

func (o BucketV2Output) 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 (BucketV2Output) 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.BucketCorsConfigurationV2` instead.

Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead

func (BucketV2Output) ElementType

func (BucketV2Output) ElementType() reflect.Type

func (BucketV2Output) ForceDestroy

func (o BucketV2Output) 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 (BucketV2Output) 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.BucketAclV2` instead.

Deprecated: Use the s3.BucketAclV2 resource instead

func (BucketV2Output) HostedZoneId

func (o BucketV2Output) 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 (BucketV2Output) LifecycleRules deprecated

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.BucketLifecycleConfigurationV2` instead.

Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead

func (BucketV2Output) Loggings 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.BucketLoggingV2` instead.

Deprecated: Use the s3.BucketLoggingV2 resource instead

func (BucketV2Output) ObjectLockConfiguration deprecated

func (o BucketV2Output) ObjectLockConfiguration() BucketV2ObjectLockConfigurationOutput

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.BucketObjectLockConfigurationV2` instead.

Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead

func (BucketV2Output) ObjectLockEnabled

func (o BucketV2Output) 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 (BucketV2Output) Policy deprecated

func (o BucketV2Output) 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: Use the s3.BucketPolicy resource instead

func (BucketV2Output) Region

func (o BucketV2Output) Region() pulumi.StringOutput

AWS region this bucket resides in.

func (BucketV2Output) ReplicationConfigurations deprecated

func (o BucketV2Output) ReplicationConfigurations() BucketV2ReplicationConfigurationArrayOutput

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: Use the s3.BucketReplicationConfig resource instead

func (BucketV2Output) RequestPayer deprecated

func (o BucketV2Output) 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.BucketRequestPaymentConfigurationV2` instead.

Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead

func (BucketV2Output) ServerSideEncryptionConfigurations deprecated

func (o BucketV2Output) ServerSideEncryptionConfigurations() BucketV2ServerSideEncryptionConfigurationArrayOutput

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.BucketServerSideEncryptionConfigurationV2` instead.

Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead

func (BucketV2Output) 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 (BucketV2Output) TagsAll deprecated

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

func (BucketV2Output) ToBucketV2Output

func (o BucketV2Output) ToBucketV2Output() BucketV2Output

func (BucketV2Output) ToBucketV2OutputWithContext

func (o BucketV2Output) ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output

func (BucketV2Output) Versionings 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.BucketVersioningV2` instead.

Deprecated: Use the s3.BucketVersioningV2 resource instead

func (BucketV2Output) WebsiteDomain deprecated

func (o BucketV2Output) 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.BucketWebsiteConfigurationV2` instead.

Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource

func (BucketV2Output) WebsiteEndpoint deprecated

func (o BucketV2Output) 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.BucketWebsiteConfigurationV2` instead.

Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource

func (BucketV2Output) Websites deprecated

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.BucketWebsiteConfigurationV2` instead.

Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead

type BucketV2ReplicationConfiguration

type BucketV2ReplicationConfiguration 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 []BucketV2ReplicationConfigurationRule `pulumi:"rules"`
}

type BucketV2ReplicationConfigurationArgs

type BucketV2ReplicationConfigurationArgs 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 BucketV2ReplicationConfigurationRuleArrayInput `pulumi:"rules"`
}

func (BucketV2ReplicationConfigurationArgs) ElementType

func (BucketV2ReplicationConfigurationArgs) ToBucketV2ReplicationConfigurationOutput

func (i BucketV2ReplicationConfigurationArgs) ToBucketV2ReplicationConfigurationOutput() BucketV2ReplicationConfigurationOutput

func (BucketV2ReplicationConfigurationArgs) ToBucketV2ReplicationConfigurationOutputWithContext

func (i BucketV2ReplicationConfigurationArgs) ToBucketV2ReplicationConfigurationOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationOutput

type BucketV2ReplicationConfigurationArray

type BucketV2ReplicationConfigurationArray []BucketV2ReplicationConfigurationInput

func (BucketV2ReplicationConfigurationArray) ElementType

func (BucketV2ReplicationConfigurationArray) ToBucketV2ReplicationConfigurationArrayOutput

func (i BucketV2ReplicationConfigurationArray) ToBucketV2ReplicationConfigurationArrayOutput() BucketV2ReplicationConfigurationArrayOutput

func (BucketV2ReplicationConfigurationArray) ToBucketV2ReplicationConfigurationArrayOutputWithContext

func (i BucketV2ReplicationConfigurationArray) ToBucketV2ReplicationConfigurationArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationArrayOutput

type BucketV2ReplicationConfigurationArrayInput

type BucketV2ReplicationConfigurationArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationArrayOutput() BucketV2ReplicationConfigurationArrayOutput
	ToBucketV2ReplicationConfigurationArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationArrayOutput
}

BucketV2ReplicationConfigurationArrayInput is an input type that accepts BucketV2ReplicationConfigurationArray and BucketV2ReplicationConfigurationArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationArrayInput` via:

BucketV2ReplicationConfigurationArray{ BucketV2ReplicationConfigurationArgs{...} }

type BucketV2ReplicationConfigurationArrayOutput

type BucketV2ReplicationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationArrayOutput) ElementType

func (BucketV2ReplicationConfigurationArrayOutput) Index

func (BucketV2ReplicationConfigurationArrayOutput) ToBucketV2ReplicationConfigurationArrayOutput

func (o BucketV2ReplicationConfigurationArrayOutput) ToBucketV2ReplicationConfigurationArrayOutput() BucketV2ReplicationConfigurationArrayOutput

func (BucketV2ReplicationConfigurationArrayOutput) ToBucketV2ReplicationConfigurationArrayOutputWithContext

func (o BucketV2ReplicationConfigurationArrayOutput) ToBucketV2ReplicationConfigurationArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationArrayOutput

type BucketV2ReplicationConfigurationInput

type BucketV2ReplicationConfigurationInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationOutput() BucketV2ReplicationConfigurationOutput
	ToBucketV2ReplicationConfigurationOutputWithContext(context.Context) BucketV2ReplicationConfigurationOutput
}

BucketV2ReplicationConfigurationInput is an input type that accepts BucketV2ReplicationConfigurationArgs and BucketV2ReplicationConfigurationOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationInput` via:

BucketV2ReplicationConfigurationArgs{...}

type BucketV2ReplicationConfigurationOutput

type BucketV2ReplicationConfigurationOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationOutput) ElementType

func (BucketV2ReplicationConfigurationOutput) Role

ARN of the IAM role for Amazon S3 to assume when replicating the objects.

func (BucketV2ReplicationConfigurationOutput) Rules

Specifies the rules managing the replication (documented below).

func (BucketV2ReplicationConfigurationOutput) ToBucketV2ReplicationConfigurationOutput

func (o BucketV2ReplicationConfigurationOutput) ToBucketV2ReplicationConfigurationOutput() BucketV2ReplicationConfigurationOutput

func (BucketV2ReplicationConfigurationOutput) ToBucketV2ReplicationConfigurationOutputWithContext

func (o BucketV2ReplicationConfigurationOutput) ToBucketV2ReplicationConfigurationOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationOutput

type BucketV2ReplicationConfigurationRule

type BucketV2ReplicationConfigurationRule 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).
	Destinations []BucketV2ReplicationConfigurationRuleDestination `pulumi:"destinations"`
	// Filter that identifies subset of objects to which the replication rule applies (documented below).
	Filters []BucketV2ReplicationConfigurationRuleFilter `pulumi:"filters"`
	// 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).
	SourceSelectionCriterias []BucketV2ReplicationConfigurationRuleSourceSelectionCriteria `pulumi:"sourceSelectionCriterias"`
	// Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	Status string `pulumi:"status"`
}

type BucketV2ReplicationConfigurationRuleArgs

type BucketV2ReplicationConfigurationRuleArgs 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).
	Destinations BucketV2ReplicationConfigurationRuleDestinationArrayInput `pulumi:"destinations"`
	// Filter that identifies subset of objects to which the replication rule applies (documented below).
	Filters BucketV2ReplicationConfigurationRuleFilterArrayInput `pulumi:"filters"`
	// 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).
	SourceSelectionCriterias BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayInput `pulumi:"sourceSelectionCriterias"`
	// Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketV2ReplicationConfigurationRuleArgs) ElementType

func (BucketV2ReplicationConfigurationRuleArgs) ToBucketV2ReplicationConfigurationRuleOutput

func (i BucketV2ReplicationConfigurationRuleArgs) ToBucketV2ReplicationConfigurationRuleOutput() BucketV2ReplicationConfigurationRuleOutput

func (BucketV2ReplicationConfigurationRuleArgs) ToBucketV2ReplicationConfigurationRuleOutputWithContext

func (i BucketV2ReplicationConfigurationRuleArgs) ToBucketV2ReplicationConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleOutput

type BucketV2ReplicationConfigurationRuleArray

type BucketV2ReplicationConfigurationRuleArray []BucketV2ReplicationConfigurationRuleInput

func (BucketV2ReplicationConfigurationRuleArray) ElementType

func (BucketV2ReplicationConfigurationRuleArray) ToBucketV2ReplicationConfigurationRuleArrayOutput

func (i BucketV2ReplicationConfigurationRuleArray) ToBucketV2ReplicationConfigurationRuleArrayOutput() BucketV2ReplicationConfigurationRuleArrayOutput

func (BucketV2ReplicationConfigurationRuleArray) ToBucketV2ReplicationConfigurationRuleArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleArray) ToBucketV2ReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleArrayOutput

type BucketV2ReplicationConfigurationRuleArrayInput

type BucketV2ReplicationConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleArrayOutput() BucketV2ReplicationConfigurationRuleArrayOutput
	ToBucketV2ReplicationConfigurationRuleArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleArrayOutput
}

BucketV2ReplicationConfigurationRuleArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleArray and BucketV2ReplicationConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleArrayInput` via:

BucketV2ReplicationConfigurationRuleArray{ BucketV2ReplicationConfigurationRuleArgs{...} }

type BucketV2ReplicationConfigurationRuleArrayOutput

type BucketV2ReplicationConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleArrayOutput) Index

func (BucketV2ReplicationConfigurationRuleArrayOutput) ToBucketV2ReplicationConfigurationRuleArrayOutput

func (o BucketV2ReplicationConfigurationRuleArrayOutput) ToBucketV2ReplicationConfigurationRuleArrayOutput() BucketV2ReplicationConfigurationRuleArrayOutput

func (BucketV2ReplicationConfigurationRuleArrayOutput) ToBucketV2ReplicationConfigurationRuleArrayOutputWithContext

func (o BucketV2ReplicationConfigurationRuleArrayOutput) ToBucketV2ReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleArrayOutput

type BucketV2ReplicationConfigurationRuleDestination

type BucketV2ReplicationConfigurationRuleDestination struct {
	// Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslations []BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslation `pulumi:"accessControlTranslations"`
	// 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 []BucketV2ReplicationConfigurationRuleDestinationMetric `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).
	ReplicationTimes []BucketV2ReplicationConfigurationRuleDestinationReplicationTime `pulumi:"replicationTimes"`
	// 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 BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslation

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslation 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 BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs 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 (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray []BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationInput

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayInput

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput() BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput
	ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput
}

BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray and BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayInput` via:

BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArray{ BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs{...} }

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayOutputWithContext

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationInput

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput() BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput
	ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput
}

BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs and BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationInput` via:

BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArgs{...}

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput

type BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput) 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 (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput

func (BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutput) ToBucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationOutputWithContext

type BucketV2ReplicationConfigurationRuleDestinationArgs

type BucketV2ReplicationConfigurationRuleDestinationArgs struct {
	// Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.
	AccessControlTranslations BucketV2ReplicationConfigurationRuleDestinationAccessControlTranslationArrayInput `pulumi:"accessControlTranslations"`
	// 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 BucketV2ReplicationConfigurationRuleDestinationMetricArrayInput `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).
	ReplicationTimes BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayInput `pulumi:"replicationTimes"`
	// 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 (BucketV2ReplicationConfigurationRuleDestinationArgs) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationArgs) ToBucketV2ReplicationConfigurationRuleDestinationOutput

func (i BucketV2ReplicationConfigurationRuleDestinationArgs) ToBucketV2ReplicationConfigurationRuleDestinationOutput() BucketV2ReplicationConfigurationRuleDestinationOutput

func (BucketV2ReplicationConfigurationRuleDestinationArgs) ToBucketV2ReplicationConfigurationRuleDestinationOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationArgs) ToBucketV2ReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationOutput

type BucketV2ReplicationConfigurationRuleDestinationArray

type BucketV2ReplicationConfigurationRuleDestinationArray []BucketV2ReplicationConfigurationRuleDestinationInput

func (BucketV2ReplicationConfigurationRuleDestinationArray) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationArray) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutput

func (i BucketV2ReplicationConfigurationRuleDestinationArray) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutput() BucketV2ReplicationConfigurationRuleDestinationArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationArray) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationArray) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationArrayInput

type BucketV2ReplicationConfigurationRuleDestinationArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationArrayOutput() BucketV2ReplicationConfigurationRuleDestinationArrayOutput
	ToBucketV2ReplicationConfigurationRuleDestinationArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationArrayOutput
}

BucketV2ReplicationConfigurationRuleDestinationArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationArray and BucketV2ReplicationConfigurationRuleDestinationArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationArrayInput` via:

BucketV2ReplicationConfigurationRuleDestinationArray{ BucketV2ReplicationConfigurationRuleDestinationArgs{...} }

type BucketV2ReplicationConfigurationRuleDestinationArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationArrayOutput) Index

func (BucketV2ReplicationConfigurationRuleDestinationArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutputWithContext

func (o BucketV2ReplicationConfigurationRuleDestinationArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationInput

type BucketV2ReplicationConfigurationRuleDestinationInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationOutput() BucketV2ReplicationConfigurationRuleDestinationOutput
	ToBucketV2ReplicationConfigurationRuleDestinationOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationOutput
}

BucketV2ReplicationConfigurationRuleDestinationInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationArgs and BucketV2ReplicationConfigurationRuleDestinationOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationInput` via:

BucketV2ReplicationConfigurationRuleDestinationArgs{...}

type BucketV2ReplicationConfigurationRuleDestinationMetric

type BucketV2ReplicationConfigurationRuleDestinationMetric 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 BucketV2ReplicationConfigurationRuleDestinationMetricArgs

type BucketV2ReplicationConfigurationRuleDestinationMetricArgs 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 (BucketV2ReplicationConfigurationRuleDestinationMetricArgs) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationMetricArgs) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutput

func (BucketV2ReplicationConfigurationRuleDestinationMetricArgs) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationMetricArgs) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricOutput

type BucketV2ReplicationConfigurationRuleDestinationMetricArray

type BucketV2ReplicationConfigurationRuleDestinationMetricArray []BucketV2ReplicationConfigurationRuleDestinationMetricInput

func (BucketV2ReplicationConfigurationRuleDestinationMetricArray) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationMetricArray) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationMetricArray) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationMetricArray) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationMetricArrayInput

type BucketV2ReplicationConfigurationRuleDestinationMetricArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput() BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput
	ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput
}

BucketV2ReplicationConfigurationRuleDestinationMetricArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationMetricArray and BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationMetricArrayInput` via:

BucketV2ReplicationConfigurationRuleDestinationMetricArray{ BucketV2ReplicationConfigurationRuleDestinationMetricArgs{...} }

type BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput) Index

func (BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutputWithContext

func (o BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationMetricInput

type BucketV2ReplicationConfigurationRuleDestinationMetricInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationMetricOutput() BucketV2ReplicationConfigurationRuleDestinationMetricOutput
	ToBucketV2ReplicationConfigurationRuleDestinationMetricOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricOutput
}

BucketV2ReplicationConfigurationRuleDestinationMetricInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationMetricArgs and BucketV2ReplicationConfigurationRuleDestinationMetricOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationMetricInput` via:

BucketV2ReplicationConfigurationRuleDestinationMetricArgs{...}

type BucketV2ReplicationConfigurationRuleDestinationMetricOutput

type BucketV2ReplicationConfigurationRuleDestinationMetricOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationMetricOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationMetricOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketV2ReplicationConfigurationRuleDestinationMetricOutput) Status

Status of replication metrics. Either `Enabled` or `Disabled`.

func (BucketV2ReplicationConfigurationRuleDestinationMetricOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutput

func (BucketV2ReplicationConfigurationRuleDestinationMetricOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutputWithContext

func (o BucketV2ReplicationConfigurationRuleDestinationMetricOutput) ToBucketV2ReplicationConfigurationRuleDestinationMetricOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationMetricOutput

type BucketV2ReplicationConfigurationRuleDestinationOutput

type BucketV2ReplicationConfigurationRuleDestinationOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationOutput) AccessControlTranslations

Specifies the overrides to use for object owners on replication (documented below). Must be used in conjunction with `accountId` owner override configuration.

func (BucketV2ReplicationConfigurationRuleDestinationOutput) AccountId

Account ID to use for overriding the object owner on replication. Must be used in conjunction with `accessControlTranslation` override configuration.

func (BucketV2ReplicationConfigurationRuleDestinationOutput) Bucket

ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.

func (BucketV2ReplicationConfigurationRuleDestinationOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationOutput) Metrics

Enables replication metrics (required for S3 RTC) (documented below).

func (BucketV2ReplicationConfigurationRuleDestinationOutput) ReplicaKmsKeyId

Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with `sseKmsEncryptedObjects` source selection criteria.

func (BucketV2ReplicationConfigurationRuleDestinationOutput) ReplicationTimes

Enables S3 Replication Time Control (S3 RTC) (documented below).

func (BucketV2ReplicationConfigurationRuleDestinationOutput) 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 (BucketV2ReplicationConfigurationRuleDestinationOutput) ToBucketV2ReplicationConfigurationRuleDestinationOutput

func (BucketV2ReplicationConfigurationRuleDestinationOutput) ToBucketV2ReplicationConfigurationRuleDestinationOutputWithContext

func (o BucketV2ReplicationConfigurationRuleDestinationOutput) ToBucketV2ReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationOutput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTime

type BucketV2ReplicationConfigurationRuleDestinationReplicationTime 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 BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs 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 (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray []BucketV2ReplicationConfigurationRuleDestinationReplicationTimeInput

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayInput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput() BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput
	ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput
}

BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray and BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayInput` via:

BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArray{ BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs{...} }

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutput) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeArrayOutputWithContext

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeInput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput() BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput
	ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput
}

BucketV2ReplicationConfigurationRuleDestinationReplicationTimeInput is an input type that accepts BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs and BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleDestinationReplicationTimeInput` via:

BucketV2ReplicationConfigurationRuleDestinationReplicationTimeArgs{...}

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput

type BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) ElementType

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) Minutes

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) Status

Status of RTC. Either `Enabled` or `Disabled`.

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext

func (o BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleDestinationReplicationTimeOutput

type BucketV2ReplicationConfigurationRuleFilter

type BucketV2ReplicationConfigurationRuleFilter 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 BucketV2ReplicationConfigurationRuleFilterArgs

type BucketV2ReplicationConfigurationRuleFilterArgs 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 (BucketV2ReplicationConfigurationRuleFilterArgs) ElementType

func (BucketV2ReplicationConfigurationRuleFilterArgs) ToBucketV2ReplicationConfigurationRuleFilterOutput

func (i BucketV2ReplicationConfigurationRuleFilterArgs) ToBucketV2ReplicationConfigurationRuleFilterOutput() BucketV2ReplicationConfigurationRuleFilterOutput

func (BucketV2ReplicationConfigurationRuleFilterArgs) ToBucketV2ReplicationConfigurationRuleFilterOutputWithContext

func (i BucketV2ReplicationConfigurationRuleFilterArgs) ToBucketV2ReplicationConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleFilterOutput

type BucketV2ReplicationConfigurationRuleFilterArray

type BucketV2ReplicationConfigurationRuleFilterArray []BucketV2ReplicationConfigurationRuleFilterInput

func (BucketV2ReplicationConfigurationRuleFilterArray) ElementType

func (BucketV2ReplicationConfigurationRuleFilterArray) ToBucketV2ReplicationConfigurationRuleFilterArrayOutput

func (i BucketV2ReplicationConfigurationRuleFilterArray) ToBucketV2ReplicationConfigurationRuleFilterArrayOutput() BucketV2ReplicationConfigurationRuleFilterArrayOutput

func (BucketV2ReplicationConfigurationRuleFilterArray) ToBucketV2ReplicationConfigurationRuleFilterArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleFilterArray) ToBucketV2ReplicationConfigurationRuleFilterArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleFilterArrayOutput

type BucketV2ReplicationConfigurationRuleFilterArrayInput

type BucketV2ReplicationConfigurationRuleFilterArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleFilterArrayOutput() BucketV2ReplicationConfigurationRuleFilterArrayOutput
	ToBucketV2ReplicationConfigurationRuleFilterArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleFilterArrayOutput
}

BucketV2ReplicationConfigurationRuleFilterArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleFilterArray and BucketV2ReplicationConfigurationRuleFilterArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleFilterArrayInput` via:

BucketV2ReplicationConfigurationRuleFilterArray{ BucketV2ReplicationConfigurationRuleFilterArgs{...} }

type BucketV2ReplicationConfigurationRuleFilterArrayOutput

type BucketV2ReplicationConfigurationRuleFilterArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleFilterArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleFilterArrayOutput) Index

func (BucketV2ReplicationConfigurationRuleFilterArrayOutput) ToBucketV2ReplicationConfigurationRuleFilterArrayOutput

func (BucketV2ReplicationConfigurationRuleFilterArrayOutput) ToBucketV2ReplicationConfigurationRuleFilterArrayOutputWithContext

func (o BucketV2ReplicationConfigurationRuleFilterArrayOutput) ToBucketV2ReplicationConfigurationRuleFilterArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleFilterArrayOutput

type BucketV2ReplicationConfigurationRuleFilterInput

type BucketV2ReplicationConfigurationRuleFilterInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleFilterOutput() BucketV2ReplicationConfigurationRuleFilterOutput
	ToBucketV2ReplicationConfigurationRuleFilterOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleFilterOutput
}

BucketV2ReplicationConfigurationRuleFilterInput is an input type that accepts BucketV2ReplicationConfigurationRuleFilterArgs and BucketV2ReplicationConfigurationRuleFilterOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleFilterInput` via:

BucketV2ReplicationConfigurationRuleFilterArgs{...}

type BucketV2ReplicationConfigurationRuleFilterOutput

type BucketV2ReplicationConfigurationRuleFilterOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleFilterOutput) ElementType

func (BucketV2ReplicationConfigurationRuleFilterOutput) 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 (BucketV2ReplicationConfigurationRuleFilterOutput) 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 (BucketV2ReplicationConfigurationRuleFilterOutput) ToBucketV2ReplicationConfigurationRuleFilterOutput

func (o BucketV2ReplicationConfigurationRuleFilterOutput) ToBucketV2ReplicationConfigurationRuleFilterOutput() BucketV2ReplicationConfigurationRuleFilterOutput

func (BucketV2ReplicationConfigurationRuleFilterOutput) ToBucketV2ReplicationConfigurationRuleFilterOutputWithContext

func (o BucketV2ReplicationConfigurationRuleFilterOutput) ToBucketV2ReplicationConfigurationRuleFilterOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleFilterOutput

type BucketV2ReplicationConfigurationRuleInput

type BucketV2ReplicationConfigurationRuleInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleOutput() BucketV2ReplicationConfigurationRuleOutput
	ToBucketV2ReplicationConfigurationRuleOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleOutput
}

BucketV2ReplicationConfigurationRuleInput is an input type that accepts BucketV2ReplicationConfigurationRuleArgs and BucketV2ReplicationConfigurationRuleOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleInput` via:

BucketV2ReplicationConfigurationRuleArgs{...}

type BucketV2ReplicationConfigurationRuleOutput

type BucketV2ReplicationConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleOutput) DeleteMarkerReplicationStatus

func (o BucketV2ReplicationConfigurationRuleOutput) 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 (BucketV2ReplicationConfigurationRuleOutput) Destinations

Specifies the destination for the rule (documented below).

func (BucketV2ReplicationConfigurationRuleOutput) ElementType

func (BucketV2ReplicationConfigurationRuleOutput) Filters

Filter that identifies subset of objects to which the replication rule applies (documented below).

func (BucketV2ReplicationConfigurationRuleOutput) Id

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

func (BucketV2ReplicationConfigurationRuleOutput) 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 (BucketV2ReplicationConfigurationRuleOutput) 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 (BucketV2ReplicationConfigurationRuleOutput) SourceSelectionCriterias

Specifies special object selection criteria (documented below).

func (BucketV2ReplicationConfigurationRuleOutput) Status

Status of the rule. Either `Enabled` or `Disabled`. The rule is ignored if status is not Enabled.

func (BucketV2ReplicationConfigurationRuleOutput) ToBucketV2ReplicationConfigurationRuleOutput

func (o BucketV2ReplicationConfigurationRuleOutput) ToBucketV2ReplicationConfigurationRuleOutput() BucketV2ReplicationConfigurationRuleOutput

func (BucketV2ReplicationConfigurationRuleOutput) ToBucketV2ReplicationConfigurationRuleOutputWithContext

func (o BucketV2ReplicationConfigurationRuleOutput) ToBucketV2ReplicationConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteria

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteria struct {
	// Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId`
	// in `destination` must be specified as well.
	SseKmsEncryptedObjects []BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObject `pulumi:"sseKmsEncryptedObjects"`
}

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs struct {
	// Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId`
	// in `destination` must be specified as well.
	SseKmsEncryptedObjects BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayInput `pulumi:"sseKmsEncryptedObjects"`
}

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext

func (i BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray []BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaInput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutputWithContext

func (i BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayInput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput() BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput
	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput
}

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray and BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayInput` via:

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArray{ BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs{...} }

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutputWithContext

func (o BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArrayOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaInput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput() BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput
	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput
}

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaInput is an input type that accepts BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs and BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaInput` via:

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaArgs{...}

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput) SseKmsEncryptedObjects

Match SSE-KMS encrypted objects (documented below). If specified, `replicaKmsKeyId` in `destination` must be specified as well.

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext

func (o BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObject

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObject struct {
	// Boolean which indicates if this criteria is enabled.
	Enabled bool `pulumi:"enabled"`
}

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs struct {
	// Boolean which indicates if this criteria is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutputWithContext

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray []BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectInput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutputWithContext

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayInput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput() BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput
	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput
}

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayInput is an input type that accepts BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray and BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayInput` via:

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArray{ BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs{...} }

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArrayOutputWithContext

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectInput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectInput interface {
	pulumi.Input

	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput() BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput
	ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutputWithContext(context.Context) BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput
}

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectInput is an input type that accepts BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs and BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput values. You can construct a concrete instance of `BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectInput` via:

BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectArgs{...}

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput

type BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput struct{ *pulumi.OutputState }

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput) ElementType

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput) Enabled

Boolean which indicates if this criteria is enabled.

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput

func (BucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutput) ToBucketV2ReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectOutputWithContext

type BucketV2ServerSideEncryptionConfiguration

type BucketV2ServerSideEncryptionConfiguration struct {
	// Single object for server-side encryption by default configuration. (documented below)
	Rules []BucketV2ServerSideEncryptionConfigurationRule `pulumi:"rules"`
}

type BucketV2ServerSideEncryptionConfigurationArgs

type BucketV2ServerSideEncryptionConfigurationArgs struct {
	// Single object for server-side encryption by default configuration. (documented below)
	Rules BucketV2ServerSideEncryptionConfigurationRuleArrayInput `pulumi:"rules"`
}

func (BucketV2ServerSideEncryptionConfigurationArgs) ElementType

func (BucketV2ServerSideEncryptionConfigurationArgs) ToBucketV2ServerSideEncryptionConfigurationOutput

func (i BucketV2ServerSideEncryptionConfigurationArgs) ToBucketV2ServerSideEncryptionConfigurationOutput() BucketV2ServerSideEncryptionConfigurationOutput

func (BucketV2ServerSideEncryptionConfigurationArgs) ToBucketV2ServerSideEncryptionConfigurationOutputWithContext

func (i BucketV2ServerSideEncryptionConfigurationArgs) ToBucketV2ServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationOutput

type BucketV2ServerSideEncryptionConfigurationArray

type BucketV2ServerSideEncryptionConfigurationArray []BucketV2ServerSideEncryptionConfigurationInput

func (BucketV2ServerSideEncryptionConfigurationArray) ElementType

func (BucketV2ServerSideEncryptionConfigurationArray) ToBucketV2ServerSideEncryptionConfigurationArrayOutput

func (i BucketV2ServerSideEncryptionConfigurationArray) ToBucketV2ServerSideEncryptionConfigurationArrayOutput() BucketV2ServerSideEncryptionConfigurationArrayOutput

func (BucketV2ServerSideEncryptionConfigurationArray) ToBucketV2ServerSideEncryptionConfigurationArrayOutputWithContext

func (i BucketV2ServerSideEncryptionConfigurationArray) ToBucketV2ServerSideEncryptionConfigurationArrayOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationArrayOutput

type BucketV2ServerSideEncryptionConfigurationArrayInput

type BucketV2ServerSideEncryptionConfigurationArrayInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationArrayOutput() BucketV2ServerSideEncryptionConfigurationArrayOutput
	ToBucketV2ServerSideEncryptionConfigurationArrayOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationArrayOutput
}

BucketV2ServerSideEncryptionConfigurationArrayInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationArray and BucketV2ServerSideEncryptionConfigurationArrayOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationArrayInput` via:

BucketV2ServerSideEncryptionConfigurationArray{ BucketV2ServerSideEncryptionConfigurationArgs{...} }

type BucketV2ServerSideEncryptionConfigurationArrayOutput

type BucketV2ServerSideEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationArrayOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationArrayOutput) Index

func (BucketV2ServerSideEncryptionConfigurationArrayOutput) ToBucketV2ServerSideEncryptionConfigurationArrayOutput

func (BucketV2ServerSideEncryptionConfigurationArrayOutput) ToBucketV2ServerSideEncryptionConfigurationArrayOutputWithContext

func (o BucketV2ServerSideEncryptionConfigurationArrayOutput) ToBucketV2ServerSideEncryptionConfigurationArrayOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationArrayOutput

type BucketV2ServerSideEncryptionConfigurationInput

type BucketV2ServerSideEncryptionConfigurationInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationOutput() BucketV2ServerSideEncryptionConfigurationOutput
	ToBucketV2ServerSideEncryptionConfigurationOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationOutput
}

BucketV2ServerSideEncryptionConfigurationInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationArgs and BucketV2ServerSideEncryptionConfigurationOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationInput` via:

BucketV2ServerSideEncryptionConfigurationArgs{...}

type BucketV2ServerSideEncryptionConfigurationOutput

type BucketV2ServerSideEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationOutput) Rules

Single object for server-side encryption by default configuration. (documented below)

func (BucketV2ServerSideEncryptionConfigurationOutput) ToBucketV2ServerSideEncryptionConfigurationOutput

func (o BucketV2ServerSideEncryptionConfigurationOutput) ToBucketV2ServerSideEncryptionConfigurationOutput() BucketV2ServerSideEncryptionConfigurationOutput

func (BucketV2ServerSideEncryptionConfigurationOutput) ToBucketV2ServerSideEncryptionConfigurationOutputWithContext

func (o BucketV2ServerSideEncryptionConfigurationOutput) ToBucketV2ServerSideEncryptionConfigurationOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationOutput

type BucketV2ServerSideEncryptionConfigurationRule

type BucketV2ServerSideEncryptionConfigurationRule struct {
	// Single object for setting server-side encryption by default. (documented below)
	ApplyServerSideEncryptionByDefaults []BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault `pulumi:"applyServerSideEncryptionByDefaults"`
	// 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 BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault 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` and `aws:kms`
	SseAlgorithm string `pulumi:"sseAlgorithm"`
}

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs 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` and `aws:kms`
	SseAlgorithm pulumi.StringInput `pulumi:"sseAlgorithm"`
}

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray []BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutputWithContext

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayInput

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput() BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput
	ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput
}

BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray and BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayInput` via:

BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArray{ BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{...} }

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutput) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayOutputWithContext

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput() BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput
	ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput
}

BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs and BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultInput` via:

BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{...}

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

type BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) 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 (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) SseAlgorithm

Server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput

func (BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutput) ToBucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputWithContext

type BucketV2ServerSideEncryptionConfigurationRuleArgs

type BucketV2ServerSideEncryptionConfigurationRuleArgs struct {
	// Single object for setting server-side encryption by default. (documented below)
	ApplyServerSideEncryptionByDefaults BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArrayInput `pulumi:"applyServerSideEncryptionByDefaults"`
	// 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 (BucketV2ServerSideEncryptionConfigurationRuleArgs) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleArgs) ToBucketV2ServerSideEncryptionConfigurationRuleOutput

func (i BucketV2ServerSideEncryptionConfigurationRuleArgs) ToBucketV2ServerSideEncryptionConfigurationRuleOutput() BucketV2ServerSideEncryptionConfigurationRuleOutput

func (BucketV2ServerSideEncryptionConfigurationRuleArgs) ToBucketV2ServerSideEncryptionConfigurationRuleOutputWithContext

func (i BucketV2ServerSideEncryptionConfigurationRuleArgs) ToBucketV2ServerSideEncryptionConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationRuleOutput

type BucketV2ServerSideEncryptionConfigurationRuleArray

type BucketV2ServerSideEncryptionConfigurationRuleArray []BucketV2ServerSideEncryptionConfigurationRuleInput

func (BucketV2ServerSideEncryptionConfigurationRuleArray) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleArray) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutput

func (i BucketV2ServerSideEncryptionConfigurationRuleArray) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutput() BucketV2ServerSideEncryptionConfigurationRuleArrayOutput

func (BucketV2ServerSideEncryptionConfigurationRuleArray) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutputWithContext

func (i BucketV2ServerSideEncryptionConfigurationRuleArray) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationRuleArrayOutput

type BucketV2ServerSideEncryptionConfigurationRuleArrayInput

type BucketV2ServerSideEncryptionConfigurationRuleArrayInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutput() BucketV2ServerSideEncryptionConfigurationRuleArrayOutput
	ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationRuleArrayOutput
}

BucketV2ServerSideEncryptionConfigurationRuleArrayInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationRuleArray and BucketV2ServerSideEncryptionConfigurationRuleArrayOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationRuleArrayInput` via:

BucketV2ServerSideEncryptionConfigurationRuleArray{ BucketV2ServerSideEncryptionConfigurationRuleArgs{...} }

type BucketV2ServerSideEncryptionConfigurationRuleArrayOutput

type BucketV2ServerSideEncryptionConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationRuleArrayOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleArrayOutput) Index

func (BucketV2ServerSideEncryptionConfigurationRuleArrayOutput) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutput

func (BucketV2ServerSideEncryptionConfigurationRuleArrayOutput) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutputWithContext

func (o BucketV2ServerSideEncryptionConfigurationRuleArrayOutput) ToBucketV2ServerSideEncryptionConfigurationRuleArrayOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationRuleArrayOutput

type BucketV2ServerSideEncryptionConfigurationRuleInput

type BucketV2ServerSideEncryptionConfigurationRuleInput interface {
	pulumi.Input

	ToBucketV2ServerSideEncryptionConfigurationRuleOutput() BucketV2ServerSideEncryptionConfigurationRuleOutput
	ToBucketV2ServerSideEncryptionConfigurationRuleOutputWithContext(context.Context) BucketV2ServerSideEncryptionConfigurationRuleOutput
}

BucketV2ServerSideEncryptionConfigurationRuleInput is an input type that accepts BucketV2ServerSideEncryptionConfigurationRuleArgs and BucketV2ServerSideEncryptionConfigurationRuleOutput values. You can construct a concrete instance of `BucketV2ServerSideEncryptionConfigurationRuleInput` via:

BucketV2ServerSideEncryptionConfigurationRuleArgs{...}

type BucketV2ServerSideEncryptionConfigurationRuleOutput

type BucketV2ServerSideEncryptionConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketV2ServerSideEncryptionConfigurationRuleOutput) ApplyServerSideEncryptionByDefaults

Single object for setting server-side encryption by default. (documented below)

func (BucketV2ServerSideEncryptionConfigurationRuleOutput) 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 (BucketV2ServerSideEncryptionConfigurationRuleOutput) ElementType

func (BucketV2ServerSideEncryptionConfigurationRuleOutput) ToBucketV2ServerSideEncryptionConfigurationRuleOutput

func (o BucketV2ServerSideEncryptionConfigurationRuleOutput) ToBucketV2ServerSideEncryptionConfigurationRuleOutput() BucketV2ServerSideEncryptionConfigurationRuleOutput

func (BucketV2ServerSideEncryptionConfigurationRuleOutput) ToBucketV2ServerSideEncryptionConfigurationRuleOutputWithContext

func (o BucketV2ServerSideEncryptionConfigurationRuleOutput) ToBucketV2ServerSideEncryptionConfigurationRuleOutputWithContext(ctx context.Context) BucketV2ServerSideEncryptionConfigurationRuleOutput

type BucketV2State

type BucketV2State 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.BucketAccelerateConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 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
	// 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.BucketCorsConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
	CorsRules BucketV2CorsRuleArrayInput
	// 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.BucketAclV2` instead.
	//
	// Deprecated: Use the s3.BucketAclV2 resource instead
	Grants BucketV2GrantArrayInput
	// [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.BucketLifecycleConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
	LifecycleRules BucketV2LifecycleRuleArrayInput
	// 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.BucketLoggingV2` instead.
	//
	// Deprecated: Use the s3.BucketLoggingV2 resource instead
	Loggings BucketV2LoggingArrayInput
	// 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.BucketObjectLockConfigurationV2` instead.
	//
	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
	ObjectLockConfiguration BucketV2ObjectLockConfigurationPtrInput
	// 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: Use the s3.BucketPolicy resource instead
	Policy pulumi.StringPtrInput
	// AWS region this bucket resides in.
	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: Use the s3.BucketReplicationConfig resource instead
	ReplicationConfigurations BucketV2ReplicationConfigurationArrayInput
	// 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.BucketRequestPaymentConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 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.BucketServerSideEncryptionConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayInput
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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.BucketVersioningV2` instead.
	//
	// Deprecated: Use the s3.BucketVersioningV2 resource instead
	Versionings BucketV2VersioningArrayInput
	// (**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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
	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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
	WebsiteEndpoint pulumi.StringPtrInput
	// 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.BucketWebsiteConfigurationV2` instead.
	//
	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
	Websites BucketV2WebsiteArrayInput
}

func (BucketV2State) ElementType

func (BucketV2State) ElementType() reflect.Type

type BucketV2Versioning

type BucketV2Versioning 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 BucketV2VersioningArgs

type BucketV2VersioningArgs 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 (BucketV2VersioningArgs) ElementType

func (BucketV2VersioningArgs) ElementType() reflect.Type

func (BucketV2VersioningArgs) ToBucketV2VersioningOutput

func (i BucketV2VersioningArgs) ToBucketV2VersioningOutput() BucketV2VersioningOutput

func (BucketV2VersioningArgs) ToBucketV2VersioningOutputWithContext

func (i BucketV2VersioningArgs) ToBucketV2VersioningOutputWithContext(ctx context.Context) BucketV2VersioningOutput

type BucketV2VersioningArray

type BucketV2VersioningArray []BucketV2VersioningInput

func (BucketV2VersioningArray) ElementType

func (BucketV2VersioningArray) ElementType() reflect.Type

func (BucketV2VersioningArray) ToBucketV2VersioningArrayOutput

func (i BucketV2VersioningArray) ToBucketV2VersioningArrayOutput() BucketV2VersioningArrayOutput

func (BucketV2VersioningArray) ToBucketV2VersioningArrayOutputWithContext

func (i BucketV2VersioningArray) ToBucketV2VersioningArrayOutputWithContext(ctx context.Context) BucketV2VersioningArrayOutput

type BucketV2VersioningArrayInput

type BucketV2VersioningArrayInput interface {
	pulumi.Input

	ToBucketV2VersioningArrayOutput() BucketV2VersioningArrayOutput
	ToBucketV2VersioningArrayOutputWithContext(context.Context) BucketV2VersioningArrayOutput
}

BucketV2VersioningArrayInput is an input type that accepts BucketV2VersioningArray and BucketV2VersioningArrayOutput values. You can construct a concrete instance of `BucketV2VersioningArrayInput` via:

BucketV2VersioningArray{ BucketV2VersioningArgs{...} }

type BucketV2VersioningArrayOutput

type BucketV2VersioningArrayOutput struct{ *pulumi.OutputState }

func (BucketV2VersioningArrayOutput) ElementType

func (BucketV2VersioningArrayOutput) Index

func (BucketV2VersioningArrayOutput) ToBucketV2VersioningArrayOutput

func (o BucketV2VersioningArrayOutput) ToBucketV2VersioningArrayOutput() BucketV2VersioningArrayOutput

func (BucketV2VersioningArrayOutput) ToBucketV2VersioningArrayOutputWithContext

func (o BucketV2VersioningArrayOutput) ToBucketV2VersioningArrayOutputWithContext(ctx context.Context) BucketV2VersioningArrayOutput

type BucketV2VersioningInput

type BucketV2VersioningInput interface {
	pulumi.Input

	ToBucketV2VersioningOutput() BucketV2VersioningOutput
	ToBucketV2VersioningOutputWithContext(context.Context) BucketV2VersioningOutput
}

BucketV2VersioningInput is an input type that accepts BucketV2VersioningArgs and BucketV2VersioningOutput values. You can construct a concrete instance of `BucketV2VersioningInput` via:

BucketV2VersioningArgs{...}

type BucketV2VersioningOutput

type BucketV2VersioningOutput struct{ *pulumi.OutputState }

func (BucketV2VersioningOutput) ElementType

func (BucketV2VersioningOutput) ElementType() reflect.Type

func (BucketV2VersioningOutput) 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 (BucketV2VersioningOutput) 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 (BucketV2VersioningOutput) ToBucketV2VersioningOutput

func (o BucketV2VersioningOutput) ToBucketV2VersioningOutput() BucketV2VersioningOutput

func (BucketV2VersioningOutput) ToBucketV2VersioningOutputWithContext

func (o BucketV2VersioningOutput) ToBucketV2VersioningOutputWithContext(ctx context.Context) BucketV2VersioningOutput

type BucketV2Website

type BucketV2Website 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 BucketV2WebsiteArgs

type BucketV2WebsiteArgs 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 (BucketV2WebsiteArgs) ElementType

func (BucketV2WebsiteArgs) ElementType() reflect.Type

func (BucketV2WebsiteArgs) ToBucketV2WebsiteOutput

func (i BucketV2WebsiteArgs) ToBucketV2WebsiteOutput() BucketV2WebsiteOutput

func (BucketV2WebsiteArgs) ToBucketV2WebsiteOutputWithContext

func (i BucketV2WebsiteArgs) ToBucketV2WebsiteOutputWithContext(ctx context.Context) BucketV2WebsiteOutput

type BucketV2WebsiteArray

type BucketV2WebsiteArray []BucketV2WebsiteInput

func (BucketV2WebsiteArray) ElementType

func (BucketV2WebsiteArray) ElementType() reflect.Type

func (BucketV2WebsiteArray) ToBucketV2WebsiteArrayOutput

func (i BucketV2WebsiteArray) ToBucketV2WebsiteArrayOutput() BucketV2WebsiteArrayOutput

func (BucketV2WebsiteArray) ToBucketV2WebsiteArrayOutputWithContext

func (i BucketV2WebsiteArray) ToBucketV2WebsiteArrayOutputWithContext(ctx context.Context) BucketV2WebsiteArrayOutput

type BucketV2WebsiteArrayInput

type BucketV2WebsiteArrayInput interface {
	pulumi.Input

	ToBucketV2WebsiteArrayOutput() BucketV2WebsiteArrayOutput
	ToBucketV2WebsiteArrayOutputWithContext(context.Context) BucketV2WebsiteArrayOutput
}

BucketV2WebsiteArrayInput is an input type that accepts BucketV2WebsiteArray and BucketV2WebsiteArrayOutput values. You can construct a concrete instance of `BucketV2WebsiteArrayInput` via:

BucketV2WebsiteArray{ BucketV2WebsiteArgs{...} }

type BucketV2WebsiteArrayOutput

type BucketV2WebsiteArrayOutput struct{ *pulumi.OutputState }

func (BucketV2WebsiteArrayOutput) ElementType

func (BucketV2WebsiteArrayOutput) ElementType() reflect.Type

func (BucketV2WebsiteArrayOutput) Index

func (BucketV2WebsiteArrayOutput) ToBucketV2WebsiteArrayOutput

func (o BucketV2WebsiteArrayOutput) ToBucketV2WebsiteArrayOutput() BucketV2WebsiteArrayOutput

func (BucketV2WebsiteArrayOutput) ToBucketV2WebsiteArrayOutputWithContext

func (o BucketV2WebsiteArrayOutput) ToBucketV2WebsiteArrayOutputWithContext(ctx context.Context) BucketV2WebsiteArrayOutput

type BucketV2WebsiteInput

type BucketV2WebsiteInput interface {
	pulumi.Input

	ToBucketV2WebsiteOutput() BucketV2WebsiteOutput
	ToBucketV2WebsiteOutputWithContext(context.Context) BucketV2WebsiteOutput
}

BucketV2WebsiteInput is an input type that accepts BucketV2WebsiteArgs and BucketV2WebsiteOutput values. You can construct a concrete instance of `BucketV2WebsiteInput` via:

BucketV2WebsiteArgs{...}

type BucketV2WebsiteOutput

type BucketV2WebsiteOutput struct{ *pulumi.OutputState }

func (BucketV2WebsiteOutput) ElementType

func (BucketV2WebsiteOutput) ElementType() reflect.Type

func (BucketV2WebsiteOutput) ErrorDocument

func (o BucketV2WebsiteOutput) ErrorDocument() pulumi.StringPtrOutput

Absolute path to the document to return in case of a 4XX error.

func (BucketV2WebsiteOutput) IndexDocument

func (o BucketV2WebsiteOutput) IndexDocument() pulumi.StringPtrOutput

Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.

func (BucketV2WebsiteOutput) RedirectAllRequestsTo

func (o BucketV2WebsiteOutput) 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 (BucketV2WebsiteOutput) RoutingRules

func (o BucketV2WebsiteOutput) 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 (BucketV2WebsiteOutput) ToBucketV2WebsiteOutput

func (o BucketV2WebsiteOutput) ToBucketV2WebsiteOutput() BucketV2WebsiteOutput

func (BucketV2WebsiteOutput) ToBucketV2WebsiteOutputWithContext

func (o BucketV2WebsiteOutput) ToBucketV2WebsiteOutputWithContext(ctx context.Context) BucketV2WebsiteOutput

type BucketVersioning

type BucketVersioning 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 BucketVersioningArgs

type BucketVersioningArgs 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 (BucketVersioningArgs) ElementType

func (BucketVersioningArgs) ElementType() reflect.Type

func (BucketVersioningArgs) ToBucketVersioningOutput

func (i BucketVersioningArgs) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutput

func (i BucketVersioningArgs) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningInput

type BucketVersioningInput interface {
	pulumi.Input

	ToBucketVersioningOutput() BucketVersioningOutput
	ToBucketVersioningOutputWithContext(context.Context) BucketVersioningOutput
}

BucketVersioningInput is an input type that accepts BucketVersioningArgs and BucketVersioningOutput values. You can construct a concrete instance of `BucketVersioningInput` via:

BucketVersioningArgs{...}

type BucketVersioningOutput

type BucketVersioningOutput struct{ *pulumi.OutputState }

func (BucketVersioningOutput) ElementType

func (BucketVersioningOutput) ElementType() reflect.Type

func (BucketVersioningOutput) 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 (BucketVersioningOutput) 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 (BucketVersioningOutput) ToBucketVersioningOutput

func (o BucketVersioningOutput) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningPtrInput

type BucketVersioningPtrInput interface {
	pulumi.Input

	ToBucketVersioningPtrOutput() BucketVersioningPtrOutput
	ToBucketVersioningPtrOutputWithContext(context.Context) BucketVersioningPtrOutput
}

BucketVersioningPtrInput is an input type that accepts BucketVersioningArgs, BucketVersioningPtr and BucketVersioningPtrOutput values. You can construct a concrete instance of `BucketVersioningPtrInput` via:

        BucketVersioningArgs{...}

or:

        nil

type BucketVersioningPtrOutput

type BucketVersioningPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningPtrOutput) Elem

func (BucketVersioningPtrOutput) ElementType

func (BucketVersioningPtrOutput) ElementType() reflect.Type

func (BucketVersioningPtrOutput) 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 (BucketVersioningPtrOutput) 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 (BucketVersioningPtrOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningV2

type BucketVersioningV2 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"`
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningV2VersioningConfigurationOutput `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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioningV2(ctx, "versioning_example", &s3.BucketVersioningV2Args{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With Versioning Disabled

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("example-bucket"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
			Bucket: example.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketVersioningV2(ctx, "versioning_example", &s3.BucketVersioningV2Args{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				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.BucketVersioningV2` 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.BucketVersioningV2` 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
			Bucket: pulumi.String("yotto"),
		})
		if err != nil {
			return err
		}
		exampleBucketVersioningV2, err := s3.NewBucketVersioningV2(ctx, "example", &s3.BucketVersioningV2Args{
			Bucket: example.ID(),
			VersioningConfiguration: &s3.BucketVersioningV2VersioningConfigurationArgs{
				Status: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
			Bucket: exampleBucketVersioningV2.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/bucketVersioningV2:BucketVersioningV2 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/bucketVersioningV2:BucketVersioningV2 example bucket-name,123456789012 ```

func GetBucketVersioningV2

func GetBucketVersioningV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketVersioningV2State, opts ...pulumi.ResourceOption) (*BucketVersioningV2, error)

GetBucketVersioningV2 gets an existing BucketVersioningV2 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 NewBucketVersioningV2

func NewBucketVersioningV2(ctx *pulumi.Context,
	name string, args *BucketVersioningV2Args, opts ...pulumi.ResourceOption) (*BucketVersioningV2, error)

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

func (*BucketVersioningV2) ElementType

func (*BucketVersioningV2) ElementType() reflect.Type

func (*BucketVersioningV2) ToBucketVersioningV2Output

func (i *BucketVersioningV2) ToBucketVersioningV2Output() BucketVersioningV2Output

func (*BucketVersioningV2) ToBucketVersioningV2OutputWithContext

func (i *BucketVersioningV2) ToBucketVersioningV2OutputWithContext(ctx context.Context) BucketVersioningV2Output

type BucketVersioningV2Args

type BucketVersioningV2Args 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
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningV2VersioningConfigurationInput
}

The set of arguments for constructing a BucketVersioningV2 resource.

func (BucketVersioningV2Args) ElementType

func (BucketVersioningV2Args) ElementType() reflect.Type

type BucketVersioningV2Array

type BucketVersioningV2Array []BucketVersioningV2Input

func (BucketVersioningV2Array) ElementType

func (BucketVersioningV2Array) ElementType() reflect.Type

func (BucketVersioningV2Array) ToBucketVersioningV2ArrayOutput

func (i BucketVersioningV2Array) ToBucketVersioningV2ArrayOutput() BucketVersioningV2ArrayOutput

func (BucketVersioningV2Array) ToBucketVersioningV2ArrayOutputWithContext

func (i BucketVersioningV2Array) ToBucketVersioningV2ArrayOutputWithContext(ctx context.Context) BucketVersioningV2ArrayOutput

type BucketVersioningV2ArrayInput

type BucketVersioningV2ArrayInput interface {
	pulumi.Input

	ToBucketVersioningV2ArrayOutput() BucketVersioningV2ArrayOutput
	ToBucketVersioningV2ArrayOutputWithContext(context.Context) BucketVersioningV2ArrayOutput
}

BucketVersioningV2ArrayInput is an input type that accepts BucketVersioningV2Array and BucketVersioningV2ArrayOutput values. You can construct a concrete instance of `BucketVersioningV2ArrayInput` via:

BucketVersioningV2Array{ BucketVersioningV2Args{...} }

type BucketVersioningV2ArrayOutput

type BucketVersioningV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketVersioningV2ArrayOutput) ElementType

func (BucketVersioningV2ArrayOutput) Index

func (BucketVersioningV2ArrayOutput) ToBucketVersioningV2ArrayOutput

func (o BucketVersioningV2ArrayOutput) ToBucketVersioningV2ArrayOutput() BucketVersioningV2ArrayOutput

func (BucketVersioningV2ArrayOutput) ToBucketVersioningV2ArrayOutputWithContext

func (o BucketVersioningV2ArrayOutput) ToBucketVersioningV2ArrayOutputWithContext(ctx context.Context) BucketVersioningV2ArrayOutput

type BucketVersioningV2Input

type BucketVersioningV2Input interface {
	pulumi.Input

	ToBucketVersioningV2Output() BucketVersioningV2Output
	ToBucketVersioningV2OutputWithContext(ctx context.Context) BucketVersioningV2Output
}

type BucketVersioningV2Map

type BucketVersioningV2Map map[string]BucketVersioningV2Input

func (BucketVersioningV2Map) ElementType

func (BucketVersioningV2Map) ElementType() reflect.Type

func (BucketVersioningV2Map) ToBucketVersioningV2MapOutput

func (i BucketVersioningV2Map) ToBucketVersioningV2MapOutput() BucketVersioningV2MapOutput

func (BucketVersioningV2Map) ToBucketVersioningV2MapOutputWithContext

func (i BucketVersioningV2Map) ToBucketVersioningV2MapOutputWithContext(ctx context.Context) BucketVersioningV2MapOutput

type BucketVersioningV2MapInput

type BucketVersioningV2MapInput interface {
	pulumi.Input

	ToBucketVersioningV2MapOutput() BucketVersioningV2MapOutput
	ToBucketVersioningV2MapOutputWithContext(context.Context) BucketVersioningV2MapOutput
}

BucketVersioningV2MapInput is an input type that accepts BucketVersioningV2Map and BucketVersioningV2MapOutput values. You can construct a concrete instance of `BucketVersioningV2MapInput` via:

BucketVersioningV2Map{ "key": BucketVersioningV2Args{...} }

type BucketVersioningV2MapOutput

type BucketVersioningV2MapOutput struct{ *pulumi.OutputState }

func (BucketVersioningV2MapOutput) ElementType

func (BucketVersioningV2MapOutput) MapIndex

func (BucketVersioningV2MapOutput) ToBucketVersioningV2MapOutput

func (o BucketVersioningV2MapOutput) ToBucketVersioningV2MapOutput() BucketVersioningV2MapOutput

func (BucketVersioningV2MapOutput) ToBucketVersioningV2MapOutputWithContext

func (o BucketVersioningV2MapOutput) ToBucketVersioningV2MapOutputWithContext(ctx context.Context) BucketVersioningV2MapOutput

type BucketVersioningV2Output

type BucketVersioningV2Output struct{ *pulumi.OutputState }

func (BucketVersioningV2Output) Bucket

Name of the S3 bucket.

func (BucketVersioningV2Output) ElementType

func (BucketVersioningV2Output) ElementType() reflect.Type

func (BucketVersioningV2Output) ExpectedBucketOwner

func (o BucketVersioningV2Output) ExpectedBucketOwner() pulumi.StringPtrOutput

Account ID of the expected bucket owner.

func (BucketVersioningV2Output) Mfa

Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

func (BucketVersioningV2Output) ToBucketVersioningV2Output

func (o BucketVersioningV2Output) ToBucketVersioningV2Output() BucketVersioningV2Output

func (BucketVersioningV2Output) ToBucketVersioningV2OutputWithContext

func (o BucketVersioningV2Output) ToBucketVersioningV2OutputWithContext(ctx context.Context) BucketVersioningV2Output

func (BucketVersioningV2Output) VersioningConfiguration

Configuration block for the versioning parameters. See below.

type BucketVersioningV2State

type BucketVersioningV2State 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
	// Configuration block for the versioning parameters. See below.
	VersioningConfiguration BucketVersioningV2VersioningConfigurationPtrInput
}

func (BucketVersioningV2State) ElementType

func (BucketVersioningV2State) ElementType() reflect.Type

type BucketVersioningV2VersioningConfiguration

type BucketVersioningV2VersioningConfiguration 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 BucketVersioningV2VersioningConfigurationArgs

type BucketVersioningV2VersioningConfigurationArgs 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 (BucketVersioningV2VersioningConfigurationArgs) ElementType

func (BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationOutput

func (i BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationOutput() BucketVersioningV2VersioningConfigurationOutput

func (BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationOutputWithContext

func (i BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationOutputWithContext(ctx context.Context) BucketVersioningV2VersioningConfigurationOutput

func (BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationPtrOutput

func (i BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationPtrOutput() BucketVersioningV2VersioningConfigurationPtrOutput

func (BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext

func (i BucketVersioningV2VersioningConfigurationArgs) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningV2VersioningConfigurationPtrOutput

type BucketVersioningV2VersioningConfigurationInput

type BucketVersioningV2VersioningConfigurationInput interface {
	pulumi.Input

	ToBucketVersioningV2VersioningConfigurationOutput() BucketVersioningV2VersioningConfigurationOutput
	ToBucketVersioningV2VersioningConfigurationOutputWithContext(context.Context) BucketVersioningV2VersioningConfigurationOutput
}

BucketVersioningV2VersioningConfigurationInput is an input type that accepts BucketVersioningV2VersioningConfigurationArgs and BucketVersioningV2VersioningConfigurationOutput values. You can construct a concrete instance of `BucketVersioningV2VersioningConfigurationInput` via:

BucketVersioningV2VersioningConfigurationArgs{...}

type BucketVersioningV2VersioningConfigurationOutput

type BucketVersioningV2VersioningConfigurationOutput struct{ *pulumi.OutputState }

func (BucketVersioningV2VersioningConfigurationOutput) ElementType

func (BucketVersioningV2VersioningConfigurationOutput) MfaDelete

Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.

func (BucketVersioningV2VersioningConfigurationOutput) 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 (BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationOutput

func (o BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationOutput() BucketVersioningV2VersioningConfigurationOutput

func (BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationOutputWithContext

func (o BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationOutputWithContext(ctx context.Context) BucketVersioningV2VersioningConfigurationOutput

func (BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationPtrOutput

func (o BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationPtrOutput() BucketVersioningV2VersioningConfigurationPtrOutput

func (BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext

func (o BucketVersioningV2VersioningConfigurationOutput) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningV2VersioningConfigurationPtrOutput

type BucketVersioningV2VersioningConfigurationPtrInput

type BucketVersioningV2VersioningConfigurationPtrInput interface {
	pulumi.Input

	ToBucketVersioningV2VersioningConfigurationPtrOutput() BucketVersioningV2VersioningConfigurationPtrOutput
	ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext(context.Context) BucketVersioningV2VersioningConfigurationPtrOutput
}

BucketVersioningV2VersioningConfigurationPtrInput is an input type that accepts BucketVersioningV2VersioningConfigurationArgs, BucketVersioningV2VersioningConfigurationPtr and BucketVersioningV2VersioningConfigurationPtrOutput values. You can construct a concrete instance of `BucketVersioningV2VersioningConfigurationPtrInput` via:

        BucketVersioningV2VersioningConfigurationArgs{...}

or:

        nil

type BucketVersioningV2VersioningConfigurationPtrOutput

type BucketVersioningV2VersioningConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningV2VersioningConfigurationPtrOutput) Elem

func (BucketVersioningV2VersioningConfigurationPtrOutput) ElementType

func (BucketVersioningV2VersioningConfigurationPtrOutput) MfaDelete

Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: `Enabled` or `Disabled`.

func (BucketVersioningV2VersioningConfigurationPtrOutput) 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 (BucketVersioningV2VersioningConfigurationPtrOutput) ToBucketVersioningV2VersioningConfigurationPtrOutput

func (o BucketVersioningV2VersioningConfigurationPtrOutput) ToBucketVersioningV2VersioningConfigurationPtrOutput() BucketVersioningV2VersioningConfigurationPtrOutput

func (BucketVersioningV2VersioningConfigurationPtrOutput) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext

func (o BucketVersioningV2VersioningConfigurationPtrOutput) ToBucketVersioningV2VersioningConfigurationPtrOutputWithContext(ctx context.Context) BucketVersioningV2VersioningConfigurationPtrOutput

type BucketWebsite

type BucketWebsite struct {
	// An 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"`
	// A 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"`
	// A 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.
	//
	// The `CORS` object supports the following:
	RoutingRules interface{} `pulumi:"routingRules"`
}

type BucketWebsiteArgs

type BucketWebsiteArgs struct {
	// An 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"`
	// A 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"`
	// A 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.
	//
	// The `CORS` object supports the following:
	RoutingRules pulumi.Input `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 BucketWebsiteConfigurationV2

type BucketWebsiteConfigurationV2 struct {
	pulumi.CustomResourceState

	// Name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationV2ErrorDocumentPtrOutput `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 BucketWebsiteConfigurationV2IndexDocumentPtrOutput `pulumi:"indexDocument"`
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput `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. 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 BucketWebsiteConfigurationV2RoutingRuleArrayOutput `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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketWebsiteConfigurationV2(ctx, "example", &s3.BucketWebsiteConfigurationV2Args{
			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
			IndexDocument: &s3.BucketWebsiteConfigurationV2IndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
			ErrorDocument: &s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{
				Key: pulumi.String("error.html"),
			},
			RoutingRules: s3.BucketWebsiteConfigurationV2RoutingRuleArray{
				&s3.BucketWebsiteConfigurationV2RoutingRuleArgs{
					Condition: &s3.BucketWebsiteConfigurationV2RoutingRuleConditionArgs{
						KeyPrefixEquals: pulumi.String("docs/"),
					},
					Redirect: &s3.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs{
						ReplaceKeyPrefixWith: pulumi.String("documents/"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With `routingRules` configured

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucketWebsiteConfigurationV2(ctx, "example", &s3.BucketWebsiteConfigurationV2Args{
			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
			IndexDocument: &s3.BucketWebsiteConfigurationV2IndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
			ErrorDocument: &s3.BucketWebsiteConfigurationV2ErrorDocumentArgs{
				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/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 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/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name,123456789012 ```

func GetBucketWebsiteConfigurationV2

func GetBucketWebsiteConfigurationV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketWebsiteConfigurationV2State, opts ...pulumi.ResourceOption) (*BucketWebsiteConfigurationV2, error)

GetBucketWebsiteConfigurationV2 gets an existing BucketWebsiteConfigurationV2 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 NewBucketWebsiteConfigurationV2

func NewBucketWebsiteConfigurationV2(ctx *pulumi.Context,
	name string, args *BucketWebsiteConfigurationV2Args, opts ...pulumi.ResourceOption) (*BucketWebsiteConfigurationV2, error)

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

func (*BucketWebsiteConfigurationV2) ElementType

func (*BucketWebsiteConfigurationV2) ElementType() reflect.Type

func (*BucketWebsiteConfigurationV2) ToBucketWebsiteConfigurationV2Output

func (i *BucketWebsiteConfigurationV2) ToBucketWebsiteConfigurationV2Output() BucketWebsiteConfigurationV2Output

func (*BucketWebsiteConfigurationV2) ToBucketWebsiteConfigurationV2OutputWithContext

func (i *BucketWebsiteConfigurationV2) ToBucketWebsiteConfigurationV2OutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2Output

type BucketWebsiteConfigurationV2Args

type BucketWebsiteConfigurationV2Args struct {
	// Name of the bucket.
	Bucket pulumi.StringInput
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationV2ErrorDocumentPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Name of the index document for the website. See below.
	IndexDocument BucketWebsiteConfigurationV2IndexDocumentPtrInput
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput
	// 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 BucketWebsiteConfigurationV2RoutingRuleArrayInput
}

The set of arguments for constructing a BucketWebsiteConfigurationV2 resource.

func (BucketWebsiteConfigurationV2Args) ElementType

type BucketWebsiteConfigurationV2Array

type BucketWebsiteConfigurationV2Array []BucketWebsiteConfigurationV2Input

func (BucketWebsiteConfigurationV2Array) ElementType

func (BucketWebsiteConfigurationV2Array) ToBucketWebsiteConfigurationV2ArrayOutput

func (i BucketWebsiteConfigurationV2Array) ToBucketWebsiteConfigurationV2ArrayOutput() BucketWebsiteConfigurationV2ArrayOutput

func (BucketWebsiteConfigurationV2Array) ToBucketWebsiteConfigurationV2ArrayOutputWithContext

func (i BucketWebsiteConfigurationV2Array) ToBucketWebsiteConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ArrayOutput

type BucketWebsiteConfigurationV2ArrayInput

type BucketWebsiteConfigurationV2ArrayInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2ArrayOutput() BucketWebsiteConfigurationV2ArrayOutput
	ToBucketWebsiteConfigurationV2ArrayOutputWithContext(context.Context) BucketWebsiteConfigurationV2ArrayOutput
}

BucketWebsiteConfigurationV2ArrayInput is an input type that accepts BucketWebsiteConfigurationV2Array and BucketWebsiteConfigurationV2ArrayOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2ArrayInput` via:

BucketWebsiteConfigurationV2Array{ BucketWebsiteConfigurationV2Args{...} }

type BucketWebsiteConfigurationV2ArrayOutput

type BucketWebsiteConfigurationV2ArrayOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2ArrayOutput) ElementType

func (BucketWebsiteConfigurationV2ArrayOutput) Index

func (BucketWebsiteConfigurationV2ArrayOutput) ToBucketWebsiteConfigurationV2ArrayOutput

func (o BucketWebsiteConfigurationV2ArrayOutput) ToBucketWebsiteConfigurationV2ArrayOutput() BucketWebsiteConfigurationV2ArrayOutput

func (BucketWebsiteConfigurationV2ArrayOutput) ToBucketWebsiteConfigurationV2ArrayOutputWithContext

func (o BucketWebsiteConfigurationV2ArrayOutput) ToBucketWebsiteConfigurationV2ArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ArrayOutput

type BucketWebsiteConfigurationV2ErrorDocument

type BucketWebsiteConfigurationV2ErrorDocument struct {
	// Object key name to use when a 4XX class error occurs.
	Key string `pulumi:"key"`
}

type BucketWebsiteConfigurationV2ErrorDocumentArgs

type BucketWebsiteConfigurationV2ErrorDocumentArgs struct {
	// Object key name to use when a 4XX class error occurs.
	Key pulumi.StringInput `pulumi:"key"`
}

func (BucketWebsiteConfigurationV2ErrorDocumentArgs) ElementType

func (BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentOutput

func (i BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentOutput() BucketWebsiteConfigurationV2ErrorDocumentOutput

func (BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentOutputWithContext

func (i BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ErrorDocumentOutput

func (BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (i BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput() BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationV2ErrorDocumentArgs) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

type BucketWebsiteConfigurationV2ErrorDocumentInput

type BucketWebsiteConfigurationV2ErrorDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2ErrorDocumentOutput() BucketWebsiteConfigurationV2ErrorDocumentOutput
	ToBucketWebsiteConfigurationV2ErrorDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationV2ErrorDocumentOutput
}

BucketWebsiteConfigurationV2ErrorDocumentInput is an input type that accepts BucketWebsiteConfigurationV2ErrorDocumentArgs and BucketWebsiteConfigurationV2ErrorDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2ErrorDocumentInput` via:

BucketWebsiteConfigurationV2ErrorDocumentArgs{...}

type BucketWebsiteConfigurationV2ErrorDocumentOutput

type BucketWebsiteConfigurationV2ErrorDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) ElementType

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) Key

Object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentOutput

func (o BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentOutput() BucketWebsiteConfigurationV2ErrorDocumentOutput

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentOutputWithContext

func (o BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ErrorDocumentOutput

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput() BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationV2ErrorDocumentOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

type BucketWebsiteConfigurationV2ErrorDocumentPtrInput

type BucketWebsiteConfigurationV2ErrorDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput() BucketWebsiteConfigurationV2ErrorDocumentPtrOutput
	ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationV2ErrorDocumentPtrOutput
}

BucketWebsiteConfigurationV2ErrorDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationV2ErrorDocumentArgs, BucketWebsiteConfigurationV2ErrorDocumentPtr and BucketWebsiteConfigurationV2ErrorDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2ErrorDocumentPtrInput` via:

        BucketWebsiteConfigurationV2ErrorDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

type BucketWebsiteConfigurationV2ErrorDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) Key

Object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutput() BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

func (BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationV2ErrorDocumentPtrOutput) ToBucketWebsiteConfigurationV2ErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2ErrorDocumentPtrOutput

type BucketWebsiteConfigurationV2IndexDocument

type BucketWebsiteConfigurationV2IndexDocument 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 BucketWebsiteConfigurationV2IndexDocumentArgs

type BucketWebsiteConfigurationV2IndexDocumentArgs 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 (BucketWebsiteConfigurationV2IndexDocumentArgs) ElementType

func (BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentOutput

func (i BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentOutput() BucketWebsiteConfigurationV2IndexDocumentOutput

func (BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentOutputWithContext

func (i BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2IndexDocumentOutput

func (BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (i BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput() BucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationV2IndexDocumentArgs) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2IndexDocumentPtrOutput

type BucketWebsiteConfigurationV2IndexDocumentInput

type BucketWebsiteConfigurationV2IndexDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2IndexDocumentOutput() BucketWebsiteConfigurationV2IndexDocumentOutput
	ToBucketWebsiteConfigurationV2IndexDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationV2IndexDocumentOutput
}

BucketWebsiteConfigurationV2IndexDocumentInput is an input type that accepts BucketWebsiteConfigurationV2IndexDocumentArgs and BucketWebsiteConfigurationV2IndexDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2IndexDocumentInput` via:

BucketWebsiteConfigurationV2IndexDocumentArgs{...}

type BucketWebsiteConfigurationV2IndexDocumentOutput

type BucketWebsiteConfigurationV2IndexDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2IndexDocumentOutput) ElementType

func (BucketWebsiteConfigurationV2IndexDocumentOutput) 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 (BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentOutput

func (o BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentOutput() BucketWebsiteConfigurationV2IndexDocumentOutput

func (BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentOutputWithContext

func (o BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2IndexDocumentOutput

func (BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (o BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput() BucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationV2IndexDocumentOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2IndexDocumentPtrOutput

type BucketWebsiteConfigurationV2IndexDocumentPtrInput

type BucketWebsiteConfigurationV2IndexDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput() BucketWebsiteConfigurationV2IndexDocumentPtrOutput
	ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationV2IndexDocumentPtrOutput
}

BucketWebsiteConfigurationV2IndexDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationV2IndexDocumentArgs, BucketWebsiteConfigurationV2IndexDocumentPtr and BucketWebsiteConfigurationV2IndexDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2IndexDocumentPtrInput` via:

        BucketWebsiteConfigurationV2IndexDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationV2IndexDocumentPtrOutput

type BucketWebsiteConfigurationV2IndexDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2IndexDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationV2IndexDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationV2IndexDocumentPtrOutput) 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 (BucketWebsiteConfigurationV2IndexDocumentPtrOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (o BucketWebsiteConfigurationV2IndexDocumentPtrOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutput() BucketWebsiteConfigurationV2IndexDocumentPtrOutput

func (BucketWebsiteConfigurationV2IndexDocumentPtrOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationV2IndexDocumentPtrOutput) ToBucketWebsiteConfigurationV2IndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2IndexDocumentPtrOutput

type BucketWebsiteConfigurationV2Input

type BucketWebsiteConfigurationV2Input interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2Output() BucketWebsiteConfigurationV2Output
	ToBucketWebsiteConfigurationV2OutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2Output
}

type BucketWebsiteConfigurationV2Map

type BucketWebsiteConfigurationV2Map map[string]BucketWebsiteConfigurationV2Input

func (BucketWebsiteConfigurationV2Map) ElementType

func (BucketWebsiteConfigurationV2Map) ToBucketWebsiteConfigurationV2MapOutput

func (i BucketWebsiteConfigurationV2Map) ToBucketWebsiteConfigurationV2MapOutput() BucketWebsiteConfigurationV2MapOutput

func (BucketWebsiteConfigurationV2Map) ToBucketWebsiteConfigurationV2MapOutputWithContext

func (i BucketWebsiteConfigurationV2Map) ToBucketWebsiteConfigurationV2MapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2MapOutput

type BucketWebsiteConfigurationV2MapInput

type BucketWebsiteConfigurationV2MapInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2MapOutput() BucketWebsiteConfigurationV2MapOutput
	ToBucketWebsiteConfigurationV2MapOutputWithContext(context.Context) BucketWebsiteConfigurationV2MapOutput
}

BucketWebsiteConfigurationV2MapInput is an input type that accepts BucketWebsiteConfigurationV2Map and BucketWebsiteConfigurationV2MapOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2MapInput` via:

BucketWebsiteConfigurationV2Map{ "key": BucketWebsiteConfigurationV2Args{...} }

type BucketWebsiteConfigurationV2MapOutput

type BucketWebsiteConfigurationV2MapOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2MapOutput) ElementType

func (BucketWebsiteConfigurationV2MapOutput) MapIndex

func (BucketWebsiteConfigurationV2MapOutput) ToBucketWebsiteConfigurationV2MapOutput

func (o BucketWebsiteConfigurationV2MapOutput) ToBucketWebsiteConfigurationV2MapOutput() BucketWebsiteConfigurationV2MapOutput

func (BucketWebsiteConfigurationV2MapOutput) ToBucketWebsiteConfigurationV2MapOutputWithContext

func (o BucketWebsiteConfigurationV2MapOutput) ToBucketWebsiteConfigurationV2MapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2MapOutput

type BucketWebsiteConfigurationV2Output

type BucketWebsiteConfigurationV2Output struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2Output) Bucket

Name of the bucket.

func (BucketWebsiteConfigurationV2Output) ElementType

func (BucketWebsiteConfigurationV2Output) ErrorDocument

Name of the error document for the website. See below.

func (BucketWebsiteConfigurationV2Output) ExpectedBucketOwner

Account ID of the expected bucket owner.

func (BucketWebsiteConfigurationV2Output) IndexDocument

Name of the index document for the website. See below.

func (BucketWebsiteConfigurationV2Output) RedirectAllRequestsTo

Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.

func (BucketWebsiteConfigurationV2Output) RoutingRuleDetails

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 (BucketWebsiteConfigurationV2Output) RoutingRules

List of rules that define when a redirect is applied and the redirect behavior. See below.

func (BucketWebsiteConfigurationV2Output) ToBucketWebsiteConfigurationV2Output

func (o BucketWebsiteConfigurationV2Output) ToBucketWebsiteConfigurationV2Output() BucketWebsiteConfigurationV2Output

func (BucketWebsiteConfigurationV2Output) ToBucketWebsiteConfigurationV2OutputWithContext

func (o BucketWebsiteConfigurationV2Output) ToBucketWebsiteConfigurationV2OutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2Output

func (BucketWebsiteConfigurationV2Output) WebsiteDomain

Domain of the website endpoint. This is used to create Route 53 alias records.

func (BucketWebsiteConfigurationV2Output) WebsiteEndpoint

Website endpoint.

type BucketWebsiteConfigurationV2RedirectAllRequestsTo

type BucketWebsiteConfigurationV2RedirectAllRequestsTo 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 BucketWebsiteConfigurationV2RedirectAllRequestsToArgs

type BucketWebsiteConfigurationV2RedirectAllRequestsToArgs 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 (BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ElementType

func (BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutput

func (i BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutput() BucketWebsiteConfigurationV2RedirectAllRequestsToOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutputWithContext

func (i BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

func (i BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput() BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext

func (i BucketWebsiteConfigurationV2RedirectAllRequestsToArgs) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationV2RedirectAllRequestsToInput

type BucketWebsiteConfigurationV2RedirectAllRequestsToInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutput() BucketWebsiteConfigurationV2RedirectAllRequestsToOutput
	ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutputWithContext(context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToOutput
}

BucketWebsiteConfigurationV2RedirectAllRequestsToInput is an input type that accepts BucketWebsiteConfigurationV2RedirectAllRequestsToArgs and BucketWebsiteConfigurationV2RedirectAllRequestsToOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RedirectAllRequestsToInput` via:

BucketWebsiteConfigurationV2RedirectAllRequestsToArgs{...}

type BucketWebsiteConfigurationV2RedirectAllRequestsToOutput

type BucketWebsiteConfigurationV2RedirectAllRequestsToOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ElementType

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) HostName

Name of the host where requests are redirected.

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutputWithContext

func (o BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext

func (o BucketWebsiteConfigurationV2RedirectAllRequestsToOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput

type BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput() BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput
	ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext(context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput
}

BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput is an input type that accepts BucketWebsiteConfigurationV2RedirectAllRequestsToArgs, BucketWebsiteConfigurationV2RedirectAllRequestsToPtr and BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput` via:

        BucketWebsiteConfigurationV2RedirectAllRequestsToArgs{...}

or:

        nil

type BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) Elem

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) ElementType

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) HostName

Name of the host where requests are redirected.

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

func (BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext

func (o BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput) ToBucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RedirectAllRequestsToPtrOutput

type BucketWebsiteConfigurationV2RoutingRule

type BucketWebsiteConfigurationV2RoutingRule struct {
	// Configuration block for describing a condition that must be met for the specified redirect to apply. See below.
	Condition *BucketWebsiteConfigurationV2RoutingRuleCondition `pulumi:"condition"`
	// Configuration block for redirect information. See below.
	Redirect BucketWebsiteConfigurationV2RoutingRuleRedirect `pulumi:"redirect"`
}

type BucketWebsiteConfigurationV2RoutingRuleArgs

type BucketWebsiteConfigurationV2RoutingRuleArgs struct {
	// Configuration block for describing a condition that must be met for the specified redirect to apply. See below.
	Condition BucketWebsiteConfigurationV2RoutingRuleConditionPtrInput `pulumi:"condition"`
	// Configuration block for redirect information. See below.
	Redirect BucketWebsiteConfigurationV2RoutingRuleRedirectInput `pulumi:"redirect"`
}

func (BucketWebsiteConfigurationV2RoutingRuleArgs) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleArgs) ToBucketWebsiteConfigurationV2RoutingRuleOutput

func (i BucketWebsiteConfigurationV2RoutingRuleArgs) ToBucketWebsiteConfigurationV2RoutingRuleOutput() BucketWebsiteConfigurationV2RoutingRuleOutput

func (BucketWebsiteConfigurationV2RoutingRuleArgs) ToBucketWebsiteConfigurationV2RoutingRuleOutputWithContext

func (i BucketWebsiteConfigurationV2RoutingRuleArgs) ToBucketWebsiteConfigurationV2RoutingRuleOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleOutput

type BucketWebsiteConfigurationV2RoutingRuleArray

type BucketWebsiteConfigurationV2RoutingRuleArray []BucketWebsiteConfigurationV2RoutingRuleInput

func (BucketWebsiteConfigurationV2RoutingRuleArray) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleArray) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutput

func (i BucketWebsiteConfigurationV2RoutingRuleArray) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutput() BucketWebsiteConfigurationV2RoutingRuleArrayOutput

func (BucketWebsiteConfigurationV2RoutingRuleArray) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutputWithContext

func (i BucketWebsiteConfigurationV2RoutingRuleArray) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleArrayOutput

type BucketWebsiteConfigurationV2RoutingRuleArrayInput

type BucketWebsiteConfigurationV2RoutingRuleArrayInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RoutingRuleArrayOutput() BucketWebsiteConfigurationV2RoutingRuleArrayOutput
	ToBucketWebsiteConfigurationV2RoutingRuleArrayOutputWithContext(context.Context) BucketWebsiteConfigurationV2RoutingRuleArrayOutput
}

BucketWebsiteConfigurationV2RoutingRuleArrayInput is an input type that accepts BucketWebsiteConfigurationV2RoutingRuleArray and BucketWebsiteConfigurationV2RoutingRuleArrayOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RoutingRuleArrayInput` via:

BucketWebsiteConfigurationV2RoutingRuleArray{ BucketWebsiteConfigurationV2RoutingRuleArgs{...} }

type BucketWebsiteConfigurationV2RoutingRuleArrayOutput

type BucketWebsiteConfigurationV2RoutingRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RoutingRuleArrayOutput) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleArrayOutput) Index

func (BucketWebsiteConfigurationV2RoutingRuleArrayOutput) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutput

func (o BucketWebsiteConfigurationV2RoutingRuleArrayOutput) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutput() BucketWebsiteConfigurationV2RoutingRuleArrayOutput

func (BucketWebsiteConfigurationV2RoutingRuleArrayOutput) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleArrayOutput) ToBucketWebsiteConfigurationV2RoutingRuleArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleArrayOutput

type BucketWebsiteConfigurationV2RoutingRuleCondition

type BucketWebsiteConfigurationV2RoutingRuleCondition 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 BucketWebsiteConfigurationV2RoutingRuleConditionArgs

type BucketWebsiteConfigurationV2RoutingRuleConditionArgs 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 (BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutput

func (i BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutput() BucketWebsiteConfigurationV2RoutingRuleConditionOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutputWithContext

func (i BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

func (i BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput() BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext

func (i BucketWebsiteConfigurationV2RoutingRuleConditionArgs) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationV2RoutingRuleConditionInput

type BucketWebsiteConfigurationV2RoutingRuleConditionInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RoutingRuleConditionOutput() BucketWebsiteConfigurationV2RoutingRuleConditionOutput
	ToBucketWebsiteConfigurationV2RoutingRuleConditionOutputWithContext(context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionOutput
}

BucketWebsiteConfigurationV2RoutingRuleConditionInput is an input type that accepts BucketWebsiteConfigurationV2RoutingRuleConditionArgs and BucketWebsiteConfigurationV2RoutingRuleConditionOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RoutingRuleConditionInput` via:

BucketWebsiteConfigurationV2RoutingRuleConditionArgs{...}

type BucketWebsiteConfigurationV2RoutingRuleConditionOutput

type BucketWebsiteConfigurationV2RoutingRuleConditionOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) 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 (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) 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 (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

func (o BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput() BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleConditionOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationV2RoutingRuleConditionPtrInput

type BucketWebsiteConfigurationV2RoutingRuleConditionPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput() BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput
	ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext(context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput
}

BucketWebsiteConfigurationV2RoutingRuleConditionPtrInput is an input type that accepts BucketWebsiteConfigurationV2RoutingRuleConditionArgs, BucketWebsiteConfigurationV2RoutingRuleConditionPtr and BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RoutingRuleConditionPtrInput` via:

        BucketWebsiteConfigurationV2RoutingRuleConditionArgs{...}

or:

        nil

type BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) Elem

func (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) 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 (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) 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 (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

func (BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput) ToBucketWebsiteConfigurationV2RoutingRuleConditionPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleConditionPtrOutput

type BucketWebsiteConfigurationV2RoutingRuleInput

type BucketWebsiteConfigurationV2RoutingRuleInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RoutingRuleOutput() BucketWebsiteConfigurationV2RoutingRuleOutput
	ToBucketWebsiteConfigurationV2RoutingRuleOutputWithContext(context.Context) BucketWebsiteConfigurationV2RoutingRuleOutput
}

BucketWebsiteConfigurationV2RoutingRuleInput is an input type that accepts BucketWebsiteConfigurationV2RoutingRuleArgs and BucketWebsiteConfigurationV2RoutingRuleOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RoutingRuleInput` via:

BucketWebsiteConfigurationV2RoutingRuleArgs{...}

type BucketWebsiteConfigurationV2RoutingRuleOutput

type BucketWebsiteConfigurationV2RoutingRuleOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RoutingRuleOutput) Condition

Configuration block for describing a condition that must be met for the specified redirect to apply. See below.

func (BucketWebsiteConfigurationV2RoutingRuleOutput) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleOutput) Redirect

Configuration block for redirect information. See below.

func (BucketWebsiteConfigurationV2RoutingRuleOutput) ToBucketWebsiteConfigurationV2RoutingRuleOutput

func (o BucketWebsiteConfigurationV2RoutingRuleOutput) ToBucketWebsiteConfigurationV2RoutingRuleOutput() BucketWebsiteConfigurationV2RoutingRuleOutput

func (BucketWebsiteConfigurationV2RoutingRuleOutput) ToBucketWebsiteConfigurationV2RoutingRuleOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleOutput) ToBucketWebsiteConfigurationV2RoutingRuleOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleOutput

type BucketWebsiteConfigurationV2RoutingRuleRedirect

type BucketWebsiteConfigurationV2RoutingRuleRedirect 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 BucketWebsiteConfigurationV2RoutingRuleRedirectArgs

type BucketWebsiteConfigurationV2RoutingRuleRedirectArgs 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 (BucketWebsiteConfigurationV2RoutingRuleRedirectArgs) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleRedirectArgs) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutput

func (i BucketWebsiteConfigurationV2RoutingRuleRedirectArgs) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutput() BucketWebsiteConfigurationV2RoutingRuleRedirectOutput

func (BucketWebsiteConfigurationV2RoutingRuleRedirectArgs) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutputWithContext

func (i BucketWebsiteConfigurationV2RoutingRuleRedirectArgs) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleRedirectOutput

type BucketWebsiteConfigurationV2RoutingRuleRedirectInput

type BucketWebsiteConfigurationV2RoutingRuleRedirectInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutput() BucketWebsiteConfigurationV2RoutingRuleRedirectOutput
	ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutputWithContext(context.Context) BucketWebsiteConfigurationV2RoutingRuleRedirectOutput
}

BucketWebsiteConfigurationV2RoutingRuleRedirectInput is an input type that accepts BucketWebsiteConfigurationV2RoutingRuleRedirectArgs and BucketWebsiteConfigurationV2RoutingRuleRedirectOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationV2RoutingRuleRedirectInput` via:

BucketWebsiteConfigurationV2RoutingRuleRedirectArgs{...}

type BucketWebsiteConfigurationV2RoutingRuleRedirectOutput

type BucketWebsiteConfigurationV2RoutingRuleRedirectOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ElementType

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) HostName

Host name to use in the redirect request.

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) HttpRedirectCode

HTTP redirect code to use on the response.

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) Protocol

Protocol to use when redirecting requests. The default is the protocol that is used in the original request. Valid values: `http`, `https`.

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) 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 (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ReplaceKeyWith

Specific object key to use in the redirect request. For example, redirect request to `error.html`.

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutput

func (BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutputWithContext

func (o BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ToBucketWebsiteConfigurationV2RoutingRuleRedirectOutputWithContext(ctx context.Context) BucketWebsiteConfigurationV2RoutingRuleRedirectOutput

type BucketWebsiteConfigurationV2State

type BucketWebsiteConfigurationV2State struct {
	// Name of the bucket.
	Bucket pulumi.StringPtrInput
	// Name of the error document for the website. See below.
	ErrorDocument BucketWebsiteConfigurationV2ErrorDocumentPtrInput
	// Account ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// Name of the index document for the website. See below.
	IndexDocument BucketWebsiteConfigurationV2IndexDocumentPtrInput
	// Redirect behavior for every request to this bucket's website endpoint. See below. Conflicts with `errorDocument`, `indexDocument`, and `routingRule`.
	RedirectAllRequestsTo BucketWebsiteConfigurationV2RedirectAllRequestsToPtrInput
	// 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 BucketWebsiteConfigurationV2RoutingRuleArrayInput
	// Domain of the website endpoint. This is used to create Route 53 alias records.
	WebsiteDomain pulumi.StringPtrInput
	// Website endpoint.
	WebsiteEndpoint pulumi.StringPtrInput
}

func (BucketWebsiteConfigurationV2State) 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

An 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

A 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.AnyOutput

A 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.

The `CORS` object supports the following:

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

An 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

A 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

func (o BucketWebsitePtrOutput) RoutingRules() pulumi.AnyOutput

A 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.

The `CORS` object supports the following:

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 added in v6.12.0

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.BucketV2` resource to manage general purpose buckets.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Data redundancy. Valid values: `SingleAvailabilityZone`.
	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"`
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides an Amazon S3 Express directory bucket resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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
	})
}

```

## 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 added in v6.12.0

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 added in v6.12.0

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 added in v6.12.0

func (*DirectoryBucket) ElementType() reflect.Type

func (*DirectoryBucket) ToDirectoryBucketOutput added in v6.12.0

func (i *DirectoryBucket) ToDirectoryBucketOutput() DirectoryBucketOutput

func (*DirectoryBucket) ToDirectoryBucketOutputWithContext added in v6.12.0

func (i *DirectoryBucket) ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput

type DirectoryBucketArgs added in v6.12.0

type DirectoryBucketArgs struct {
	// Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.BucketV2` resource to manage general purpose buckets.
	Bucket pulumi.StringInput
	// Data redundancy. Valid values: `SingleAvailabilityZone`.
	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
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a DirectoryBucket resource.

func (DirectoryBucketArgs) ElementType added in v6.12.0

func (DirectoryBucketArgs) ElementType() reflect.Type

type DirectoryBucketArray added in v6.12.0

type DirectoryBucketArray []DirectoryBucketInput

func (DirectoryBucketArray) ElementType added in v6.12.0

func (DirectoryBucketArray) ElementType() reflect.Type

func (DirectoryBucketArray) ToDirectoryBucketArrayOutput added in v6.12.0

func (i DirectoryBucketArray) ToDirectoryBucketArrayOutput() DirectoryBucketArrayOutput

func (DirectoryBucketArray) ToDirectoryBucketArrayOutputWithContext added in v6.12.0

func (i DirectoryBucketArray) ToDirectoryBucketArrayOutputWithContext(ctx context.Context) DirectoryBucketArrayOutput

type DirectoryBucketArrayInput added in v6.12.0

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 added in v6.12.0

type DirectoryBucketArrayOutput struct{ *pulumi.OutputState }

func (DirectoryBucketArrayOutput) ElementType added in v6.12.0

func (DirectoryBucketArrayOutput) ElementType() reflect.Type

func (DirectoryBucketArrayOutput) Index added in v6.12.0

func (DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutput added in v6.12.0

func (o DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutput() DirectoryBucketArrayOutput

func (DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutputWithContext added in v6.12.0

func (o DirectoryBucketArrayOutput) ToDirectoryBucketArrayOutputWithContext(ctx context.Context) DirectoryBucketArrayOutput

type DirectoryBucketInput added in v6.12.0

type DirectoryBucketInput interface {
	pulumi.Input

	ToDirectoryBucketOutput() DirectoryBucketOutput
	ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput
}

type DirectoryBucketLocation added in v6.12.0

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 added in v6.12.0

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 added in v6.12.0

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutput added in v6.12.0

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutput() DirectoryBucketLocationOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutputWithContext added in v6.12.0

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationOutputWithContext(ctx context.Context) DirectoryBucketLocationOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutput added in v6.12.0

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutputWithContext added in v6.12.0

func (i DirectoryBucketLocationArgs) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

type DirectoryBucketLocationInput added in v6.12.0

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 added in v6.12.0

type DirectoryBucketLocationOutput struct{ *pulumi.OutputState }

func (DirectoryBucketLocationOutput) ElementType added in v6.12.0

func (DirectoryBucketLocationOutput) Name added in v6.12.0

[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 added in v6.12.0

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutput() DirectoryBucketLocationOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutputWithContext added in v6.12.0

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationOutputWithContext(ctx context.Context) DirectoryBucketLocationOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutput added in v6.12.0

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutputWithContext added in v6.12.0

func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationOutput) Type added in v6.12.0

Location type. Valid values: `AvailabilityZone`, `LocalZone`.

type DirectoryBucketLocationPtrInput added in v6.12.0

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

func DirectoryBucketLocationPtr added in v6.12.0

func DirectoryBucketLocationPtr(v *DirectoryBucketLocationArgs) DirectoryBucketLocationPtrInput

type DirectoryBucketLocationPtrOutput added in v6.12.0

type DirectoryBucketLocationPtrOutput struct{ *pulumi.OutputState }

func (DirectoryBucketLocationPtrOutput) Elem added in v6.12.0

func (DirectoryBucketLocationPtrOutput) ElementType added in v6.12.0

func (DirectoryBucketLocationPtrOutput) Name added in v6.12.0

[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 added in v6.12.0

func (o DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutput() DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutputWithContext added in v6.12.0

func (o DirectoryBucketLocationPtrOutput) ToDirectoryBucketLocationPtrOutputWithContext(ctx context.Context) DirectoryBucketLocationPtrOutput

func (DirectoryBucketLocationPtrOutput) Type added in v6.12.0

Location type. Valid values: `AvailabilityZone`, `LocalZone`.

type DirectoryBucketMap added in v6.12.0

type DirectoryBucketMap map[string]DirectoryBucketInput

func (DirectoryBucketMap) ElementType added in v6.12.0

func (DirectoryBucketMap) ElementType() reflect.Type

func (DirectoryBucketMap) ToDirectoryBucketMapOutput added in v6.12.0

func (i DirectoryBucketMap) ToDirectoryBucketMapOutput() DirectoryBucketMapOutput

func (DirectoryBucketMap) ToDirectoryBucketMapOutputWithContext added in v6.12.0

func (i DirectoryBucketMap) ToDirectoryBucketMapOutputWithContext(ctx context.Context) DirectoryBucketMapOutput

type DirectoryBucketMapInput added in v6.12.0

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 added in v6.12.0

type DirectoryBucketMapOutput struct{ *pulumi.OutputState }

func (DirectoryBucketMapOutput) ElementType added in v6.12.0

func (DirectoryBucketMapOutput) ElementType() reflect.Type

func (DirectoryBucketMapOutput) MapIndex added in v6.12.0

func (DirectoryBucketMapOutput) ToDirectoryBucketMapOutput added in v6.12.0

func (o DirectoryBucketMapOutput) ToDirectoryBucketMapOutput() DirectoryBucketMapOutput

func (DirectoryBucketMapOutput) ToDirectoryBucketMapOutputWithContext added in v6.12.0

func (o DirectoryBucketMapOutput) ToDirectoryBucketMapOutputWithContext(ctx context.Context) DirectoryBucketMapOutput

type DirectoryBucketOutput added in v6.12.0

type DirectoryBucketOutput struct{ *pulumi.OutputState }

func (DirectoryBucketOutput) Arn added in v6.12.0

ARN of the bucket.

func (DirectoryBucketOutput) Bucket added in v6.12.0

Name of the bucket. The name must be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.BucketV2` resource to manage general purpose buckets.

func (DirectoryBucketOutput) DataRedundancy added in v6.12.0

func (o DirectoryBucketOutput) DataRedundancy() pulumi.StringOutput

Data redundancy. Valid values: `SingleAvailabilityZone`.

func (DirectoryBucketOutput) ElementType added in v6.12.0

func (DirectoryBucketOutput) ElementType() reflect.Type

func (DirectoryBucketOutput) ForceDestroy added in v6.12.0

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 added in v6.12.0

Bucket location. See Location below for more details.

func (DirectoryBucketOutput) ToDirectoryBucketOutput added in v6.12.0

func (o DirectoryBucketOutput) ToDirectoryBucketOutput() DirectoryBucketOutput

func (DirectoryBucketOutput) ToDirectoryBucketOutputWithContext added in v6.12.0

func (o DirectoryBucketOutput) ToDirectoryBucketOutputWithContext(ctx context.Context) DirectoryBucketOutput

func (DirectoryBucketOutput) Type added in v6.12.0

Bucket type. Valid values: `Directory`.

type DirectoryBucketState added in v6.12.0

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.BucketV2` resource to manage general purpose buckets.
	Bucket pulumi.StringPtrInput
	// Data redundancy. Valid values: `SingleAvailabilityZone`.
	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
	// Bucket type. Valid values: `Directory`.
	Type pulumi.StringPtrInput
}

func (DirectoryBucketState) ElementType added in v6.12.0

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: 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"`
	// 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: 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"`
	// 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: 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"`
	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: 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) 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/v6/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 added in v6.6.1

type GetCanonicalUserIdResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCanonicalUserId.

func GetCanonicalUserIdOutput added in v6.6.1

func GetCanonicalUserIdOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetCanonicalUserIdResultOutput

func (GetCanonicalUserIdResultOutput) DisplayName added in v6.6.1

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 added in v6.6.1

func (GetCanonicalUserIdResultOutput) Id added in v6.6.1

The provider-assigned unique ID for this managed resource.

func (GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutput added in v6.6.1

func (o GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutput() GetCanonicalUserIdResultOutput

func (GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutputWithContext added in v6.6.1

func (o GetCanonicalUserIdResultOutput) ToGetCanonicalUserIdResultOutputWithContext(ctx context.Context) GetCanonicalUserIdResultOutput

type GetDirectoryBucketsResult added in v6.12.0

type GetDirectoryBucketsResult struct {
	// Bucket ARNs.
	Arns []string `pulumi:"arns"`
	// Buckets names.
	Buckets []string `pulumi:"buckets"`
	Id      string   `pulumi:"id"`
}

A collection of values returned by getDirectoryBuckets.

func GetDirectoryBuckets added in v6.12.0

func GetDirectoryBuckets(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetDirectoryBucketsResult, error)

Lists Amazon S3 Express directory buckets.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.GetDirectoryBuckets(ctx, map[string]interface{}{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDirectoryBucketsResultOutput added in v6.12.0

type GetDirectoryBucketsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDirectoryBuckets.

func GetDirectoryBucketsOutput added in v6.12.0

func GetDirectoryBucketsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetDirectoryBucketsResultOutput

func (GetDirectoryBucketsResultOutput) Arns added in v6.12.0

Bucket ARNs.

func (GetDirectoryBucketsResultOutput) Buckets added in v6.12.0

Buckets names.

func (GetDirectoryBucketsResultOutput) ElementType added in v6.12.0

func (GetDirectoryBucketsResultOutput) Id added in v6.12.0

func (GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutput added in v6.12.0

func (o GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutput() GetDirectoryBucketsResultOutput

func (GetDirectoryBucketsResultOutput) ToGetDirectoryBucketsResultOutputWithContext added in v6.12.0

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"`
	// 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"`
	// 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"`
	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"`
	// 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`

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/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v6/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 added in v6.27.0

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 added in v6.3.0

func (o GetObjectResultOutput) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (GetObjectResultOutput) ChecksumCrc32c added in v6.3.0

func (o GetObjectResultOutput) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (GetObjectResultOutput) ChecksumMode added in v6.3.0

func (o GetObjectResultOutput) ChecksumMode() pulumi.StringPtrOutput

func (GetObjectResultOutput) ChecksumSha1 added in v6.3.0

func (o GetObjectResultOutput) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (GetObjectResultOutput) ChecksumSha256 added in v6.3.0

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) 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"`
	// 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"`
	// 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"`
	// 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) RequestCharged added in v6.1.0

func (o GetObjectsResultOutput) RequestCharged() pulumi.StringOutput

If present, indicates that the requester was successfully charged for the request.

func (GetObjectsResultOutput) RequestPayer added in v6.1.0

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"`
	// 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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := s3.NewBucketV2(ctx, "test", &s3.BucketV2Args{
			Bucket: pulumi.String("my-tf-test-bucket"),
		})
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucketV2(ctx, "inventory", &s3.BucketV2Args{
			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/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := s3.NewBucketV2(ctx, "test", &s3.BucketV2Args{
			Bucket: pulumi.String("my-tf-test-bucket"),
		})
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucketV2(ctx, "inventory", &s3.BucketV2Args{
			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
	// 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) 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
	// 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/v6/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"`
}

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: 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"`
	// 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: 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"`
	// 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: 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"`
	// 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/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v6/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 added in v6.27.0

func (LookupBucketObjectResultOutput) Body

Object data (see **limitations above** to understand cases in which this field is actually available)

func (LookupBucketObjectResultOutput) Bucket deprecated

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) 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"`
}

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"`
}

A collection of arguments for invoking getBucketPolicy.

type LookupBucketPolicyOutputArgs

type LookupBucketPolicyOutputArgs struct {
	// Bucket name.
	Bucket pulumi.StringInput `pulumi:"bucket"`
}

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"`
}

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/v6/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) 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"`
	// 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"`
	// AWS region this bucket resides in.
	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/v6/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v6/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/v6/go/aws/cloudfront"
"github.com/pulumi/pulumi-aws/sdk/v6/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) 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

AWS region this bucket resides in.

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`, `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, 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"`
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/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
	})
}

```

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`, `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
	// 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 added in v6.27.0

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 added in v6.3.0

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`, `SHA1`, `SHA256`.

func (ObjectCopyOutput) ChecksumCrc32 added in v6.3.0

func (o ObjectCopyOutput) ChecksumCrc32() pulumi.StringOutput

The base64-encoded, 32-bit CRC32 checksum of the object.

func (ObjectCopyOutput) ChecksumCrc32c added in v6.3.0

func (o ObjectCopyOutput) ChecksumCrc32c() pulumi.StringOutput

The base64-encoded, 32-bit CRC32C checksum of the object.

func (ObjectCopyOutput) ChecksumSha1 added in v6.3.0

func (o ObjectCopyOutput) ChecksumSha1() pulumi.StringOutput

The base64-encoded, 160-bit SHA-1 digest of the object.

func (ObjectCopyOutput) ChecksumSha256 added in v6.3.0

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) 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 deprecated

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

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 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`, `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, 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
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL