s3

package
v4.38.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 7 Imported by: 28

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"`
	// The alias of the S3 Access Point.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// Amazon Resource Name (ARN) of the S3 Access Point.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of an AWS Partition S3 Bucket or the Amazon Resource Name (ARN) of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The 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"`
	// The 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.
	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.

## Example Usage ### AWS Partition Bucket

```go package main

import (

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

)

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

``` ### S3 on Outposts Bucket

```go package main

import (

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

)

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

```

## Import

For Access Points associated with an AWS Partition S3 Bucket, this resource can be imported using the `account_id` and `name` separated by a colon (`:`), e.g.,

```sh

$ pulumi import aws:s3/accessPoint:AccessPoint example 123456789012:example

```

For Access Points associated with an S3 on Outposts Bucket, this resource can be imported using the Amazon Resource Name (ARN), e.g.,

```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 Bucket or the Amazon Resource Name (ARN) of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringInput
	// Name you want to assign to this access point.
	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) ElementType

func (AccessPointOutput) ElementType() reflect.Type

func (AccessPointOutput) ToAccessPointOutput

func (o AccessPointOutput) ToAccessPointOutput() AccessPointOutput

func (AccessPointOutput) ToAccessPointOutputWithContext

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

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
	// The alias of the S3 Access Point.
	Alias pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the S3 Access Point.
	Arn pulumi.StringPtrInput
	// Name of an AWS Partition S3 Bucket or the Amazon Resource Name (ARN) of S3 on Outposts Bucket that you want to associate this access point with.
	Bucket pulumi.StringPtrInput
	// The 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
	// The 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.
	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/v4/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

`aws_s3_account_public_access_block` can be imported by using the AWS account ID, e.g.,

```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) ElementType

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

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

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", nil)
		if err != nil {
			return err
		}
		analytics, err := s3.NewBucket(ctx, "analytics", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewAnalyticsConfiguration(ctx, "example-entire-bucket", &s3.AnalyticsConfigurationArgs{
			Bucket: example.Bucket,
			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 bucket object filter

```go package main

import (

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

)

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

S3 bucket analytics configurations can be imported using `bucket:analytics`, e.g.,

```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 {
	// The 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) ElementType

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutputWithContext

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

type AnalyticsConfigurationState

type AnalyticsConfigurationState struct {
	// The 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"`
	// The 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"`
	// The 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 {
	// The account ID that owns the destination bucket.
	BucketAccountId *string `pulumi:"bucketAccountId"`
	// The ARN of the destination bucket.
	BucketArn string `pulumi:"bucketArn"`
	// The output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.
	Format *string `pulumi:"format"`
	// Object prefix for filtering.
	Prefix *string `pulumi:"prefix"`
}

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs

type AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs struct {
	// The account ID that owns the destination bucket.
	BucketAccountId pulumi.StringPtrInput `pulumi:"bucketAccountId"`
	// The ARN of the destination bucket.
	BucketArn pulumi.StringInput `pulumi:"bucketArn"`
	// The output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.
	Format pulumi.StringPtrInput `pulumi:"format"`
	// Object prefix for filtering.
	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

The account ID that owns the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) BucketArn

The ARN of the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) Format

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

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput) Prefix

Object prefix for filtering.

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

The account ID that owns the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) BucketArn

The ARN of the destination bucket.

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) ElementType

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) Format

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

func (AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput) Prefix

Object prefix for filtering.

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

The 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

The 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)
	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), the provider may view the policy as constantly changing in a `pulumi up / preview / update`. 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 BucketServerSideEncryptionConfigurationPtrOutput `pulumi:"serverSideEncryptionConfiguration"`
	// A mapping of tags to assign to the bucket.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	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.

> This functionality is for managing S3 in an AWS Partition. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), see the `s3control.Bucket` resource.

## Example Usage ### Private Bucket w/ Tags

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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{
			Acl: pulumi.String("private"),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Dev"),
				"Name":        pulumi.String("My bucket"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Static Website Hosting

```go package main

import (

"fmt"
"io/ioutil"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Acl:    pulumi.String("public-read"),
			Policy: readFileOrPanic("policy.json"),
			Website: &s3.BucketWebsiteArgs{
				IndexDocument: pulumi.String("index.html"),
				ErrorDocument: pulumi.String("error.html"),
				RoutingRules:  pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v", "[{\n", "    \"Condition\": {\n", "        \"KeyPrefixEquals\": \"docs/\"\n", "    },\n", "    \"Redirect\": {\n", "        \"ReplaceKeyPrefixWith\": \"documents/\"\n", "    }\n", "}]\n")),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Using CORS

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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{
			Acl: pulumi.String("public-read"),
			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/v4/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{
			Acl: pulumi.String("private"),
			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/v4/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, "logBucket", &s3.BucketArgs{
			Acl: pulumi.String("log-delivery-write"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
			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/v4/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{
			Acl: pulumi.String("private"),
			LifecycleRules: s3.BucketLifecycleRuleArray{
				&s3.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					Expiration: &s3.BucketLifecycleRuleExpirationArgs{
						Days: pulumi.Int(90),
					},
					Id:     pulumi.String("log"),
					Prefix: pulumi.String("log/"),
					Tags: pulumi.StringMap{
						"autoclean": pulumi.String("true"),
						"rule":      pulumi.String("log"),
					},
					Transitions: s3.BucketLifecycleRuleTransitionArray{
						&s3.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
				},
				&s3.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					Expiration: &s3.BucketLifecycleRuleExpirationArgs{
						Date: pulumi.String("2016-01-12"),
					},
					Id:     pulumi.String("tmp"),
					Prefix: pulumi.String("tmp/"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "versioningBucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
			LifecycleRules: s3.BucketLifecycleRuleArray{
				&s3.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					NoncurrentVersionExpiration: &s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{
						Days: pulumi.Int(90),
					},
					NoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{
						&s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{
							Days:         pulumi.Int(30),
							StorageClass: pulumi.String("STANDARD_IA"),
						},
						&s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{
							Days:         pulumi.Int(60),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
					Prefix: pulumi.String("config/"),
				},
			},
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		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/v4/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/providers"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "central", &providers.awsArgs{
			Region: "eu-central-1",
		})
		if err != nil {
			return err
		}
		replicationRole, err := iam.NewRole(ctx, "replicationRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"s3.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		destination, err := s3.NewBucket(ctx, "destination", &s3.BucketArgs{
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		source, err := s3.NewBucket(ctx, "source", &s3.BucketArgs{
			Acl: pulumi.String("private"),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
			ReplicationConfiguration: &s3.BucketReplicationConfigurationArgs{
				Role: replicationRole.Arn,
				Rules: s3.BucketReplicationConfigurationRuleArray{
					&s3.BucketReplicationConfigurationRuleArgs{
						Id:     pulumi.String("foobar"),
						Status: pulumi.String("Enabled"),
						Filter: &s3.BucketReplicationConfigurationRuleFilterArgs{
							Tags: nil,
						},
						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),
							},
						},
					},
				},
			},
		}, pulumi.Provider(aws.Central))
		if err != nil {
			return err
		}
		replicationPolicy, err := iam.NewPolicy(ctx, "replicationPolicy", &iam.PolicyArgs{
			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("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetReplicationConfiguration\",\n", "        \"s3:ListBucket\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", sourceArn, "\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetObjectVersionForReplication\",\n", "        \"s3:GetObjectVersionAcl\",\n", "         \"s3:GetObjectVersionTagging\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", sourceArn1, "/*\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:ReplicateObject\",\n", "        \"s3:ReplicateDelete\",\n", "        \"s3:ReplicateTags\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": \"", destinationArn, "/*\"\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "replicationRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			Role:      replicationRole.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/v4/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v4/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{
			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/v4/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, nil, nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			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 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)
	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), the provider may view the policy as constantly changing in a `pulumi up / preview / update`. 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 mapping of tags to assign to the bucket.
	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 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 added in v4.28.0

type BucketIntelligentTieringConfiguration struct {
	pulumi.CustomResourceState

	// The name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// A bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrOutput `pulumi:"filter"`
	// The 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"`
	// The 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.

## Example Usage ### Add intelligent tiering configuration for entire S3 bucket

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, "example-entire-bucket", &s3.BucketIntelligentTieringConfigurationArgs{
			Bucket: example.Bucket,
			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 bucket object filter

```go package main

import (

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

)

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

S3 bucket intelligent tiering configurations can be imported using `bucket:name`, e.g.

```sh

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

```

func GetBucketIntelligentTieringConfiguration added in v4.28.0

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 added in v4.28.0

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 added in v4.28.0

func (*BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutput added in v4.28.0

func (i *BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutput() BucketIntelligentTieringConfigurationOutput

func (*BucketIntelligentTieringConfiguration) ToBucketIntelligentTieringConfigurationOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationArgs added in v4.28.0

type BucketIntelligentTieringConfigurationArgs struct {
	// The name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringInput
	// A bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrInput
	// The 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
	// The 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 added in v4.28.0

type BucketIntelligentTieringConfigurationArray added in v4.28.0

type BucketIntelligentTieringConfigurationArray []BucketIntelligentTieringConfigurationInput

func (BucketIntelligentTieringConfigurationArray) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutput() BucketIntelligentTieringConfigurationArrayOutput

func (BucketIntelligentTieringConfigurationArray) ToBucketIntelligentTieringConfigurationArrayOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationArrayInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationArrayOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationArrayOutput) Index added in v4.28.0

func (BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutput() BucketIntelligentTieringConfigurationArrayOutput

func (BucketIntelligentTieringConfigurationArrayOutput) ToBucketIntelligentTieringConfigurationArrayOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationFilter added in v4.28.0

type BucketIntelligentTieringConfigurationFilter struct {
	// An 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 added in v4.28.0

type BucketIntelligentTieringConfigurationFilterArgs struct {
	// An 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 added in v4.28.0

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutput() BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterOutputWithContext added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutput() BucketIntelligentTieringConfigurationFilterPtrOutput

func (BucketIntelligentTieringConfigurationFilterArgs) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationFilterInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationFilterOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationFilterOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationFilterOutput) Prefix added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterOutput) Tags added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutput() BucketIntelligentTieringConfigurationFilterOutput

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterOutputWithContext added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput() BucketIntelligentTieringConfigurationFilterPtrOutput

func (BucketIntelligentTieringConfigurationFilterOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationFilterPtrInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Elem added in v4.28.0

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Prefix added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterPtrOutput) Tags added in v4.28.0

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

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutput added in v4.28.0

func (BucketIntelligentTieringConfigurationFilterPtrOutput) ToBucketIntelligentTieringConfigurationFilterPtrOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationInput added in v4.28.0

type BucketIntelligentTieringConfigurationInput interface {
	pulumi.Input

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

type BucketIntelligentTieringConfigurationMap added in v4.28.0

type BucketIntelligentTieringConfigurationMap map[string]BucketIntelligentTieringConfigurationInput

func (BucketIntelligentTieringConfigurationMap) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutput() BucketIntelligentTieringConfigurationMapOutput

func (BucketIntelligentTieringConfigurationMap) ToBucketIntelligentTieringConfigurationMapOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationMapInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationMapOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationMapOutput) MapIndex added in v4.28.0

func (BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutput() BucketIntelligentTieringConfigurationMapOutput

func (BucketIntelligentTieringConfigurationMapOutput) ToBucketIntelligentTieringConfigurationMapOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationOutput added in v4.28.0

type BucketIntelligentTieringConfigurationOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutput() BucketIntelligentTieringConfigurationOutput

func (BucketIntelligentTieringConfigurationOutput) ToBucketIntelligentTieringConfigurationOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationState added in v4.28.0

type BucketIntelligentTieringConfigurationState struct {
	// The name of the bucket this intelligent tiering configuration is associated with.
	Bucket pulumi.StringPtrInput
	// A bucket filter. The configuration only includes objects that meet the filter's criteria (documented below).
	Filter BucketIntelligentTieringConfigurationFilterPtrInput
	// The 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
	// The S3 Intelligent-Tiering storage class tiers of the configuration (documented below).
	Tierings BucketIntelligentTieringConfigurationTieringArrayInput
}

func (BucketIntelligentTieringConfigurationState) ElementType added in v4.28.0

type BucketIntelligentTieringConfigurationTiering added in v4.28.0

type BucketIntelligentTieringConfigurationTiering struct {
	// S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_CONFIGURATION`, `DEEP_ARCHIVE_CONFIGURATION`.
	AccessTier string `pulumi:"accessTier"`
	// The 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 added in v4.28.0

type BucketIntelligentTieringConfigurationTieringArgs struct {
	// S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_CONFIGURATION`, `DEEP_ARCHIVE_CONFIGURATION`.
	AccessTier pulumi.StringInput `pulumi:"accessTier"`
	// The 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 added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutput() BucketIntelligentTieringConfigurationTieringOutput

func (BucketIntelligentTieringConfigurationTieringArgs) ToBucketIntelligentTieringConfigurationTieringOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationTieringArray added in v4.28.0

type BucketIntelligentTieringConfigurationTieringArray []BucketIntelligentTieringConfigurationTieringInput

func (BucketIntelligentTieringConfigurationTieringArray) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutput added in v4.28.0

func (i BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutput() BucketIntelligentTieringConfigurationTieringArrayOutput

func (BucketIntelligentTieringConfigurationTieringArray) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationTieringArrayInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationTieringArrayOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringArrayOutput) Index added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ToBucketIntelligentTieringConfigurationTieringArrayOutput added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringArrayOutput) ToBucketIntelligentTieringConfigurationTieringArrayOutputWithContext added in v4.28.0

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

type BucketIntelligentTieringConfigurationTieringInput added in v4.28.0

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 added in v4.28.0

type BucketIntelligentTieringConfigurationTieringOutput struct{ *pulumi.OutputState }

func (BucketIntelligentTieringConfigurationTieringOutput) AccessTier added in v4.28.0

S3 Intelligent-Tiering access tier. Valid values: `ARCHIVE_CONFIGURATION`, `DEEP_ARCHIVE_CONFIGURATION`.

func (BucketIntelligentTieringConfigurationTieringOutput) Days added in v4.28.0

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

func (BucketIntelligentTieringConfigurationTieringOutput) ElementType added in v4.28.0

func (BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutput added in v4.28.0

func (o BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutput() BucketIntelligentTieringConfigurationTieringOutput

func (BucketIntelligentTieringConfigurationTieringOutput) ToBucketIntelligentTieringConfigurationTieringOutputWithContext added in v4.28.0

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

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

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

	// The 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.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a S3 bucket [metrics configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html) resource.

## Example Usage ### Add metrics configuration for entire S3 bucket

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketMetric(ctx, "example-entire-bucket", &s3.BucketMetricArgs{
			Bucket: example.Bucket,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Add metrics configuration with S3 bucket object filter

```go package main

import (

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

)

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

```

## Import

S3 bucket metric configurations can be imported using `bucket:metric`, e.g.,

```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 {
	// The 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.
	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 {
	// 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 {
	// 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) 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) 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) ElementType

func (BucketMetricOutput) ElementType() reflect.Type

func (BucketMetricOutput) ToBucketMetricOutput

func (o BucketMetricOutput) ToBucketMetricOutput() BucketMetricOutput

func (BucketMetricOutput) ToBucketMetricOutputWithContext

func (o BucketMetricOutput) ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput

type BucketMetricState

type BucketMetricState struct {
	// The 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.
	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.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Whether to enable Amazon EventBridge notifications.
	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. Declaring multiple `s3.BucketNotification` resources to the same S3 Bucket will cause a perpetual difference in configuration. See the example "Trigger multiple Lambda functions" for an option.

## Example Usage ### Add notification configuration to SNS Topic

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		topic, err := sns.NewTopic(ctx, "topic", &sns.TopicArgs{
			Policy: bucket.Arn.ApplyT(func(arn string) (string, error) {
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "    \"Version\":\"2012-10-17\",\n", "    \"Statement\":[{\n", "        \"Effect\": \"Allow\",\n", "        \"Principal\": { \"Service\": \"s3.amazonaws.com\" },\n", "        \"Action\": \"SNS:Publish\",\n", "        \"Resource\": \"arn:aws:sns:*:*:s3-event-notification-topic\",\n", "        \"Condition\":{\n", "            \"ArnLike\":{\"aws:SourceArn\":\"", arn, "\"}\n", "        }\n", "    }]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucketNotification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Topics: s3.BucketNotificationTopicArray{
				&s3.BucketNotificationTopicArgs{
					TopicArn: topic.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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		queue, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{
			Policy: bucket.Arn.ApplyT(func(arn string) (string, error) {
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": \"*\",\n", "      \"Action\": \"sqs:SendMessage\",\n", "	  \"Resource\": \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n", "      \"Condition\": {\n", "        \"ArnEquals\": { \"aws:SourceArn\": \"", arn, "\" }\n", "      }\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucketNotification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Queues: s3.BucketNotificationQueueArray{
				&s3.BucketNotificationQueueArgs{
					QueueArn: queue.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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		iamForLambda, err := iam.NewRole(ctx, "iamForLambda", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"lambda.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = lambda.NewFunction(ctx, "func", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("your-function.zip"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
			Runtime: pulumi.String("go1.x"),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		allowBucket, err := lambda.NewPermission(ctx, "allowBucket", &lambda.PermissionArgs{
			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, "bucketNotification", &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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		iamForLambda, err := iam.NewRole(ctx, "iamForLambda", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"lambda.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		func1, err := lambda.NewFunction(ctx, "func1", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("your-function1.zip"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
			Runtime: pulumi.String("go1.x"),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		allowBucket1, err := lambda.NewPermission(ctx, "allowBucket1", &lambda.PermissionArgs{
			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"),
			Role:    iamForLambda.Arn,
			Handler: pulumi.String("exports.example"),
		})
		if err != nil {
			return err
		}
		allowBucket2, err := lambda.NewPermission(ctx, "allowBucket2", &lambda.PermissionArgs{
			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, "bucketNotification", &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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		queue, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{
			Policy: bucket.Arn.ApplyT(func(arn string) (string, error) {
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": \"*\",\n", "      \"Action\": \"sqs:SendMessage\",\n", "	  \"Resource\": \"arn:aws:sqs:*:*:s3-event-notification-queue\",\n", "      \"Condition\": {\n", "        \"ArnEquals\": { \"aws:SourceArn\": \"", arn, "\" }\n", "      }\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketNotification(ctx, "bucketNotification", &s3.BucketNotificationArgs{
			Bucket: bucket.ID(),
			Queues: s3.BucketNotificationQueueArray{
				&s3.BucketNotificationQueueArgs{
					Id:       pulumi.String("image-upload-event"),
					QueueArn: queue.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("images/"),
				},
				&s3.BucketNotificationQueueArgs{
					Id:       pulumi.String("video-upload-event"),
					QueueArn: queue.Arn,
					Events: pulumi.StringArray{
						pulumi.String("s3:ObjectCreated:*"),
					},
					FilterPrefix: pulumi.String("videos/"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```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.
	Bucket pulumi.StringInput
	// Whether to enable Amazon EventBridge notifications.
	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) ElementType

func (BucketNotificationOutput) ElementType() reflect.Type

func (BucketNotificationOutput) ToBucketNotificationOutput

func (o BucketNotificationOutput) ToBucketNotificationOutput() BucketNotificationOutput

func (BucketNotificationOutput) ToBucketNotificationOutputWithContext

func (o BucketNotificationOutput) ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput

type BucketNotificationQueue

type BucketNotificationQueue 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"`
	// SQS queue ARN.
	QueueArn string `pulumi:"queueArn"`
}

type BucketNotificationQueueArgs

type BucketNotificationQueueArgs 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"`
	// 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.
	Bucket pulumi.StringPtrInput
	// Whether to enable Amazon EventBridge notifications.
	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"`
	// 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. The only meaningful value is `filemd5("path/to/file")`. 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.
	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. This 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. Set using `filemd5("path/to/source")`. (The value is only stored in state and not saved by AWS.)
	SourceHash pulumi.StringPtrOutput `pulumi:"sourceHash"`
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect pulumi.StringPtrOutput `pulumi:"websiteRedirect"`
}

Provides a S3 bucket object resource.

## Example Usage ### Encrypting with KMS Key

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplekms, err := kms.NewKey(ctx, "examplekms", &kms.KeyArgs{
			Description:          pulumi.String("KMS key 1"),
			DeletionWindowInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "examplebucketObject", &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/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "examplebucketObject", &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/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "examplebucketObject", &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/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplebucket, err := s3.NewBucket(ctx, "examplebucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
			ObjectLockConfiguration: &s3.BucketObjectLockConfigurationArgs{
				ObjectLockEnabled: pulumi.String("Enabled"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketObject(ctx, "examplebucketObject", &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),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Objects can be imported using the `id`. The `id` is the bucket name and the key together e.g.,

```sh

$ pulumi import aws:s3/bucketObject:BucketObject object some-bucket-name/some/key.txt

```

Additionally, s3 url syntax can be used, e.g.,

```sh

$ pulumi import aws:s3/bucketObject:BucketObject object 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. The only meaningful value is `filemd5("path/to/file")`. 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.
	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. This 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. Set using `filemd5("path/to/source")`. (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).
	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.
	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.
	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.

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.

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

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) ToBucketObjectOutput

func (o BucketObjectOutput) ToBucketObjectOutput() BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectOutputWithContext

func (o BucketObjectOutput) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

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
	// 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. The only meaningful value is `filemd5("path/to/file")`. 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.
	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. This 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. Set using `filemd5("path/to/source")`. (The value is only stored in state and not saved by AWS.)
	SourceHash pulumi.StringPtrInput
	// [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Unique version ID value for the object, if bucket versioning is enabled.
	VersionId pulumi.StringPtrInput
	// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect pulumi.StringPtrInput
}

func (BucketObjectState) ElementType

func (BucketObjectState) ElementType() reflect.Type

type BucketOutput

type BucketOutput struct{ *pulumi.OutputState }

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

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

type BucketOwnershipControls

type BucketOwnershipControls struct {
	pulumi.CustomResourceState

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucket, err := s3.NewBucket(ctx, "exampleBucket", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketOwnershipControls(ctx, "exampleBucketOwnershipControls", &s3.BucketOwnershipControlsArgs{
			Bucket: exampleBucket.ID(),
			Rule: &s3.BucketOwnershipControlsRuleArgs{
				ObjectOwnership: pulumi.String("BucketOwnerPreferred"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

S3 Bucket Ownership Controls can be imported using S3 Bucket name, e.g.,

```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 {
	// The 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) ElementType

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`
	ObjectOwnership string `pulumi:"objectOwnership"`
}

type BucketOwnershipControlsRuleArgs

type BucketOwnershipControlsRuleArgs struct {
	// Object ownership. Valid values: `BucketOwnerPreferred`, `ObjectWriter` or `BucketOwnerEnforced`
	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`

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`

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput

func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext

func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsState

type BucketOwnershipControlsState struct {
	// The 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

	// The name of the bucket to which to apply the policy.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The 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. Note: Bucket policies are limited to 20 KB in size.
	Policy pulumi.StringOutput `pulumi:"policy"`
}

Attaches a policy to an S3 bucket resource.

## Example Usage ### Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := s3.NewBucket(ctx, "example", nil)
		if err != nil {
			return err
		}
		allowAccessFromAnotherAccountPolicyDocument := 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%v", arn, "/*"), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		_, err = s3.NewBucketPolicy(ctx, "allowAccessFromAnotherAccountBucketPolicy", &s3.BucketPolicyArgs{
			Bucket: example.ID(),
			Policy: allowAccessFromAnotherAccountPolicyDocument.ApplyT(func(allowAccessFromAnotherAccountPolicyDocument iam.GetPolicyDocumentResult) (string, error) {
				return allowAccessFromAnotherAccountPolicyDocument.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

S3 bucket policies can be imported using the bucket name, e.g.,

```sh

$ pulumi import aws:s3/bucketPolicy:BucketPolicy example my-bucket-name

```

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 {
	// The name of the bucket to which to apply the policy.
	Bucket pulumi.StringInput
	// The 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. 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) ElementType

func (BucketPolicyOutput) ElementType() reflect.Type

func (BucketPolicyOutput) ToBucketPolicyOutput

func (o BucketPolicyOutput) ToBucketPolicyOutput() BucketPolicyOutput

func (BucketPolicyOutput) ToBucketPolicyOutputWithContext

func (o BucketPolicyOutput) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

type BucketPolicyState

type BucketPolicyState struct {
	// The name of the bucket to which to apply the policy.
	Bucket pulumi.StringPtrInput
	// The 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. 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).

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucket, err := s3.NewBucket(ctx, "exampleBucket", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketPublicAccessBlock(ctx, "exampleBucketPublicAccessBlock", &s3.BucketPublicAccessBlockArgs{
			Bucket:            exampleBucket.ID(),
			BlockPublicAcls:   pulumi.Bool(true),
			BlockPublicPolicy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_s3_bucket_public_access_block` can be imported by using the bucket name, e.g.,

```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) ElementType

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 added in v4.29.0

type BucketReplicationConfig struct {
	pulumi.CustomResourceState

	// The name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringOutput `pulumi:"role"`
	// Set of configuration blocks describing the rules managing the replication documented below.
	Rules BucketReplicationConfigRuleArrayOutput `pulumi:"rules"`
}

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

## Example Usage ### Using replication configuration

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "central", &providers.awsArgs{
			Region: "eu-central-1",
		})
		if err != nil {
			return err
		}
		replicationRole, err := iam.NewRole(ctx, "replicationRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"s3.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		destination, err := s3.NewBucket(ctx, "destination", &s3.BucketArgs{
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		source, err := s3.NewBucket(ctx, "source", &s3.BucketArgs{
			Acl: pulumi.String("private"),
			Versioning: &s3.BucketVersioningArgs{
				Enabled: pulumi.Bool(true),
			},
		}, pulumi.Provider(aws.Central))
		if err != nil {
			return err
		}
		replicationPolicy, err := iam.NewPolicy(ctx, "replicationPolicy", &iam.PolicyArgs{
			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("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetReplicationConfiguration\",\n", "        \"s3:ListBucket\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", sourceArn, "\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetObjectVersionForReplication\",\n", "        \"s3:GetObjectVersionAcl\",\n", "         \"s3:GetObjectVersionTagging\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", sourceArn1, "/*\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:ReplicateObject\",\n", "        \"s3:ReplicateDelete\",\n", "        \"s3:ReplicateTags\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": \"", destinationArn, "/*\"\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "replicationRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			Role:      replicationRole.Name,
			PolicyArn: replicationPolicy.Arn,
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketReplicationConfig(ctx, "replicationBucketReplicationConfig", &s3.BucketReplicationConfigArgs{
			Role:   replicationRole.Arn,
			Bucket: source.ID(),
			Rules: s3.BucketReplicationConfigRuleArray{
				&s3.BucketReplicationConfigRuleArgs{
					Id:     pulumi.String("foobar"),
					Prefix: pulumi.String("foo"),
					Status: pulumi.String("Enabled"),
					Destination: &s3.BucketReplicationConfigRuleDestinationArgs{
						Bucket:       destination.Arn,
						StorageClass: pulumi.String("STANDARD"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Usage Notes

> **NOTE:** To avoid conflicts always add the following lifecycle object to the `s3.Bucket` resource of the source bucket.

This resource implements the same features that are provided by the `replicationConfiguration` object of the `s3.Bucket` resource. To avoid conflicts or unexpected apply results, a lifecycle configuration is needed on the `s3.Bucket` to ignore changes to the internal `replicationConfiguration` object. Failure to add the `lifecycle` configuration to the `s3.Bucket` will result in conflicting state results.

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

```

The `s3.BucketReplicationConfig` resource provides the following features that are not available in the `s3.Bucket` resource:

* `replicaModifications` - Added to the `sourceSelectionCriteria` configuration object documented below * `metrics` - Added to the `destination` configuration object documented below * `replicationTime` - Added to the `destination` configuration object documented below * `existingObjectReplication` - Added to the replication rule object documented below

Replication for existing objects requires activation by AWS Support. See userguide/replication-what-is-isnot-replicated(https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-what-is-isnot-replicated.html#existing-object-replication).

## Import

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

```sh

$ pulumi import aws:s3/bucketReplicationConfig:BucketReplicationConfig replication bucket-name

```

func GetBucketReplicationConfig added in v4.29.0

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 added in v4.29.0

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 added in v4.29.0

func (*BucketReplicationConfig) ElementType() reflect.Type

func (*BucketReplicationConfig) ToBucketReplicationConfigOutput added in v4.29.0

func (i *BucketReplicationConfig) ToBucketReplicationConfigOutput() BucketReplicationConfigOutput

func (*BucketReplicationConfig) ToBucketReplicationConfigOutputWithContext added in v4.29.0

func (i *BucketReplicationConfig) ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput

type BucketReplicationConfigArgs added in v4.29.0

type BucketReplicationConfigArgs struct {
	// The name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringInput
	// The ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringInput
	// Set of configuration blocks describing the rules managing the replication documented below.
	Rules BucketReplicationConfigRuleArrayInput
}

The set of arguments for constructing a BucketReplicationConfig resource.

func (BucketReplicationConfigArgs) ElementType added in v4.29.0

type BucketReplicationConfigArray added in v4.29.0

type BucketReplicationConfigArray []BucketReplicationConfigInput

func (BucketReplicationConfigArray) ElementType added in v4.29.0

func (BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutput added in v4.29.0

func (i BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutput() BucketReplicationConfigArrayOutput

func (BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutputWithContext added in v4.29.0

func (i BucketReplicationConfigArray) ToBucketReplicationConfigArrayOutputWithContext(ctx context.Context) BucketReplicationConfigArrayOutput

type BucketReplicationConfigArrayInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigArrayOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigArrayOutput) ElementType added in v4.29.0

func (BucketReplicationConfigArrayOutput) Index added in v4.29.0

func (BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutput added in v4.29.0

func (o BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutput() BucketReplicationConfigArrayOutput

func (BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutputWithContext added in v4.29.0

func (o BucketReplicationConfigArrayOutput) ToBucketReplicationConfigArrayOutputWithContext(ctx context.Context) BucketReplicationConfigArrayOutput

type BucketReplicationConfigInput added in v4.29.0

type BucketReplicationConfigInput interface {
	pulumi.Input

	ToBucketReplicationConfigOutput() BucketReplicationConfigOutput
	ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput
}

type BucketReplicationConfigMap added in v4.29.0

type BucketReplicationConfigMap map[string]BucketReplicationConfigInput

func (BucketReplicationConfigMap) ElementType added in v4.29.0

func (BucketReplicationConfigMap) ElementType() reflect.Type

func (BucketReplicationConfigMap) ToBucketReplicationConfigMapOutput added in v4.29.0

func (i BucketReplicationConfigMap) ToBucketReplicationConfigMapOutput() BucketReplicationConfigMapOutput

func (BucketReplicationConfigMap) ToBucketReplicationConfigMapOutputWithContext added in v4.29.0

func (i BucketReplicationConfigMap) ToBucketReplicationConfigMapOutputWithContext(ctx context.Context) BucketReplicationConfigMapOutput

type BucketReplicationConfigMapInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigMapOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigMapOutput) ElementType added in v4.29.0

func (BucketReplicationConfigMapOutput) MapIndex added in v4.29.0

func (BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutput added in v4.29.0

func (o BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutput() BucketReplicationConfigMapOutput

func (BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutputWithContext added in v4.29.0

func (o BucketReplicationConfigMapOutput) ToBucketReplicationConfigMapOutputWithContext(ctx context.Context) BucketReplicationConfigMapOutput

type BucketReplicationConfigOutput added in v4.29.0

type BucketReplicationConfigOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigOutput) ElementType added in v4.29.0

func (BucketReplicationConfigOutput) ToBucketReplicationConfigOutput added in v4.29.0

func (o BucketReplicationConfigOutput) ToBucketReplicationConfigOutput() BucketReplicationConfigOutput

func (BucketReplicationConfigOutput) ToBucketReplicationConfigOutputWithContext added in v4.29.0

func (o BucketReplicationConfigOutput) ToBucketReplicationConfigOutputWithContext(ctx context.Context) BucketReplicationConfigOutput

type BucketReplicationConfigRule added in v4.29.0

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 documented below.
	Destination BucketReplicationConfigRuleDestination `pulumi:"destination"`
	// Replicate existing objects in the source bucket according to the rule configurations documented below.
	ExistingObjectReplication *BucketReplicationConfigRuleExistingObjectReplication `pulumi:"existingObjectReplication"`
	// Filter that identifies subset of objects to which the replication rule applies documented below.
	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.
	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 *BucketReplicationConfigRuleSourceSelectionCriteria `pulumi:"sourceSelectionCriteria"`
	// The status of the rule. Either `"Enabled"` or `"Disabled"`. The rule is ignored if status is not "Enabled".
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleArgs added in v4.29.0

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 documented below.
	Destination BucketReplicationConfigRuleDestinationInput `pulumi:"destination"`
	// Replicate existing objects in the source bucket according to the rule configurations documented below.
	ExistingObjectReplication BucketReplicationConfigRuleExistingObjectReplicationPtrInput `pulumi:"existingObjectReplication"`
	// Filter that identifies subset of objects to which the replication rule applies documented below.
	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.
	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 BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput `pulumi:"sourceSelectionCriteria"`
	// The 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 added in v4.29.0

func (BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutput added in v4.29.0

func (i BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutput() BucketReplicationConfigRuleOutput

func (BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleArgs) ToBucketReplicationConfigRuleOutputWithContext(ctx context.Context) BucketReplicationConfigRuleOutput

type BucketReplicationConfigRuleArray added in v4.29.0

type BucketReplicationConfigRuleArray []BucketReplicationConfigRuleInput

func (BucketReplicationConfigRuleArray) ElementType added in v4.29.0

func (BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutput added in v4.29.0

func (i BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutput() BucketReplicationConfigRuleArrayOutput

func (BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleArray) ToBucketReplicationConfigRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigRuleArrayOutput

type BucketReplicationConfigRuleArrayInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleArrayOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleArrayOutput) Index added in v4.29.0

func (BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutput added in v4.29.0

func (o BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutput() BucketReplicationConfigRuleArrayOutput

func (BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleArrayOutput) ToBucketReplicationConfigRuleArrayOutputWithContext(ctx context.Context) BucketReplicationConfigRuleArrayOutput

type BucketReplicationConfigRuleDeleteMarkerReplication added in v4.29.0

type BucketReplicationConfigRuleDeleteMarkerReplication struct {
	// Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleDeleteMarkerReplicationArgs added in v4.29.0

type BucketReplicationConfigRuleDeleteMarkerReplicationArgs struct {
	// Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutput added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput() BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDeleteMarkerReplicationArgs) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDeleteMarkerReplicationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) Status added in v4.29.0

Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutput added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationOutput

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDeleteMarkerReplicationOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) Status added in v4.29.0

Whether delete markers should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput) ToBucketReplicationConfigRuleDeleteMarkerReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDeleteMarkerReplicationPtrOutput

type BucketReplicationConfigRuleDestination added in v4.29.0

type BucketReplicationConfigRuleDestination struct {
	// A configuration block that specifies the overrides to use for object owners on replication documented 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"`
	// The Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.
	Account *string `pulumi:"account"`
	// The ARN of the S3 bucket where you want Amazon S3 to store replicas of the objects identified by the rule.
	Bucket string `pulumi:"bucket"`
	// A configuration block that provides information about encryption documented below. If `sourceSelectionCriteria` is specified, you must specify this element.
	EncryptionConfiguration *BucketReplicationConfigRuleDestinationEncryptionConfiguration `pulumi:"encryptionConfiguration"`
	// A configuration block that specifies replication metrics-related settings enabling replication metrics and events documented below.
	Metrics *BucketReplicationConfigRuleDestinationMetrics `pulumi:"metrics"`
	// A 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 documented 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 added in v4.29.0

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 added in v4.29.0

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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationAccessControlTranslationArgs) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationAccessControlTranslationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) Owner added in v4.29.0

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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationOutput

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) Owner added in v4.29.0

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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput) ToBucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationAccessControlTranslationPtrOutput

type BucketReplicationConfigRuleDestinationArgs added in v4.29.0

type BucketReplicationConfigRuleDestinationArgs struct {
	// A configuration block that specifies the overrides to use for object owners on replication documented 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"`
	// The Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.
	Account pulumi.StringPtrInput `pulumi:"account"`
	// The ARN of the S3 bucket where you want Amazon S3 to store replicas of the objects identified by the rule.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// A configuration block that provides information about encryption documented below. If `sourceSelectionCriteria` is specified, you must specify this element.
	EncryptionConfiguration BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput `pulumi:"encryptionConfiguration"`
	// A configuration block that specifies replication metrics-related settings enabling replication metrics and events documented below.
	Metrics BucketReplicationConfigRuleDestinationMetricsPtrInput `pulumi:"metrics"`
	// A 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 documented 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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutput added in v4.29.0

func (i BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutput() BucketReplicationConfigRuleDestinationOutput

func (BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationArgs) ToBucketReplicationConfigRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationOutput

type BucketReplicationConfigRuleDestinationEncryptionConfiguration added in v4.29.0

type BucketReplicationConfigRuleDestinationEncryptionConfiguration struct {
	// The 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 added in v4.29.0

type BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs struct {
	// The 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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationEncryptionConfigurationArgs) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ReplicaKmsKeyId added in v4.29.0

The 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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ReplicaKmsKeyId added in v4.29.0

The 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 added in v4.29.0

func (BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput) ToBucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationEncryptionConfigurationPtrOutput

type BucketReplicationConfigRuleDestinationInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationMetrics struct {
	// A configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event documented below.
	EventThreshold *BucketReplicationConfigRuleDestinationMetricsEventThreshold `pulumi:"eventThreshold"`
	// The status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleDestinationMetricsArgs added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsArgs struct {
	// A configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event documented below.
	EventThreshold BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput `pulumi:"eventThreshold"`
	// The status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleDestinationMetricsArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutput added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutput() BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput() BucketReplicationConfigRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsArgs) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThreshold added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsEventThreshold struct {
	// Time in minutes. Valid values: `15`.
	Minutes int `pulumi:"minutes"`
}

type BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs struct {
	// Time in minutes. Valid values: `15`.
	Minutes pulumi.IntInput `pulumi:"minutes"`
}

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationMetricsEventThresholdArgs) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) Minutes added in v4.29.0

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) Minutes added in v4.29.0

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsEventThresholdPtrOutput

type BucketReplicationConfigRuleDestinationMetricsInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsOutput) EventThreshold added in v4.29.0

A configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event documented below.

func (BucketReplicationConfigRuleDestinationMetricsOutput) Status added in v4.29.0

The status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutput added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutput() BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput() BucketReplicationConfigRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationMetricsPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationMetricsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) EventThreshold added in v4.29.0

A configuration block that specifies the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event documented below.

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) Status added in v4.29.0

The status of the Destination Metrics. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationMetricsPtrOutput

type BucketReplicationConfigRuleDestinationOutput added in v4.29.0

type BucketReplicationConfigRuleDestinationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationOutput) AccessControlTranslation added in v4.29.0

A configuration block that specifies the overrides to use for object owners on replication documented 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 added in v4.29.0

The Account ID to specify the replica ownership. Must be used in conjunction with `accessControlTranslation` override configuration.

func (BucketReplicationConfigRuleDestinationOutput) Bucket added in v4.29.0

The ARN of the S3 bucket where you want Amazon S3 to store replicas of the objects identified by the rule.

func (BucketReplicationConfigRuleDestinationOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationOutput) EncryptionConfiguration added in v4.29.0

A configuration block that provides information about encryption documented below. If `sourceSelectionCriteria` is specified, you must specify this element.

func (BucketReplicationConfigRuleDestinationOutput) Metrics added in v4.29.0

A configuration block that specifies replication metrics-related settings enabling replication metrics and events documented below.

func (BucketReplicationConfigRuleDestinationOutput) ReplicationTime added in v4.29.0

A 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 documented below. Replication Time Control must be used in conjunction with `metrics`.

func (BucketReplicationConfigRuleDestinationOutput) StorageClass added in v4.29.0

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 added in v4.29.0

func (o BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutput() BucketReplicationConfigRuleDestinationOutput

func (BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationOutput) ToBucketReplicationConfigRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationOutput

type BucketReplicationConfigRuleDestinationReplicationTime added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTime struct {
	// The status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
	// A configuration block specifying the time by which replication should be complete for all objects and operations on objects documented below.
	Time BucketReplicationConfigRuleDestinationReplicationTimeTime `pulumi:"time"`
}

type BucketReplicationConfigRuleDestinationReplicationTimeArgs added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeArgs struct {
	// The status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
	// A configuration block specifying the time by which replication should be complete for all objects and operations on objects documented below.
	Time BucketReplicationConfigRuleDestinationReplicationTimeTimeInput `pulumi:"time"`
}

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) Status added in v4.29.0

The status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) Time added in v4.29.0

A configuration block specifying the time by which replication should be complete for all objects and operations on objects documented below.

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimePtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Status added in v4.29.0

The status of the Replication Time Control. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) Time added in v4.29.0

A configuration block specifying the time by which replication should be complete for all objects and operations on objects documented below.

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTime added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeTime struct {
	// Time in minutes. Valid values: `15`.
	Minutes int `pulumi:"minutes"`
}

type BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs struct {
	// Time in minutes. Valid values: `15`.
	Minutes pulumi.IntInput `pulumi:"minutes"`
}

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleDestinationReplicationTimeTimeArgs) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimeInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) Minutes added in v4.29.0

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimeOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimeOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) Minutes added in v4.29.0

Time in minutes. Valid values: `15`.

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput added in v4.29.0

func (BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput) ToBucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleDestinationReplicationTimeTimePtrOutput

type BucketReplicationConfigRuleExistingObjectReplication added in v4.29.0

type BucketReplicationConfigRuleExistingObjectReplication struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleExistingObjectReplicationArgs added in v4.29.0

type BucketReplicationConfigRuleExistingObjectReplicationArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutput added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput() BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

func (BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleExistingObjectReplicationArgs) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleExistingObjectReplicationInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleExistingObjectReplicationOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutput added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationOutput

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleExistingObjectReplicationOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleExistingObjectReplicationPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleExistingObjectReplicationPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleExistingObjectReplicationPtrOutput) ToBucketReplicationConfigRuleExistingObjectReplicationPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleExistingObjectReplicationPtrOutput

type BucketReplicationConfigRuleFilter added in v4.29.0

type BucketReplicationConfigRuleFilter struct {
	// A 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"`
	// An 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"`
	// A configuration block for specifying a tag key and value documented below.
	Tag *BucketReplicationConfigRuleFilterTag `pulumi:"tag"`
}

type BucketReplicationConfigRuleFilterAnd added in v4.29.0

type BucketReplicationConfigRuleFilterAnd struct {
	// An 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"`
	// A 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 added in v4.29.0

type BucketReplicationConfigRuleFilterAndArgs struct {
	// An 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"`
	// A 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 added in v4.29.0

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutput() BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterAndArgs) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterAndInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterAndOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterAndOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterAndOutput) Prefix added in v4.29.0

An 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 added in v4.29.0

A 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 added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutput() BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterAndPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterAndPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterAndPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleFilterAndPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterAndPtrOutput) Prefix added in v4.29.0

An 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 added in v4.29.0

A 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 added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutput() BucketReplicationConfigRuleFilterAndPtrOutput

func (BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterAndPtrOutput) ToBucketReplicationConfigRuleFilterAndPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterAndPtrOutput

type BucketReplicationConfigRuleFilterArgs added in v4.29.0

type BucketReplicationConfigRuleFilterArgs struct {
	// A 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"`
	// An 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"`
	// A configuration block for specifying a tag key and value documented below.
	Tag BucketReplicationConfigRuleFilterTagPtrInput `pulumi:"tag"`
}

func (BucketReplicationConfigRuleFilterArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutput() BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterArgs) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterOutput) And added in v4.29.0

A 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 added in v4.29.0

func (BucketReplicationConfigRuleFilterOutput) Prefix added in v4.29.0

An 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 added in v4.29.0

A configuration block for specifying a tag key and value documented below.

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutput() BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterPtrOutput) And added in v4.29.0

A 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 added in v4.29.0

func (BucketReplicationConfigRuleFilterPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterPtrOutput) Prefix added in v4.29.0

An 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 added in v4.29.0

A configuration block for specifying a tag key and value documented below.

func (BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutput() BucketReplicationConfigRuleFilterPtrOutput

func (BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterPtrOutput) ToBucketReplicationConfigRuleFilterPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterPtrOutput

type BucketReplicationConfigRuleFilterTag added in v4.29.0

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

type BucketReplicationConfigRuleFilterTagArgs added in v4.29.0

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 added in v4.29.0

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutput() BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleFilterTagArgs) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

type BucketReplicationConfigRuleFilterTagInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterTagOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterTagOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterTagOutput) Key added in v4.29.0

Name of the object key.

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutput() BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagOutput) Value added in v4.29.0

Value of the tag.

type BucketReplicationConfigRuleFilterTagPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleFilterTagPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleFilterTagPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleFilterTagPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleFilterTagPtrOutput) Key added in v4.29.0

Name of the object key.

func (BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutput() BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleFilterTagPtrOutput) ToBucketReplicationConfigRuleFilterTagPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleFilterTagPtrOutput

func (BucketReplicationConfigRuleFilterTagPtrOutput) Value added in v4.29.0

Value of the tag.

type BucketReplicationConfigRuleInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleOutput) DeleteMarkerReplication added in v4.29.0

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 added in v4.29.0

Specifies the destination for the rule documented below.

func (BucketReplicationConfigRuleOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleOutput) ExistingObjectReplication added in v4.29.0

Replicate existing objects in the source bucket according to the rule configurations documented below.

func (BucketReplicationConfigRuleOutput) Filter added in v4.29.0

Filter that identifies subset of objects to which the replication rule applies documented below.

func (BucketReplicationConfigRuleOutput) Id added in v4.29.0

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

func (BucketReplicationConfigRuleOutput) Prefix added in v4.29.0

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.

func (BucketReplicationConfigRuleOutput) Priority added in v4.29.0

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 (BucketReplicationConfigRuleOutput) SourceSelectionCriteria added in v4.29.0

Specifies special object selection criteria documented below.

func (BucketReplicationConfigRuleOutput) Status added in v4.29.0

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

func (BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutput added in v4.29.0

func (o BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutput() BucketReplicationConfigRuleOutput

func (BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleOutput) ToBucketReplicationConfigRuleOutputWithContext(ctx context.Context) BucketReplicationConfigRuleOutput

type BucketReplicationConfigRuleSourceSelectionCriteria added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteria struct {
	// A 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"`
	// A 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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaArgs struct {
	// A 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"`
	// A 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 added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput added in v4.29.0

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput() BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleSourceSelectionCriteriaArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ReplicaModifications added in v4.29.0

A 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 added in v4.29.0

A 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 added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaOutput

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleSourceSelectionCriteriaOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ReplicaModifications added in v4.29.0

A 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 added in v4.29.0

A 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 added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext added in v4.29.0

func (o BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModifications added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModifications struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutputWithContext added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutputWithContext added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaReplicaModificationsPtrOutputWithContext added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjects added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjects struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status string `pulumi:"status"`
}

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs struct {
	// Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext added in v4.29.0

func (i BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutputWithContext added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrInput added in v4.29.0

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 added in v4.29.0

type BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) Elem added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ElementType added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) Status added in v4.29.0

Whether the existing objects should be replicated. Either `"Enabled"` or `"Disabled"`.

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput added in v4.29.0

func (BucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutput) ToBucketReplicationConfigRuleSourceSelectionCriteriaSseKmsEncryptedObjectsPtrOutputWithContext added in v4.29.0

type BucketReplicationConfigState added in v4.29.0

type BucketReplicationConfigState struct {
	// The name of the source S3 bucket you want Amazon S3 to monitor.
	Bucket pulumi.StringPtrInput
	// The ARN of the IAM role for Amazon S3 to assume when replicating the objects.
	Role pulumi.StringPtrInput
	// Set of configuration blocks describing the rules managing the replication documented below.
	Rules BucketReplicationConfigRuleArrayInput
}

func (BucketReplicationConfigState) ElementType added in v4.29.0

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

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

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

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext added in v4.27.0

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput added in v4.27.0

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput() BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

func (BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext added in v4.27.0

func (i BucketReplicationConfigurationRuleDestinationMetricsArgs) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationMetricsInput added in v4.27.0

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

type BucketReplicationConfigurationRuleDestinationMetricsOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ElementType added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) Minutes added in v4.27.0

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) Status added in v4.27.0

The status of replication metrics. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext added in v4.27.0

func (o BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsOutput

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext added in v4.27.0

func (o BucketReplicationConfigurationRuleDestinationMetricsOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationMetricsPtrOutput

type BucketReplicationConfigurationRuleDestinationMetricsPtrInput added in v4.27.0

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

type BucketReplicationConfigurationRuleDestinationMetricsPtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Elem added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ElementType added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Minutes added in v4.27.0

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) Status added in v4.27.0

The status of replication metrics. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationMetricsPtrOutput) ToBucketReplicationConfigurationRuleDestinationMetricsPtrOutputWithContext added in v4.27.0

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

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

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

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

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

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext added in v4.27.0

func (i BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext added in v4.27.0

func (i BucketReplicationConfigurationRuleDestinationReplicationTimeArgs) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimeInput added in v4.27.0

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

type BucketReplicationConfigurationRuleDestinationReplicationTimeOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ElementType added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) Minutes added in v4.27.0

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) Status added in v4.27.0

The status of RTC. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext added in v4.27.0

func (o BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimeOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimeOutput

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext added in v4.27.0

func (o BucketReplicationConfigurationRuleDestinationReplicationTimeOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrInput added in v4.27.0

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

type BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput struct{ *pulumi.OutputState }

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Elem added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ElementType added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Minutes added in v4.27.0

Threshold within which objects are to be replicated. The only valid value is `15`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) Status added in v4.27.0

The status of RTC. Either `Enabled` or `Disabled`.

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput added in v4.27.0

func (BucketReplicationConfigurationRuleDestinationReplicationTimePtrOutput) ToBucketReplicationConfigurationRuleDestinationReplicationTimePtrOutputWithContext added in v4.27.0

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 added in v4.13.0

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.

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 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 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)
	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), the provider may view the policy as constantly changing in a `pulumi up / preview / update`. 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 mapping of tags to assign to the bucket.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	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 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 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.
	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.
	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 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.

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.

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 added in v4.13.0

func (e CannedAcl) ToCannedAclOutput() CannedAclOutput

func (CannedAcl) ToCannedAclOutputWithContext added in v4.13.0

func (e CannedAcl) ToCannedAclOutputWithContext(ctx context.Context) CannedAclOutput

func (CannedAcl) ToCannedAclPtrOutput added in v4.13.0

func (e CannedAcl) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAcl) ToCannedAclPtrOutputWithContext added in v4.13.0

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 added in v4.13.0

type CannedAclInput interface {
	pulumi.Input

	ToCannedAclOutput() CannedAclOutput
	ToCannedAclOutputWithContext(context.Context) CannedAclOutput
}

CannedAclInput is an input type that accepts CannedAclArgs and CannedAclOutput values. You can construct a concrete instance of `CannedAclInput` via:

CannedAclArgs{...}

type CannedAclOutput added in v4.13.0

type CannedAclOutput struct{ *pulumi.OutputState }

func (CannedAclOutput) ElementType added in v4.13.0

func (CannedAclOutput) ElementType() reflect.Type

func (CannedAclOutput) ToCannedAclOutput added in v4.13.0

func (o CannedAclOutput) ToCannedAclOutput() CannedAclOutput

func (CannedAclOutput) ToCannedAclOutputWithContext added in v4.13.0

func (o CannedAclOutput) ToCannedAclOutputWithContext(ctx context.Context) CannedAclOutput

func (CannedAclOutput) ToCannedAclPtrOutput added in v4.13.0

func (o CannedAclOutput) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAclOutput) ToCannedAclPtrOutputWithContext added in v4.13.0

func (o CannedAclOutput) ToCannedAclPtrOutputWithContext(ctx context.Context) CannedAclPtrOutput

func (CannedAclOutput) ToStringOutput added in v4.13.0

func (o CannedAclOutput) ToStringOutput() pulumi.StringOutput

func (CannedAclOutput) ToStringOutputWithContext added in v4.13.0

func (o CannedAclOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (CannedAclOutput) ToStringPtrOutput added in v4.13.0

func (o CannedAclOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAclOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o CannedAclOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type CannedAclPtrInput added in v4.13.0

type CannedAclPtrInput interface {
	pulumi.Input

	ToCannedAclPtrOutput() CannedAclPtrOutput
	ToCannedAclPtrOutputWithContext(context.Context) CannedAclPtrOutput
}

func CannedAclPtr added in v4.13.0

func CannedAclPtr(v string) CannedAclPtrInput

type CannedAclPtrOutput added in v4.13.0

type CannedAclPtrOutput struct{ *pulumi.OutputState }

func (CannedAclPtrOutput) Elem added in v4.13.0

func (CannedAclPtrOutput) ElementType added in v4.13.0

func (CannedAclPtrOutput) ElementType() reflect.Type

func (CannedAclPtrOutput) ToCannedAclPtrOutput added in v4.13.0

func (o CannedAclPtrOutput) ToCannedAclPtrOutput() CannedAclPtrOutput

func (CannedAclPtrOutput) ToCannedAclPtrOutputWithContext added in v4.13.0

func (o CannedAclPtrOutput) ToCannedAclPtrOutputWithContext(ctx context.Context) CannedAclPtrOutput

func (CannedAclPtrOutput) ToStringPtrOutput added in v4.13.0

func (o CannedAclPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAclPtrOutput) ToStringPtrOutputWithContext added in v4.13.0

func (o CannedAclPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

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
	Bucket string `pulumi:"bucket"`
	// A 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 added in v4.21.0

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
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// A 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 added in v4.21.0

func (GetBucketObjectsOutputArgs) ElementType() reflect.Type

type GetBucketObjectsResult

type GetBucketObjectsResult 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"`
	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 on `maxKeys`:** Retrieving very large numbers of keys can adversely affect this provider's performance.

The bucket-objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket.

type GetBucketObjectsResultOutput added in v4.21.0

type GetBucketObjectsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObjects.

func GetBucketObjectsOutput added in v4.21.0

func (GetBucketObjectsResultOutput) Bucket added in v4.21.0

func (GetBucketObjectsResultOutput) CommonPrefixes added in v4.21.0

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 added in v4.21.0

func (GetBucketObjectsResultOutput) ElementType added in v4.21.0

func (GetBucketObjectsResultOutput) EncodingType added in v4.21.0

func (GetBucketObjectsResultOutput) FetchOwner added in v4.21.0

func (GetBucketObjectsResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (GetBucketObjectsResultOutput) Keys added in v4.21.0

List of strings representing object keys

func (GetBucketObjectsResultOutput) MaxKeys added in v4.21.0

func (GetBucketObjectsResultOutput) Owners added in v4.21.0

List of strings representing object owner IDs (see `fetchOwner` above)

func (GetBucketObjectsResultOutput) Prefix added in v4.21.0

func (GetBucketObjectsResultOutput) StartAfter added in v4.21.0

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput added in v4.21.0

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput() GetBucketObjectsResultOutput

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext added in v4.21.0

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext(ctx context.Context) GetBucketObjectsResultOutput

type GetCanonicalUserIdResult

type GetCanonicalUserIdResult struct {
	// The 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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("canonicalUserId", current.Id)
		return nil
	})
}

```

type Inventory

type Inventory struct {
	pulumi.CustomResourceState

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

## Example Usage ### Add inventory configuration

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testBucket, err := s3.NewBucket(ctx, "testBucket", nil)
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucket(ctx, "inventory", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewInventory(ctx, "testInventory", &s3.InventoryArgs{
			Bucket:                 testBucket.ID(),
			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 bucket object prefix

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := s3.NewBucket(ctx, "test", nil)
		if err != nil {
			return err
		}
		inventory, err := s3.NewBucket(ctx, "inventory", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewInventory(ctx, "test-prefix", &s3.InventoryArgs{
			Bucket:                 test.ID(),
			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

S3 bucket inventory configurations can be imported using `bucket:inventory`, e.g.,

```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 {
	// The 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 {
	// The S3 bucket configuration where inventory results are published (documented below).
	Bucket InventoryDestinationBucket `pulumi:"bucket"`
}

type InventoryDestinationArgs

type InventoryDestinationArgs struct {
	// The 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 {
	// The 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"`
	// The 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"`
	// The prefix that is prepended to all inventory results.
	Prefix *string `pulumi:"prefix"`
}

type InventoryDestinationBucketArgs

type InventoryDestinationBucketArgs struct {
	// The 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"`
	// The 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"`
	// The 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 {
	// The ARN of the KMS customer master key (CMK) used to encrypt the inventory file.
	KeyId string `pulumi:"keyId"`
}

type InventoryDestinationBucketEncryptionSseKmsArgs

type InventoryDestinationBucketEncryptionSseKmsArgs struct {
	// The 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

The 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

The 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

The 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

The 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

The 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

The 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

The 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

The 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

The 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

The 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 {
	// The prefix that an object must have to be included in the inventory results.
	Prefix *string `pulumi:"prefix"`
}

type InventoryFilterArgs

type InventoryFilterArgs struct {
	// The 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

The 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

The 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) ElementType

func (InventoryOutput) ElementType() reflect.Type

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

type LookupBucketArgs struct {
	// The name of the bucket
	Bucket string `pulumi:"bucket"`
}

A collection of arguments for invoking getBucket.

type LookupBucketObjectArgs

type LookupBucketObjectArgs struct {
	// The 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"`
	// The full path to the object inside the bucket
	Key   string  `pulumi:"key"`
	Range *string `pulumi:"range"`
	// A 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 added in v4.21.0

type LookupBucketObjectOutputArgs struct {
	// The 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"`
	// The full path to the object inside the bucket
	Key   pulumi.StringInput    `pulumi:"key"`
	Range pulumi.StringPtrInput `pulumi:"range"`
	// A 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 added in v4.21.0

type LookupBucketObjectResult

type LookupBucketObjectResult struct {
	// 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"`
	// Specifies caching behavior along the request/reply chain.
	CacheControl string `pulumi:"cacheControl"`
	// Specifies presentational information for the object.
	ContentDisposition string `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.
	ContentEncoding string `pulumi:"contentEncoding"`
	// The language the content is in.
	ContentLanguage string `pulumi:"contentLanguage"`
	// Size of the body in bytes.
	ContentLength int `pulumi:"contentLength"`
	// A 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"`
	// The 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"`
	// A map of metadata stored with the object in S3
	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"`
	// The 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"`
	// A map of tags assigned to the object.
	Tags map[string]string `pulumi:"tags"`
	// The 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)

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/*` and `application/json`). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour 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/v4/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v4/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("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/v4/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v4/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, "testLambda", &lambda.FunctionArgs{
			S3Bucket:        pulumi.String(lambda.Bucket),
			S3Key:           pulumi.String(lambda.Key),
			S3ObjectVersion: pulumi.String(lambda.VersionId),
			Role:            pulumi.Any(aws_iam_role.Iam_for_lambda.Arn),
			Handler:         pulumi.String("exports.test"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBucketObjectResultOutput added in v4.21.0

type LookupBucketObjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObject.

func LookupBucketObjectOutput added in v4.21.0

func (LookupBucketObjectResultOutput) Body added in v4.21.0

Object data (see **limitations above** to understand cases in which this field is actually available)

func (LookupBucketObjectResultOutput) Bucket added in v4.21.0

func (LookupBucketObjectResultOutput) BucketKeyEnabled added in v4.21.0

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 added in v4.21.0

Specifies caching behavior along the request/reply chain.

func (LookupBucketObjectResultOutput) ContentDisposition added in v4.21.0

func (o LookupBucketObjectResultOutput) ContentDisposition() pulumi.StringOutput

Specifies presentational information for the object.

func (LookupBucketObjectResultOutput) ContentEncoding added in v4.21.0

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.

func (LookupBucketObjectResultOutput) ContentLanguage added in v4.21.0

The language the content is in.

func (LookupBucketObjectResultOutput) ContentLength added in v4.21.0

Size of the body in bytes.

func (LookupBucketObjectResultOutput) ContentType added in v4.21.0

A standard MIME type describing the format of the object data.

func (LookupBucketObjectResultOutput) ElementType added in v4.21.0

func (LookupBucketObjectResultOutput) Etag added in v4.21.0

[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 added in v4.21.0

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 added in v4.21.0

The date and time at which the object is no longer cacheable.

func (LookupBucketObjectResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupBucketObjectResultOutput) Key added in v4.21.0

func (LookupBucketObjectResultOutput) LastModified added in v4.21.0

Last modified date of the object in RFC1123 format (e.g., `Mon, 02 Jan 2006 15:04:05 MST`)

func (LookupBucketObjectResultOutput) Metadata added in v4.21.0

A map of metadata stored with the object in S3

func (LookupBucketObjectResultOutput) ObjectLockLegalHoldStatus added in v4.21.0

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 added in v4.21.0

The 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 added in v4.21.0

func (o LookupBucketObjectResultOutput) ObjectLockRetainUntilDate() pulumi.StringOutput

The date and time when this object's object lock will expire.

func (LookupBucketObjectResultOutput) Range added in v4.21.0

func (LookupBucketObjectResultOutput) ServerSideEncryption added in v4.21.0

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 added in v4.21.0

If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.

func (LookupBucketObjectResultOutput) StorageClass added in v4.21.0

[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 added in v4.21.0

A map of tags assigned to the object.

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput added in v4.21.0

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput() LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext added in v4.21.0

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext(ctx context.Context) LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) VersionId added in v4.21.0

The latest version ID of the object returned.

func (LookupBucketObjectResultOutput) WebsiteRedirectLocation added in v4.21.0

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 added in v4.21.0

type LookupBucketOutputArgs struct {
	// The name of the bucket
	Bucket pulumi.StringInput `pulumi:"bucket"`
}

A collection of arguments for invoking getBucket.

func (LookupBucketOutputArgs) ElementType added in v4.21.0

func (LookupBucketOutputArgs) ElementType() reflect.Type

type LookupBucketResult

type LookupBucketResult struct {
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn    string `pulumi:"arn"`
	Bucket string `pulumi:"bucket"`
	// The 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 [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 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"`
	// The AWS region this bucket resides in.
	Region string `pulumi:"region"`
	// 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 string `pulumi:"websiteDomain"`
	// The 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/v4/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v4/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("A"),
			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/v4/go/aws/cloudfront"
"github.com/pulumi/pulumi-aws/sdk/v4/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 added in v4.21.0

type LookupBucketResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucket.

func LookupBucketOutput added in v4.21.0

func LookupBucketOutput(ctx *pulumi.Context, args LookupBucketOutputArgs, opts ...pulumi.InvokeOption) LookupBucketResultOutput

func (LookupBucketResultOutput) Arn added in v4.21.0

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

func (LookupBucketResultOutput) Bucket added in v4.21.0

func (LookupBucketResultOutput) BucketDomainName added in v4.21.0

func (o LookupBucketResultOutput) BucketDomainName() pulumi.StringOutput

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

func (LookupBucketResultOutput) BucketRegionalDomainName added in v4.21.0

func (o LookupBucketResultOutput) 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 (LookupBucketResultOutput) ElementType added in v4.21.0

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) HostedZoneId added in v4.21.0

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 added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (LookupBucketResultOutput) Region added in v4.21.0

The AWS region this bucket resides in.

func (LookupBucketResultOutput) ToLookupBucketResultOutput added in v4.21.0

func (o LookupBucketResultOutput) ToLookupBucketResultOutput() LookupBucketResultOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutputWithContext added in v4.21.0

func (o LookupBucketResultOutput) ToLookupBucketResultOutputWithContext(ctx context.Context) LookupBucketResultOutput

func (LookupBucketResultOutput) WebsiteDomain added in v4.21.0

func (o LookupBucketResultOutput) 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 (LookupBucketResultOutput) WebsiteEndpoint added in v4.21.0

func (o LookupBucketResultOutput) WebsiteEndpoint() pulumi.StringOutput

The 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. Defaults to `private`. 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.StringPtrOutput `pulumi:"acl"`
	// 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"`
	// 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"`
	// The 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"`
	// A 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"`
	// The 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"`
	// The 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 Amazon Resource Name (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`.
	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"`
	// A 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"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	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/v4/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"),
			Grants: s3.ObjectCopyGrantArray{
				&s3.ObjectCopyGrantArgs{
					Permissions: pulumi.StringArray{
						pulumi.String("READ"),
					},
					Type: pulumi.String("Group"),
					Uri:  pulumi.String("http://acs.amazonaws.com/groups/global/AllUsers"),
				},
			},
			Key:    pulumi.String("destination_key"),
			Source: pulumi.String("source_bucket/source_key"),
		})
		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. Defaults to `private`. 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
	// 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
	// A 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
	// The 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
	// The 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 Amazon Resource Name (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`.
	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
	// A 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"`
	// The 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`.
	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"`
	// The 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`.
	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

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

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

func (ObjectCopyOutput) ElementType() reflect.Type

func (ObjectCopyOutput) ToObjectCopyOutput

func (o ObjectCopyOutput) ToObjectCopyOutput() ObjectCopyOutput

func (ObjectCopyOutput) ToObjectCopyOutputWithContext

func (o ObjectCopyOutput) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput

type ObjectCopyState

type ObjectCopyState struct {
	// [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to `private`. 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.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
	// 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
	// The 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
	// A 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
	// The 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
	// The 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 Amazon Resource Name (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`.
	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
	// A 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
	// A map of tags assigned to the resource, including those inherited from the provider .
	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