s3

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 2

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

	// The 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 provider.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// Amazon Resource Name (ARN) of the S3 Access Point.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The 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"`
	// Indicates whether this access point currently has a policy that allows public access.
	HasPublicAccessPolicy pulumi.BoolOutput `pulumi:"hasPublicAccessPolicy"`
	// The 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"`
	// A valid JSON document that specifies the policy that you want to apply to this access point.
	Policy pulumi.StringPtrOutput `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.

## Example Usage ### AWS Partition Bucket

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3control"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*AccessPoint) ElementType() reflect.Type

func (*AccessPoint) ToAccessPointOutput added in v3.13.0

func (i *AccessPoint) ToAccessPointOutput() AccessPointOutput

func (*AccessPoint) ToAccessPointOutputWithContext added in v3.13.0

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

func (*AccessPoint) ToAccessPointPtrOutput added in v3.25.0

func (i *AccessPoint) ToAccessPointPtrOutput() AccessPointPtrOutput

func (*AccessPoint) ToAccessPointPtrOutputWithContext added in v3.25.0

func (i *AccessPoint) ToAccessPointPtrOutputWithContext(ctx context.Context) AccessPointPtrOutput

type AccessPointArgs

type AccessPointArgs struct {
	// The 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 provider.
	AccountId pulumi.StringPtrInput
	// The 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
	// The name you want to assign to this access point.
	Name pulumi.StringPtrInput
	// A valid JSON document that specifies the policy that you want to apply to this access point.
	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 added in v3.25.0

type AccessPointArray []AccessPointInput

func (AccessPointArray) ElementType added in v3.25.0

func (AccessPointArray) ElementType() reflect.Type

func (AccessPointArray) ToAccessPointArrayOutput added in v3.25.0

func (i AccessPointArray) ToAccessPointArrayOutput() AccessPointArrayOutput

func (AccessPointArray) ToAccessPointArrayOutputWithContext added in v3.25.0

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

type AccessPointArrayInput added in v3.25.0

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 added in v3.25.0

type AccessPointArrayOutput struct{ *pulumi.OutputState }

func (AccessPointArrayOutput) ElementType added in v3.25.0

func (AccessPointArrayOutput) ElementType() reflect.Type

func (AccessPointArrayOutput) Index added in v3.25.0

func (AccessPointArrayOutput) ToAccessPointArrayOutput added in v3.25.0

func (o AccessPointArrayOutput) ToAccessPointArrayOutput() AccessPointArrayOutput

func (AccessPointArrayOutput) ToAccessPointArrayOutputWithContext added in v3.25.0

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

type AccessPointInput added in v3.13.0

type AccessPointInput interface {
	pulumi.Input

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

type AccessPointMap added in v3.25.0

type AccessPointMap map[string]AccessPointInput

func (AccessPointMap) ElementType added in v3.25.0

func (AccessPointMap) ElementType() reflect.Type

func (AccessPointMap) ToAccessPointMapOutput added in v3.25.0

func (i AccessPointMap) ToAccessPointMapOutput() AccessPointMapOutput

func (AccessPointMap) ToAccessPointMapOutputWithContext added in v3.25.0

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

type AccessPointMapInput added in v3.25.0

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 added in v3.25.0

type AccessPointMapOutput struct{ *pulumi.OutputState }

func (AccessPointMapOutput) ElementType added in v3.25.0

func (AccessPointMapOutput) ElementType() reflect.Type

func (AccessPointMapOutput) MapIndex added in v3.25.0

func (AccessPointMapOutput) ToAccessPointMapOutput added in v3.25.0

func (o AccessPointMapOutput) ToAccessPointMapOutput() AccessPointMapOutput

func (AccessPointMapOutput) ToAccessPointMapOutputWithContext added in v3.25.0

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

type AccessPointOutput added in v3.13.0

type AccessPointOutput struct {
	*pulumi.OutputState
}

func (AccessPointOutput) ElementType added in v3.13.0

func (AccessPointOutput) ElementType() reflect.Type

func (AccessPointOutput) ToAccessPointOutput added in v3.13.0

func (o AccessPointOutput) ToAccessPointOutput() AccessPointOutput

func (AccessPointOutput) ToAccessPointOutputWithContext added in v3.13.0

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

func (AccessPointOutput) ToAccessPointPtrOutput added in v3.25.0

func (o AccessPointOutput) ToAccessPointPtrOutput() AccessPointPtrOutput

func (AccessPointOutput) ToAccessPointPtrOutputWithContext added in v3.25.0

func (o AccessPointOutput) ToAccessPointPtrOutputWithContext(ctx context.Context) AccessPointPtrOutput

type AccessPointPtrInput added in v3.25.0

type AccessPointPtrInput interface {
	pulumi.Input

	ToAccessPointPtrOutput() AccessPointPtrOutput
	ToAccessPointPtrOutputWithContext(ctx context.Context) AccessPointPtrOutput
}

type AccessPointPtrOutput added in v3.25.0

type AccessPointPtrOutput struct {
	*pulumi.OutputState
}

func (AccessPointPtrOutput) ElementType added in v3.25.0

func (AccessPointPtrOutput) ElementType() reflect.Type

func (AccessPointPtrOutput) ToAccessPointPtrOutput added in v3.25.0

func (o AccessPointPtrOutput) ToAccessPointPtrOutput() AccessPointPtrOutput

func (AccessPointPtrOutput) ToAccessPointPtrOutputWithContext added in v3.25.0

func (o AccessPointPtrOutput) ToAccessPointPtrOutputWithContext(ctx context.Context) AccessPointPtrOutput

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 {
	// The 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 provider.
	AccountId pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the S3 Access Point.
	Arn pulumi.StringPtrInput
	// The 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
	// Indicates whether this access point currently has a policy that allows public access.
	HasPublicAccessPolicy pulumi.BoolPtrInput
	// The 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
	// A valid JSON document that specifies the policy that you want to apply to this access point.
	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 will fail if the request includes an object 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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*AccountPublicAccessBlock) ElementType() reflect.Type

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockOutput added in v3.13.0

func (i *AccountPublicAccessBlock) ToAccountPublicAccessBlockOutput() AccountPublicAccessBlockOutput

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockOutputWithContext added in v3.13.0

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

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockPtrOutput added in v3.25.0

func (i *AccountPublicAccessBlock) ToAccountPublicAccessBlockPtrOutput() AccountPublicAccessBlockPtrOutput

func (*AccountPublicAccessBlock) ToAccountPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (i *AccountPublicAccessBlock) ToAccountPublicAccessBlockPtrOutputWithContext(ctx context.Context) AccountPublicAccessBlockPtrOutput

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 will fail if the request includes an object 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 added in v3.25.0

type AccountPublicAccessBlockArray []AccountPublicAccessBlockInput

func (AccountPublicAccessBlockArray) ElementType added in v3.25.0

func (AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutput added in v3.25.0

func (i AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutput() AccountPublicAccessBlockArrayOutput

func (AccountPublicAccessBlockArray) ToAccountPublicAccessBlockArrayOutputWithContext added in v3.25.0

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

type AccountPublicAccessBlockArrayInput added in v3.25.0

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 added in v3.25.0

type AccountPublicAccessBlockArrayOutput struct{ *pulumi.OutputState }

func (AccountPublicAccessBlockArrayOutput) ElementType added in v3.25.0

func (AccountPublicAccessBlockArrayOutput) Index added in v3.25.0

func (AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutput added in v3.25.0

func (o AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutput() AccountPublicAccessBlockArrayOutput

func (AccountPublicAccessBlockArrayOutput) ToAccountPublicAccessBlockArrayOutputWithContext added in v3.25.0

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

type AccountPublicAccessBlockInput added in v3.13.0

type AccountPublicAccessBlockInput interface {
	pulumi.Input

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

type AccountPublicAccessBlockMap added in v3.25.0

type AccountPublicAccessBlockMap map[string]AccountPublicAccessBlockInput

func (AccountPublicAccessBlockMap) ElementType added in v3.25.0

func (AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutput added in v3.25.0

func (i AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutput() AccountPublicAccessBlockMapOutput

func (AccountPublicAccessBlockMap) ToAccountPublicAccessBlockMapOutputWithContext added in v3.25.0

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

type AccountPublicAccessBlockMapInput added in v3.25.0

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 added in v3.25.0

type AccountPublicAccessBlockMapOutput struct{ *pulumi.OutputState }

func (AccountPublicAccessBlockMapOutput) ElementType added in v3.25.0

func (AccountPublicAccessBlockMapOutput) MapIndex added in v3.25.0

func (AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutput added in v3.25.0

func (o AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutput() AccountPublicAccessBlockMapOutput

func (AccountPublicAccessBlockMapOutput) ToAccountPublicAccessBlockMapOutputWithContext added in v3.25.0

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

type AccountPublicAccessBlockOutput added in v3.13.0

type AccountPublicAccessBlockOutput struct {
	*pulumi.OutputState
}

func (AccountPublicAccessBlockOutput) ElementType added in v3.13.0

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutput added in v3.13.0

func (o AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutput() AccountPublicAccessBlockOutput

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockOutputWithContext added in v3.13.0

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

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockPtrOutput added in v3.25.0

func (o AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockPtrOutput() AccountPublicAccessBlockPtrOutput

func (AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (o AccountPublicAccessBlockOutput) ToAccountPublicAccessBlockPtrOutputWithContext(ctx context.Context) AccountPublicAccessBlockPtrOutput

type AccountPublicAccessBlockPtrInput added in v3.25.0

type AccountPublicAccessBlockPtrInput interface {
	pulumi.Input

	ToAccountPublicAccessBlockPtrOutput() AccountPublicAccessBlockPtrOutput
	ToAccountPublicAccessBlockPtrOutputWithContext(ctx context.Context) AccountPublicAccessBlockPtrOutput
}

type AccountPublicAccessBlockPtrOutput added in v3.25.0

type AccountPublicAccessBlockPtrOutput struct {
	*pulumi.OutputState
}

func (AccountPublicAccessBlockPtrOutput) ElementType added in v3.25.0

func (AccountPublicAccessBlockPtrOutput) ToAccountPublicAccessBlockPtrOutput added in v3.25.0

func (o AccountPublicAccessBlockPtrOutput) ToAccountPublicAccessBlockPtrOutput() AccountPublicAccessBlockPtrOutput

func (AccountPublicAccessBlockPtrOutput) ToAccountPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (o AccountPublicAccessBlockPtrOutput) ToAccountPublicAccessBlockPtrOutputWithContext(ctx context.Context) AccountPublicAccessBlockPtrOutput

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 will fail if the request includes an object 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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*AnalyticsConfiguration) ElementType() reflect.Type

func (*AnalyticsConfiguration) ToAnalyticsConfigurationOutput added in v3.13.0

func (i *AnalyticsConfiguration) ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput

func (*AnalyticsConfiguration) ToAnalyticsConfigurationOutputWithContext added in v3.13.0

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

func (*AnalyticsConfiguration) ToAnalyticsConfigurationPtrOutput added in v3.25.0

func (i *AnalyticsConfiguration) ToAnalyticsConfigurationPtrOutput() AnalyticsConfigurationPtrOutput

func (*AnalyticsConfiguration) ToAnalyticsConfigurationPtrOutputWithContext added in v3.25.0

func (i *AnalyticsConfiguration) ToAnalyticsConfigurationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationPtrOutput

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 added in v3.25.0

type AnalyticsConfigurationArray []AnalyticsConfigurationInput

func (AnalyticsConfigurationArray) ElementType added in v3.25.0

func (AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutput added in v3.25.0

func (i AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutput() AnalyticsConfigurationArrayOutput

func (AnalyticsConfigurationArray) ToAnalyticsConfigurationArrayOutputWithContext added in v3.25.0

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

type AnalyticsConfigurationArrayInput added in v3.25.0

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 added in v3.25.0

type AnalyticsConfigurationArrayOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationArrayOutput) ElementType added in v3.25.0

func (AnalyticsConfigurationArrayOutput) Index added in v3.25.0

func (AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutput added in v3.25.0

func (o AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutput() AnalyticsConfigurationArrayOutput

func (AnalyticsConfigurationArrayOutput) ToAnalyticsConfigurationArrayOutputWithContext added in v3.25.0

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

type AnalyticsConfigurationInput interface {
	pulumi.Input

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

type AnalyticsConfigurationMap added in v3.25.0

type AnalyticsConfigurationMap map[string]AnalyticsConfigurationInput

func (AnalyticsConfigurationMap) ElementType added in v3.25.0

func (AnalyticsConfigurationMap) ElementType() reflect.Type

func (AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutput added in v3.25.0

func (i AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutput() AnalyticsConfigurationMapOutput

func (AnalyticsConfigurationMap) ToAnalyticsConfigurationMapOutputWithContext added in v3.25.0

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

type AnalyticsConfigurationMapInput added in v3.25.0

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 added in v3.25.0

type AnalyticsConfigurationMapOutput struct{ *pulumi.OutputState }

func (AnalyticsConfigurationMapOutput) ElementType added in v3.25.0

func (AnalyticsConfigurationMapOutput) MapIndex added in v3.25.0

func (AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutput added in v3.25.0

func (o AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutput() AnalyticsConfigurationMapOutput

func (AnalyticsConfigurationMapOutput) ToAnalyticsConfigurationMapOutputWithContext added in v3.25.0

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

type AnalyticsConfigurationOutput added in v3.13.0

type AnalyticsConfigurationOutput struct {
	*pulumi.OutputState
}

func (AnalyticsConfigurationOutput) ElementType added in v3.13.0

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput added in v3.13.0

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutput() AnalyticsConfigurationOutput

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationOutputWithContext added in v3.13.0

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

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationPtrOutput added in v3.25.0

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationPtrOutput() AnalyticsConfigurationPtrOutput

func (AnalyticsConfigurationOutput) ToAnalyticsConfigurationPtrOutputWithContext added in v3.25.0

func (o AnalyticsConfigurationOutput) ToAnalyticsConfigurationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationPtrOutput

type AnalyticsConfigurationPtrInput added in v3.25.0

type AnalyticsConfigurationPtrInput interface {
	pulumi.Input

	ToAnalyticsConfigurationPtrOutput() AnalyticsConfigurationPtrOutput
	ToAnalyticsConfigurationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationPtrOutput
}

type AnalyticsConfigurationPtrOutput added in v3.25.0

type AnalyticsConfigurationPtrOutput struct {
	*pulumi.OutputState
}

func (AnalyticsConfigurationPtrOutput) ElementType added in v3.25.0

func (AnalyticsConfigurationPtrOutput) ToAnalyticsConfigurationPtrOutput added in v3.25.0

func (o AnalyticsConfigurationPtrOutput) ToAnalyticsConfigurationPtrOutput() AnalyticsConfigurationPtrOutput

func (AnalyticsConfigurationPtrOutput) ToAnalyticsConfigurationPtrOutputWithContext added in v3.25.0

func (o AnalyticsConfigurationPtrOutput) ToAnalyticsConfigurationPtrOutputWithContext(ctx context.Context) AnalyticsConfigurationPtrOutput

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 less than or equal to 63 characters in length.
	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 less than or equal to 37 characters in length.
	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 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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

``` ### Using CORS

```go package main

import (

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

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "central", &providers.awsArgs{
			Region: pulumi.String("eu-central-1"),
		})
		if err != nil {
			return err
		}
		replicationRole, err := iam.NewRole(ctx, "replicationRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(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
		}
		bucket, err := s3.NewBucket(ctx, "bucket", &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"),
						Prefix: pulumi.String("foo"),
						Status: pulumi.String("Enabled"),
						Destination: &s3.BucketReplicationConfigurationRuleDestinationArgs{
							Bucket:       destination.Arn,
							StorageClass: pulumi.String("STANDARD"),
						},
					},
				},
			},
		}, pulumi.Provider(aws.Central))
		if err != nil {
			return err
		}
		replicationPolicy, err := iam.NewPolicy(ctx, "replicationPolicy", &iam.PolicyArgs{
			Policy: pulumi.All(bucket.Arn, bucket.Arn, destination.Arn).ApplyT(func(_args []interface{}) (string, error) {
				bucketArn := _args[0].(string)
				bucketArn1 := _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", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetReplicationConfiguration\",\n", "        \"s3:ListBucket\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", bucketArn, "\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:GetObjectVersion\",\n", "        \"s3:GetObjectVersionAcl\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", bucketArn1, "/*\"\n", "      ]\n", "    },\n", "    {\n", "      \"Action\": [\n", "        \"s3:ReplicateObject\",\n", "        \"s3:ReplicateDelete\"\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/v3/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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"),
						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 added in v3.13.0

func (*Bucket) ElementType() reflect.Type

func (*Bucket) ToBucketOutput added in v3.13.0

func (i *Bucket) ToBucketOutput() BucketOutput

func (*Bucket) ToBucketOutputWithContext added in v3.13.0

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

func (*Bucket) ToBucketPtrOutput added in v3.25.0

func (i *Bucket) ToBucketPtrOutput() BucketPtrOutput

func (*Bucket) ToBucketPtrOutputWithContext added in v3.25.0

func (i *Bucket) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

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 less than or equal to 63 characters in length.
	Bucket pulumi.StringPtrInput
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be less than or equal to 37 characters in length.
	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 added in v3.25.0

type BucketArray []BucketInput

func (BucketArray) ElementType added in v3.25.0

func (BucketArray) ElementType() reflect.Type

func (BucketArray) ToBucketArrayOutput added in v3.25.0

func (i BucketArray) ToBucketArrayOutput() BucketArrayOutput

func (BucketArray) ToBucketArrayOutputWithContext added in v3.25.0

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

type BucketArrayInput added in v3.25.0

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 added in v3.25.0

type BucketArrayOutput struct{ *pulumi.OutputState }

func (BucketArrayOutput) ElementType added in v3.25.0

func (BucketArrayOutput) ElementType() reflect.Type

func (BucketArrayOutput) Index added in v3.25.0

func (BucketArrayOutput) ToBucketArrayOutput added in v3.25.0

func (o BucketArrayOutput) ToBucketArrayOutput() BucketArrayOutput

func (BucketArrayOutput) ToBucketArrayOutputWithContext added in v3.25.0

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

type BucketInput interface {
	pulumi.Input

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

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 to which you want the noncurrent object versions to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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 to which you want the noncurrent object versions to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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 to which you want the noncurrent object versions to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.

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 to which you want the object to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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 to which you want the object to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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 to which you want the object to transition. Can be `ONEZONE_IA`, `STANDARD_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.

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 added in v3.25.0

type BucketMap map[string]BucketInput

func (BucketMap) ElementType added in v3.25.0

func (BucketMap) ElementType() reflect.Type

func (BucketMap) ToBucketMapOutput added in v3.25.0

func (i BucketMap) ToBucketMapOutput() BucketMapOutput

func (BucketMap) ToBucketMapOutputWithContext added in v3.25.0

func (i BucketMap) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketMapInput added in v3.25.0

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 added in v3.25.0

type BucketMapOutput struct{ *pulumi.OutputState }

func (BucketMapOutput) ElementType added in v3.25.0

func (BucketMapOutput) ElementType() reflect.Type

func (BucketMapOutput) MapIndex added in v3.25.0

func (BucketMapOutput) ToBucketMapOutput added in v3.25.0

func (o BucketMapOutput) ToBucketMapOutput() BucketMapOutput

func (BucketMapOutput) ToBucketMapOutputWithContext added in v3.25.0

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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*BucketMetric) ElementType() reflect.Type

func (*BucketMetric) ToBucketMetricOutput added in v3.13.0

func (i *BucketMetric) ToBucketMetricOutput() BucketMetricOutput

func (*BucketMetric) ToBucketMetricOutputWithContext added in v3.13.0

func (i *BucketMetric) ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput

func (*BucketMetric) ToBucketMetricPtrOutput added in v3.25.0

func (i *BucketMetric) ToBucketMetricPtrOutput() BucketMetricPtrOutput

func (*BucketMetric) ToBucketMetricPtrOutputWithContext added in v3.25.0

func (i *BucketMetric) ToBucketMetricPtrOutputWithContext(ctx context.Context) BucketMetricPtrOutput

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 added in v3.25.0

type BucketMetricArray []BucketMetricInput

func (BucketMetricArray) ElementType added in v3.25.0

func (BucketMetricArray) ElementType() reflect.Type

func (BucketMetricArray) ToBucketMetricArrayOutput added in v3.25.0

func (i BucketMetricArray) ToBucketMetricArrayOutput() BucketMetricArrayOutput

func (BucketMetricArray) ToBucketMetricArrayOutputWithContext added in v3.25.0

func (i BucketMetricArray) ToBucketMetricArrayOutputWithContext(ctx context.Context) BucketMetricArrayOutput

type BucketMetricArrayInput added in v3.25.0

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 added in v3.25.0

type BucketMetricArrayOutput struct{ *pulumi.OutputState }

func (BucketMetricArrayOutput) ElementType added in v3.25.0

func (BucketMetricArrayOutput) ElementType() reflect.Type

func (BucketMetricArrayOutput) Index added in v3.25.0

func (BucketMetricArrayOutput) ToBucketMetricArrayOutput added in v3.25.0

func (o BucketMetricArrayOutput) ToBucketMetricArrayOutput() BucketMetricArrayOutput

func (BucketMetricArrayOutput) ToBucketMetricArrayOutputWithContext added in v3.25.0

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

type BucketMetricInput interface {
	pulumi.Input

	ToBucketMetricOutput() BucketMetricOutput
	ToBucketMetricOutputWithContext(ctx context.Context) BucketMetricOutput
}

type BucketMetricMap added in v3.25.0

type BucketMetricMap map[string]BucketMetricInput

func (BucketMetricMap) ElementType added in v3.25.0

func (BucketMetricMap) ElementType() reflect.Type

func (BucketMetricMap) ToBucketMetricMapOutput added in v3.25.0

func (i BucketMetricMap) ToBucketMetricMapOutput() BucketMetricMapOutput

func (BucketMetricMap) ToBucketMetricMapOutputWithContext added in v3.25.0

func (i BucketMetricMap) ToBucketMetricMapOutputWithContext(ctx context.Context) BucketMetricMapOutput

type BucketMetricMapInput added in v3.25.0

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 added in v3.25.0

type BucketMetricMapOutput struct{ *pulumi.OutputState }

func (BucketMetricMapOutput) ElementType added in v3.25.0

func (BucketMetricMapOutput) ElementType() reflect.Type

func (BucketMetricMapOutput) MapIndex added in v3.25.0

func (BucketMetricMapOutput) ToBucketMetricMapOutput added in v3.25.0

func (o BucketMetricMapOutput) ToBucketMetricMapOutput() BucketMetricMapOutput

func (BucketMetricMapOutput) ToBucketMetricMapOutputWithContext added in v3.25.0

func (o BucketMetricMapOutput) ToBucketMetricMapOutputWithContext(ctx context.Context) BucketMetricMapOutput

type BucketMetricOutput added in v3.13.0

type BucketMetricOutput struct {
	*pulumi.OutputState
}

func (BucketMetricOutput) ElementType added in v3.13.0

func (BucketMetricOutput) ElementType() reflect.Type

func (BucketMetricOutput) ToBucketMetricOutput added in v3.13.0

func (o BucketMetricOutput) ToBucketMetricOutput() BucketMetricOutput

func (BucketMetricOutput) ToBucketMetricOutputWithContext added in v3.13.0

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

func (BucketMetricOutput) ToBucketMetricPtrOutput added in v3.25.0

func (o BucketMetricOutput) ToBucketMetricPtrOutput() BucketMetricPtrOutput

func (BucketMetricOutput) ToBucketMetricPtrOutputWithContext added in v3.25.0

func (o BucketMetricOutput) ToBucketMetricPtrOutputWithContext(ctx context.Context) BucketMetricPtrOutput

type BucketMetricPtrInput added in v3.25.0

type BucketMetricPtrInput interface {
	pulumi.Input

	ToBucketMetricPtrOutput() BucketMetricPtrOutput
	ToBucketMetricPtrOutputWithContext(ctx context.Context) BucketMetricPtrOutput
}

type BucketMetricPtrOutput added in v3.25.0

type BucketMetricPtrOutput struct {
	*pulumi.OutputState
}

func (BucketMetricPtrOutput) ElementType added in v3.25.0

func (BucketMetricPtrOutput) ElementType() reflect.Type

func (BucketMetricPtrOutput) ToBucketMetricPtrOutput added in v3.25.0

func (o BucketMetricPtrOutput) ToBucketMetricPtrOutput() BucketMetricPtrOutput

func (BucketMetricPtrOutput) ToBucketMetricPtrOutputWithContext added in v3.25.0

func (o BucketMetricPtrOutput) ToBucketMetricPtrOutputWithContext(ctx context.Context) BucketMetricPtrOutput

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

	// The name of the bucket to put notification configuration.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Used to configure notifications to a Lambda Function (documented below).
	LambdaFunctions BucketNotificationLambdaFunctionArrayOutput `pulumi:"lambdaFunctions"`
	// The notification configuration to SQS Queue (documented below).
	Queues BucketNotificationQueueArrayOutput `pulumi:"queues"`
	// The notification configuration to SNS Topic (documented 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/v3/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v2/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 multiple notification configurations to SQS Queue

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*BucketNotification) ElementType() reflect.Type

func (*BucketNotification) ToBucketNotificationOutput added in v3.13.0

func (i *BucketNotification) ToBucketNotificationOutput() BucketNotificationOutput

func (*BucketNotification) ToBucketNotificationOutputWithContext added in v3.13.0

func (i *BucketNotification) ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput

func (*BucketNotification) ToBucketNotificationPtrOutput added in v3.25.0

func (i *BucketNotification) ToBucketNotificationPtrOutput() BucketNotificationPtrOutput

func (*BucketNotification) ToBucketNotificationPtrOutputWithContext added in v3.25.0

func (i *BucketNotification) ToBucketNotificationPtrOutputWithContext(ctx context.Context) BucketNotificationPtrOutput

type BucketNotificationArgs

type BucketNotificationArgs struct {
	// The name of the bucket to put notification configuration.
	Bucket pulumi.StringInput
	// Used to configure notifications to a Lambda Function (documented below).
	LambdaFunctions BucketNotificationLambdaFunctionArrayInput
	// The notification configuration to SQS Queue (documented below).
	Queues BucketNotificationQueueArrayInput
	// The notification configuration to SNS Topic (documented below).
	Topics BucketNotificationTopicArrayInput
}

The set of arguments for constructing a BucketNotification resource.

func (BucketNotificationArgs) ElementType

func (BucketNotificationArgs) ElementType() reflect.Type

type BucketNotificationArray added in v3.25.0

type BucketNotificationArray []BucketNotificationInput

func (BucketNotificationArray) ElementType added in v3.25.0

func (BucketNotificationArray) ElementType() reflect.Type

func (BucketNotificationArray) ToBucketNotificationArrayOutput added in v3.25.0

func (i BucketNotificationArray) ToBucketNotificationArrayOutput() BucketNotificationArrayOutput

func (BucketNotificationArray) ToBucketNotificationArrayOutputWithContext added in v3.25.0

func (i BucketNotificationArray) ToBucketNotificationArrayOutputWithContext(ctx context.Context) BucketNotificationArrayOutput

type BucketNotificationArrayInput added in v3.25.0

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 added in v3.25.0

type BucketNotificationArrayOutput struct{ *pulumi.OutputState }

func (BucketNotificationArrayOutput) ElementType added in v3.25.0

func (BucketNotificationArrayOutput) Index added in v3.25.0

func (BucketNotificationArrayOutput) ToBucketNotificationArrayOutput added in v3.25.0

func (o BucketNotificationArrayOutput) ToBucketNotificationArrayOutput() BucketNotificationArrayOutput

func (BucketNotificationArrayOutput) ToBucketNotificationArrayOutputWithContext added in v3.25.0

func (o BucketNotificationArrayOutput) ToBucketNotificationArrayOutputWithContext(ctx context.Context) BucketNotificationArrayOutput

type BucketNotificationInput added in v3.13.0

type BucketNotificationInput interface {
	pulumi.Input

	ToBucketNotificationOutput() BucketNotificationOutput
	ToBucketNotificationOutputWithContext(ctx context.Context) BucketNotificationOutput
}

type BucketNotificationLambdaFunction

type BucketNotificationLambdaFunction struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// Specifies Amazon Lambda function ARN.
	LambdaFunctionArn *string `pulumi:"lambdaFunctionArn"`
}

type BucketNotificationLambdaFunctionArgs

type BucketNotificationLambdaFunctionArgs struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies Amazon 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

Specifies object key name prefix.

func (BucketNotificationLambdaFunctionOutput) FilterSuffix

Specifies object key name suffix.

func (BucketNotificationLambdaFunctionOutput) Id

Specifies unique identifier for each of the notification configurations.

func (BucketNotificationLambdaFunctionOutput) LambdaFunctionArn

Specifies Amazon Lambda function ARN.

func (BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutput

func (o BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutput() BucketNotificationLambdaFunctionOutput

func (BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutputWithContext

func (o BucketNotificationLambdaFunctionOutput) ToBucketNotificationLambdaFunctionOutputWithContext(ctx context.Context) BucketNotificationLambdaFunctionOutput

type BucketNotificationMap added in v3.25.0

type BucketNotificationMap map[string]BucketNotificationInput

func (BucketNotificationMap) ElementType added in v3.25.0

func (BucketNotificationMap) ElementType() reflect.Type

func (BucketNotificationMap) ToBucketNotificationMapOutput added in v3.25.0

func (i BucketNotificationMap) ToBucketNotificationMapOutput() BucketNotificationMapOutput

func (BucketNotificationMap) ToBucketNotificationMapOutputWithContext added in v3.25.0

func (i BucketNotificationMap) ToBucketNotificationMapOutputWithContext(ctx context.Context) BucketNotificationMapOutput

type BucketNotificationMapInput added in v3.25.0

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 added in v3.25.0

type BucketNotificationMapOutput struct{ *pulumi.OutputState }

func (BucketNotificationMapOutput) ElementType added in v3.25.0

func (BucketNotificationMapOutput) MapIndex added in v3.25.0

func (BucketNotificationMapOutput) ToBucketNotificationMapOutput added in v3.25.0

func (o BucketNotificationMapOutput) ToBucketNotificationMapOutput() BucketNotificationMapOutput

func (BucketNotificationMapOutput) ToBucketNotificationMapOutputWithContext added in v3.25.0

func (o BucketNotificationMapOutput) ToBucketNotificationMapOutputWithContext(ctx context.Context) BucketNotificationMapOutput

type BucketNotificationOutput added in v3.13.0

type BucketNotificationOutput struct {
	*pulumi.OutputState
}

func (BucketNotificationOutput) ElementType added in v3.13.0

func (BucketNotificationOutput) ElementType() reflect.Type

func (BucketNotificationOutput) ToBucketNotificationOutput added in v3.13.0

func (o BucketNotificationOutput) ToBucketNotificationOutput() BucketNotificationOutput

func (BucketNotificationOutput) ToBucketNotificationOutputWithContext added in v3.13.0

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

func (BucketNotificationOutput) ToBucketNotificationPtrOutput added in v3.25.0

func (o BucketNotificationOutput) ToBucketNotificationPtrOutput() BucketNotificationPtrOutput

func (BucketNotificationOutput) ToBucketNotificationPtrOutputWithContext added in v3.25.0

func (o BucketNotificationOutput) ToBucketNotificationPtrOutputWithContext(ctx context.Context) BucketNotificationPtrOutput

type BucketNotificationPtrInput added in v3.25.0

type BucketNotificationPtrInput interface {
	pulumi.Input

	ToBucketNotificationPtrOutput() BucketNotificationPtrOutput
	ToBucketNotificationPtrOutputWithContext(ctx context.Context) BucketNotificationPtrOutput
}

type BucketNotificationPtrOutput added in v3.25.0

type BucketNotificationPtrOutput struct {
	*pulumi.OutputState
}

func (BucketNotificationPtrOutput) ElementType added in v3.25.0

func (BucketNotificationPtrOutput) ToBucketNotificationPtrOutput added in v3.25.0

func (o BucketNotificationPtrOutput) ToBucketNotificationPtrOutput() BucketNotificationPtrOutput

func (BucketNotificationPtrOutput) ToBucketNotificationPtrOutputWithContext added in v3.25.0

func (o BucketNotificationPtrOutput) ToBucketNotificationPtrOutputWithContext(ctx context.Context) BucketNotificationPtrOutput

type BucketNotificationQueue

type BucketNotificationQueue struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// Specifies Amazon SQS queue ARN.
	QueueArn string `pulumi:"queueArn"`
}

type BucketNotificationQueueArgs

type BucketNotificationQueueArgs struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies Amazon 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

Specifies object key name prefix.

func (BucketNotificationQueueOutput) FilterSuffix

Specifies object key name suffix.

func (BucketNotificationQueueOutput) Id

Specifies unique identifier for each of the notification configurations.

func (BucketNotificationQueueOutput) QueueArn

Specifies Amazon 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 {
	// The name of the bucket to put notification configuration.
	Bucket pulumi.StringPtrInput
	// Used to configure notifications to a Lambda Function (documented below).
	LambdaFunctions BucketNotificationLambdaFunctionArrayInput
	// The notification configuration to SQS Queue (documented below).
	Queues BucketNotificationQueueArrayInput
	// The notification configuration to SNS Topic (documented below).
	Topics BucketNotificationTopicArrayInput
}

func (BucketNotificationState) ElementType

func (BucketNotificationState) ElementType() reflect.Type

type BucketNotificationTopic

type BucketNotificationTopic struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events []string `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix *string `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix *string `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id *string `pulumi:"id"`
	// Specifies Amazon SNS topic ARN.
	TopicArn string `pulumi:"topicArn"`
}

type BucketNotificationTopicArgs

type BucketNotificationTopicArgs struct {
	// Specifies [event](http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations) for which to send notifications.
	Events pulumi.StringArrayInput `pulumi:"events"`
	// Specifies object key name prefix.
	FilterPrefix pulumi.StringPtrInput `pulumi:"filterPrefix"`
	// Specifies object key name suffix.
	FilterSuffix pulumi.StringPtrInput `pulumi:"filterSuffix"`
	// Specifies unique identifier for each of the notification configurations.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies Amazon 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

Specifies object key name prefix.

func (BucketNotificationTopicOutput) FilterSuffix

Specifies object key name suffix.

func (BucketNotificationTopicOutput) Id

Specifies 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

Specifies Amazon SNS topic ARN.

type BucketObject

type BucketObject struct {
	pulumi.CustomResourceState

	// 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`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// The 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"`
	// 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.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"`
	// 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.StringPtrOutput `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.StringPtrOutput `pulumi:"contentEncoding"`
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrOutput `pulumi:"contentLanguage"`
	// A 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"`
	// Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (this provider 0.11.12 or later) or `${md5(file("path/to/file"))}` (this provider 0.11.11 or earlier).
	// This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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"`
	// The name of the object once it is in the bucket.
	Key pulumi.StringOutput `pulumi:"key"`
	// Amazon Resource Name (ARN) of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the
	// `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value
	// is provided.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// 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"`
	// 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.StringPtrOutput `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.StringPtrOutput `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.StringPtrOutput `pulumi:"objectLockRetainUntilDate"`
	// Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringOutput `pulumi:"serverSideEncryption"`
	// The path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveOutput `pulumi:"source"`
	// Specifies the desired [Storage Class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either "`STANDARD`", "`REDUCED_REDUNDANCY`", "`ONEZONE_IA`", "`INTELLIGENT_TIERING`", "`GLACIER`", "`DEEP_ARCHIVE`", or "`STANDARD_IA`". Defaults to "`STANDARD`".
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// A map of tags to assign to the object.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A unique version ID value for the object, if bucket versioning
	// is enabled.
	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.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/v3/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

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

func (*BucketObject) ElementType() reflect.Type

func (*BucketObject) ToBucketObjectOutput added in v3.13.0

func (i *BucketObject) ToBucketObjectOutput() BucketObjectOutput

func (*BucketObject) ToBucketObjectOutputWithContext added in v3.13.0

func (i *BucketObject) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

func (*BucketObject) ToBucketObjectPtrOutput added in v3.25.0

func (i *BucketObject) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (*BucketObject) ToBucketObjectPtrOutputWithContext added in v3.25.0

func (i *BucketObject) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectArgs

type BucketObjectArgs struct {
	// 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`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrInput
	// The 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
	// 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
	// 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
	// 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
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// A 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
	// Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (this provider 0.11.12 or later) or `${md5(file("path/to/file"))}` (this provider 0.11.11 or earlier).
	// This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`.
	Etag 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
	// The name of the object once it is in the bucket.
	Key pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the
	// `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value
	// is provided.
	KmsKeyId pulumi.StringPtrInput
	// 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
	// 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
	// Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// The path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Specifies the desired [Storage Class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either "`STANDARD`", "`REDUCED_REDUNDANCY`", "`ONEZONE_IA`", "`INTELLIGENT_TIERING`", "`GLACIER`", "`DEEP_ARCHIVE`", or "`STANDARD_IA`". Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// A map of tags to assign to the object.
	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 BucketObject resource.

func (BucketObjectArgs) ElementType

func (BucketObjectArgs) ElementType() reflect.Type

type BucketObjectArray added in v3.25.0

type BucketObjectArray []BucketObjectInput

func (BucketObjectArray) ElementType added in v3.25.0

func (BucketObjectArray) ElementType() reflect.Type

func (BucketObjectArray) ToBucketObjectArrayOutput added in v3.25.0

func (i BucketObjectArray) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArray) ToBucketObjectArrayOutputWithContext added in v3.25.0

func (i BucketObjectArray) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectArrayInput added in v3.25.0

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 added in v3.25.0

type BucketObjectArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectArrayOutput) ElementType added in v3.25.0

func (BucketObjectArrayOutput) ElementType() reflect.Type

func (BucketObjectArrayOutput) Index added in v3.25.0

func (BucketObjectArrayOutput) ToBucketObjectArrayOutput added in v3.25.0

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext added in v3.25.0

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectInput added in v3.13.0

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 added in v3.25.0

type BucketObjectMap map[string]BucketObjectInput

func (BucketObjectMap) ElementType added in v3.25.0

func (BucketObjectMap) ElementType() reflect.Type

func (BucketObjectMap) ToBucketObjectMapOutput added in v3.25.0

func (i BucketObjectMap) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMap) ToBucketObjectMapOutputWithContext added in v3.25.0

func (i BucketObjectMap) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectMapInput added in v3.25.0

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 added in v3.25.0

type BucketObjectMapOutput struct{ *pulumi.OutputState }

func (BucketObjectMapOutput) ElementType added in v3.25.0

func (BucketObjectMapOutput) ElementType() reflect.Type

func (BucketObjectMapOutput) MapIndex added in v3.25.0

func (BucketObjectMapOutput) ToBucketObjectMapOutput added in v3.25.0

func (o BucketObjectMapOutput) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMapOutput) ToBucketObjectMapOutputWithContext added in v3.25.0

func (o BucketObjectMapOutput) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectOutput added in v3.13.0

type BucketObjectOutput struct {
	*pulumi.OutputState
}

func (BucketObjectOutput) ElementType added in v3.13.0

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) ToBucketObjectOutput added in v3.13.0

func (o BucketObjectOutput) ToBucketObjectOutput() BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectOutputWithContext added in v3.13.0

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

func (BucketObjectOutput) ToBucketObjectPtrOutput added in v3.25.0

func (o BucketObjectOutput) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (BucketObjectOutput) ToBucketObjectPtrOutputWithContext added in v3.25.0

func (o BucketObjectOutput) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectPtrInput added in v3.25.0

type BucketObjectPtrInput interface {
	pulumi.Input

	ToBucketObjectPtrOutput() BucketObjectPtrOutput
	ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput
}

type BucketObjectPtrOutput added in v3.25.0

type BucketObjectPtrOutput struct {
	*pulumi.OutputState
}

func (BucketObjectPtrOutput) ElementType added in v3.25.0

func (BucketObjectPtrOutput) ElementType() reflect.Type

func (BucketObjectPtrOutput) ToBucketObjectPtrOutput added in v3.25.0

func (o BucketObjectPtrOutput) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (BucketObjectPtrOutput) ToBucketObjectPtrOutputWithContext added in v3.25.0

func (o BucketObjectPtrOutput) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectState

type BucketObjectState struct {
	// 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`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.
	Acl pulumi.StringPtrInput
	// The 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.StringPtrInput
	// 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
	// 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
	// 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
	// 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
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// A 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
	// Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (this provider 0.11.12 or later) or `${md5(file("path/to/file"))}` (this provider 0.11.11 or earlier).
	// This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`.
	Etag 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
	// The name of the object once it is in the bucket.
	Key pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the
	// `kms.Key` resource, use the `arn` attribute. If referencing the `kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value
	// is provided.
	KmsKeyId pulumi.StringPtrInput
	// 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
	// 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
	// Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption pulumi.StringPtrInput
	// The path to a file that will be read and uploaded as raw bytes for the object content.
	Source pulumi.AssetOrArchiveInput
	// Specifies the desired [Storage Class](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either "`STANDARD`", "`REDUCED_REDUNDANCY`", "`ONEZONE_IA`", "`INTELLIGENT_TIERING`", "`GLACIER`", "`DEEP_ARCHIVE`", or "`STANDARD_IA`". Defaults to "`STANDARD`".
	StorageClass pulumi.StringPtrInput
	// A map of tags to assign to the object.
	Tags pulumi.StringMapInput
	// A unique version ID value for the object, if bucket versioning
	// is enabled.
	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 (BucketObjectState) ElementType

func (BucketObjectState) ElementType() reflect.Type

type BucketOutput added in v3.13.0

type BucketOutput struct {
	*pulumi.OutputState
}

func (BucketOutput) ElementType added in v3.13.0

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) ToBucketOutput added in v3.13.0

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext added in v3.13.0

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

func (BucketOutput) ToBucketPtrOutput added in v3.25.0

func (o BucketOutput) ToBucketPtrOutput() BucketPtrOutput

func (BucketOutput) ToBucketPtrOutputWithContext added in v3.25.0

func (o BucketOutput) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

type BucketOwnershipControls added in v3.7.0

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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.7.0

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 added in v3.7.0

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

func (*BucketOwnershipControls) ElementType() reflect.Type

func (*BucketOwnershipControls) ToBucketOwnershipControlsOutput added in v3.13.0

func (i *BucketOwnershipControls) ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput

func (*BucketOwnershipControls) ToBucketOwnershipControlsOutputWithContext added in v3.13.0

func (i *BucketOwnershipControls) ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput

func (*BucketOwnershipControls) ToBucketOwnershipControlsPtrOutput added in v3.25.0

func (i *BucketOwnershipControls) ToBucketOwnershipControlsPtrOutput() BucketOwnershipControlsPtrOutput

func (*BucketOwnershipControls) ToBucketOwnershipControlsPtrOutputWithContext added in v3.25.0

func (i *BucketOwnershipControls) ToBucketOwnershipControlsPtrOutputWithContext(ctx context.Context) BucketOwnershipControlsPtrOutput

type BucketOwnershipControlsArgs added in v3.7.0

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 added in v3.7.0

type BucketOwnershipControlsArray added in v3.25.0

type BucketOwnershipControlsArray []BucketOwnershipControlsInput

func (BucketOwnershipControlsArray) ElementType added in v3.25.0

func (BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutput added in v3.25.0

func (i BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutput() BucketOwnershipControlsArrayOutput

func (BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutputWithContext added in v3.25.0

func (i BucketOwnershipControlsArray) ToBucketOwnershipControlsArrayOutputWithContext(ctx context.Context) BucketOwnershipControlsArrayOutput

type BucketOwnershipControlsArrayInput added in v3.25.0

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 added in v3.25.0

type BucketOwnershipControlsArrayOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsArrayOutput) ElementType added in v3.25.0

func (BucketOwnershipControlsArrayOutput) Index added in v3.25.0

func (BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutput added in v3.25.0

func (o BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutput() BucketOwnershipControlsArrayOutput

func (BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutputWithContext added in v3.25.0

func (o BucketOwnershipControlsArrayOutput) ToBucketOwnershipControlsArrayOutputWithContext(ctx context.Context) BucketOwnershipControlsArrayOutput

type BucketOwnershipControlsInput added in v3.13.0

type BucketOwnershipControlsInput interface {
	pulumi.Input

	ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput
	ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput
}

type BucketOwnershipControlsMap added in v3.25.0

type BucketOwnershipControlsMap map[string]BucketOwnershipControlsInput

func (BucketOwnershipControlsMap) ElementType added in v3.25.0

func (BucketOwnershipControlsMap) ElementType() reflect.Type

func (BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutput added in v3.25.0

func (i BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutput() BucketOwnershipControlsMapOutput

func (BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutputWithContext added in v3.25.0

func (i BucketOwnershipControlsMap) ToBucketOwnershipControlsMapOutputWithContext(ctx context.Context) BucketOwnershipControlsMapOutput

type BucketOwnershipControlsMapInput added in v3.25.0

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 added in v3.25.0

type BucketOwnershipControlsMapOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsMapOutput) ElementType added in v3.25.0

func (BucketOwnershipControlsMapOutput) MapIndex added in v3.25.0

func (BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutput added in v3.25.0

func (o BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutput() BucketOwnershipControlsMapOutput

func (BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutputWithContext added in v3.25.0

func (o BucketOwnershipControlsMapOutput) ToBucketOwnershipControlsMapOutputWithContext(ctx context.Context) BucketOwnershipControlsMapOutput

type BucketOwnershipControlsOutput added in v3.13.0

type BucketOwnershipControlsOutput struct {
	*pulumi.OutputState
}

func (BucketOwnershipControlsOutput) ElementType added in v3.13.0

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutput added in v3.13.0

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutput() BucketOwnershipControlsOutput

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutputWithContext added in v3.13.0

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsOutputWithContext(ctx context.Context) BucketOwnershipControlsOutput

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsPtrOutput added in v3.25.0

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsPtrOutput() BucketOwnershipControlsPtrOutput

func (BucketOwnershipControlsOutput) ToBucketOwnershipControlsPtrOutputWithContext added in v3.25.0

func (o BucketOwnershipControlsOutput) ToBucketOwnershipControlsPtrOutputWithContext(ctx context.Context) BucketOwnershipControlsPtrOutput

type BucketOwnershipControlsPtrInput added in v3.25.0

type BucketOwnershipControlsPtrInput interface {
	pulumi.Input

	ToBucketOwnershipControlsPtrOutput() BucketOwnershipControlsPtrOutput
	ToBucketOwnershipControlsPtrOutputWithContext(ctx context.Context) BucketOwnershipControlsPtrOutput
}

type BucketOwnershipControlsPtrOutput added in v3.25.0

type BucketOwnershipControlsPtrOutput struct {
	*pulumi.OutputState
}

func (BucketOwnershipControlsPtrOutput) ElementType added in v3.25.0

func (BucketOwnershipControlsPtrOutput) ToBucketOwnershipControlsPtrOutput added in v3.25.0

func (o BucketOwnershipControlsPtrOutput) ToBucketOwnershipControlsPtrOutput() BucketOwnershipControlsPtrOutput

func (BucketOwnershipControlsPtrOutput) ToBucketOwnershipControlsPtrOutputWithContext added in v3.25.0

func (o BucketOwnershipControlsPtrOutput) ToBucketOwnershipControlsPtrOutputWithContext(ctx context.Context) BucketOwnershipControlsPtrOutput

type BucketOwnershipControlsRule added in v3.7.0

type BucketOwnershipControlsRule struct {
	// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter`
	ObjectOwnership string `pulumi:"objectOwnership"`
}

type BucketOwnershipControlsRuleArgs added in v3.7.0

type BucketOwnershipControlsRuleArgs struct {
	// Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter`
	ObjectOwnership pulumi.StringInput `pulumi:"objectOwnership"`
}

func (BucketOwnershipControlsRuleArgs) ElementType added in v3.7.0

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutput added in v3.7.0

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutputWithContext added in v3.7.0

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutput added in v3.7.0

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutputWithContext added in v3.7.0

func (i BucketOwnershipControlsRuleArgs) ToBucketOwnershipControlsRulePtrOutputWithContext(ctx context.Context) BucketOwnershipControlsRulePtrOutput

type BucketOwnershipControlsRuleInput added in v3.7.0

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 added in v3.7.0

type BucketOwnershipControlsRuleOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsRuleOutput) ElementType added in v3.7.0

func (BucketOwnershipControlsRuleOutput) ObjectOwnership added in v3.7.0

Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter`

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutput added in v3.7.0

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutput() BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutputWithContext added in v3.7.0

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRuleOutputWithContext(ctx context.Context) BucketOwnershipControlsRuleOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutput added in v3.7.0

func (o BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRuleOutput) ToBucketOwnershipControlsRulePtrOutputWithContext added in v3.7.0

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

type BucketOwnershipControlsRulePtrInput added in v3.7.0

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

func BucketOwnershipControlsRulePtr added in v3.7.0

type BucketOwnershipControlsRulePtrOutput added in v3.7.0

type BucketOwnershipControlsRulePtrOutput struct{ *pulumi.OutputState }

func (BucketOwnershipControlsRulePtrOutput) Elem added in v3.7.0

func (BucketOwnershipControlsRulePtrOutput) ElementType added in v3.7.0

func (BucketOwnershipControlsRulePtrOutput) ObjectOwnership added in v3.7.0

Object ownership. Valid values: `BucketOwnerPreferred` or `ObjectWriter`

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput added in v3.7.0

func (o BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutput() BucketOwnershipControlsRulePtrOutput

func (BucketOwnershipControlsRulePtrOutput) ToBucketOwnershipControlsRulePtrOutputWithContext added in v3.7.0

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

type BucketOwnershipControlsState added in v3.7.0

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 added in v3.7.0

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

"encoding/json"
"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = s3.NewBucketPolicy(ctx, "bucketPolicy", &s3.BucketPolicyArgs{
			Bucket: bucket.ID(),
			Policy: pulumi.All(bucket.Arn, bucket.Arn).ApplyT(func(_args []interface{}) (pulumi.String, error) {
				bucketArn := _args[0].(string)
				bucketArn1 := _args[1].(string)
				var _zero pulumi.String
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"Version": "2012-10-17",
					"Id":      "MYBUCKETPOLICY",
					"Statement": []map[string]interface{}{
						map[string]interface{}{
							"Sid":       "IPAllow",
							"Effect":    "Deny",
							"Principal": "*",
							"Action":    "s3:*",
							"Resource": []string{
								bucketArn,
								fmt.Sprintf("%v%v", bucketArn1, "/*"),
							},
							"Condition": map[string]interface{}{
								"IpAddress": map[string]interface{}{
									"aws:SourceIp": "8.8.8.8/32",
								},
							},
						},
					},
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return pulumi.String(json0), 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 added in v3.13.0

func (*BucketPolicy) ElementType() reflect.Type

func (*BucketPolicy) ToBucketPolicyOutput added in v3.13.0

func (i *BucketPolicy) ToBucketPolicyOutput() BucketPolicyOutput

func (*BucketPolicy) ToBucketPolicyOutputWithContext added in v3.13.0

func (i *BucketPolicy) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

func (*BucketPolicy) ToBucketPolicyPtrOutput added in v3.25.0

func (i *BucketPolicy) ToBucketPolicyPtrOutput() BucketPolicyPtrOutput

func (*BucketPolicy) ToBucketPolicyPtrOutputWithContext added in v3.25.0

func (i *BucketPolicy) ToBucketPolicyPtrOutputWithContext(ctx context.Context) BucketPolicyPtrOutput

type BucketPolicyArgs

type BucketPolicyArgs struct {
	// The name of the bucket to which to apply the policy.
	Bucket pulumi.StringInput
	// The text of the policy. 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 added in v3.25.0

type BucketPolicyArray []BucketPolicyInput

func (BucketPolicyArray) ElementType added in v3.25.0

func (BucketPolicyArray) ElementType() reflect.Type

func (BucketPolicyArray) ToBucketPolicyArrayOutput added in v3.25.0

func (i BucketPolicyArray) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArray) ToBucketPolicyArrayOutputWithContext added in v3.25.0

func (i BucketPolicyArray) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyArrayInput added in v3.25.0

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 added in v3.25.0

type BucketPolicyArrayOutput struct{ *pulumi.OutputState }

func (BucketPolicyArrayOutput) ElementType added in v3.25.0

func (BucketPolicyArrayOutput) ElementType() reflect.Type

func (BucketPolicyArrayOutput) Index added in v3.25.0

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutput added in v3.25.0

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext added in v3.25.0

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyInput added in v3.13.0

type BucketPolicyInput interface {
	pulumi.Input

	ToBucketPolicyOutput() BucketPolicyOutput
	ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput
}

type BucketPolicyMap added in v3.25.0

type BucketPolicyMap map[string]BucketPolicyInput

func (BucketPolicyMap) ElementType added in v3.25.0

func (BucketPolicyMap) ElementType() reflect.Type

func (BucketPolicyMap) ToBucketPolicyMapOutput added in v3.25.0

func (i BucketPolicyMap) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMap) ToBucketPolicyMapOutputWithContext added in v3.25.0

func (i BucketPolicyMap) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyMapInput added in v3.25.0

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 added in v3.25.0

type BucketPolicyMapOutput struct{ *pulumi.OutputState }

func (BucketPolicyMapOutput) ElementType added in v3.25.0

func (BucketPolicyMapOutput) ElementType() reflect.Type

func (BucketPolicyMapOutput) MapIndex added in v3.25.0

func (BucketPolicyMapOutput) ToBucketPolicyMapOutput added in v3.25.0

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext added in v3.25.0

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyOutput added in v3.13.0

type BucketPolicyOutput struct {
	*pulumi.OutputState
}

func (BucketPolicyOutput) ElementType added in v3.13.0

func (BucketPolicyOutput) ElementType() reflect.Type

func (BucketPolicyOutput) ToBucketPolicyOutput added in v3.13.0

func (o BucketPolicyOutput) ToBucketPolicyOutput() BucketPolicyOutput

func (BucketPolicyOutput) ToBucketPolicyOutputWithContext added in v3.13.0

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

func (BucketPolicyOutput) ToBucketPolicyPtrOutput added in v3.25.0

func (o BucketPolicyOutput) ToBucketPolicyPtrOutput() BucketPolicyPtrOutput

func (BucketPolicyOutput) ToBucketPolicyPtrOutputWithContext added in v3.25.0

func (o BucketPolicyOutput) ToBucketPolicyPtrOutputWithContext(ctx context.Context) BucketPolicyPtrOutput

type BucketPolicyPtrInput added in v3.25.0

type BucketPolicyPtrInput interface {
	pulumi.Input

	ToBucketPolicyPtrOutput() BucketPolicyPtrOutput
	ToBucketPolicyPtrOutputWithContext(ctx context.Context) BucketPolicyPtrOutput
}

type BucketPolicyPtrOutput added in v3.25.0

type BucketPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (BucketPolicyPtrOutput) ElementType added in v3.25.0

func (BucketPolicyPtrOutput) ElementType() reflect.Type

func (BucketPolicyPtrOutput) ToBucketPolicyPtrOutput added in v3.25.0

func (o BucketPolicyPtrOutput) ToBucketPolicyPtrOutput() BucketPolicyPtrOutput

func (BucketPolicyPtrOutput) ToBucketPolicyPtrOutputWithContext added in v3.25.0

func (o BucketPolicyPtrOutput) ToBucketPolicyPtrOutputWithContext(ctx context.Context) BucketPolicyPtrOutput

type BucketPolicyState

type BucketPolicyState struct {
	// The name of the bucket to which to apply the policy.
	Bucket pulumi.StringPtrInput
	// The text of the policy. Note: Bucket policies are limited to 20 KB in size.
	Policy pulumi.StringPtrInput
}

func (BucketPolicyState) ElementType

func (BucketPolicyState) ElementType() reflect.Type

type BucketPtrInput added in v3.25.0

type BucketPtrInput interface {
	pulumi.Input

	ToBucketPtrOutput() BucketPtrOutput
	ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput
}

type BucketPtrOutput added in v3.25.0

type BucketPtrOutput struct {
	*pulumi.OutputState
}

func (BucketPtrOutput) ElementType added in v3.25.0

func (BucketPtrOutput) ElementType() reflect.Type

func (BucketPtrOutput) ToBucketPtrOutput added in v3.25.0

func (o BucketPtrOutput) ToBucketPtrOutput() BucketPtrOutput

func (BucketPtrOutput) ToBucketPtrOutputWithContext added in v3.25.0

func (o BucketPtrOutput) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*BucketPublicAccessBlock) ElementType() reflect.Type

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockOutput added in v3.13.0

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockOutputWithContext added in v3.13.0

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockPtrOutput added in v3.25.0

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockPtrOutput() BucketPublicAccessBlockPtrOutput

func (*BucketPublicAccessBlock) ToBucketPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (i *BucketPublicAccessBlock) ToBucketPublicAccessBlockPtrOutputWithContext(ctx context.Context) BucketPublicAccessBlockPtrOutput

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 added in v3.25.0

type BucketPublicAccessBlockArray []BucketPublicAccessBlockInput

func (BucketPublicAccessBlockArray) ElementType added in v3.25.0

func (BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutput added in v3.25.0

func (i BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutput() BucketPublicAccessBlockArrayOutput

func (BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutputWithContext added in v3.25.0

func (i BucketPublicAccessBlockArray) ToBucketPublicAccessBlockArrayOutputWithContext(ctx context.Context) BucketPublicAccessBlockArrayOutput

type BucketPublicAccessBlockArrayInput added in v3.25.0

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 added in v3.25.0

type BucketPublicAccessBlockArrayOutput struct{ *pulumi.OutputState }

func (BucketPublicAccessBlockArrayOutput) ElementType added in v3.25.0

func (BucketPublicAccessBlockArrayOutput) Index added in v3.25.0

func (BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutput added in v3.25.0

func (o BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutput() BucketPublicAccessBlockArrayOutput

func (BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutputWithContext added in v3.25.0

func (o BucketPublicAccessBlockArrayOutput) ToBucketPublicAccessBlockArrayOutputWithContext(ctx context.Context) BucketPublicAccessBlockArrayOutput

type BucketPublicAccessBlockInput added in v3.13.0

type BucketPublicAccessBlockInput interface {
	pulumi.Input

	ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput
	ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput
}

type BucketPublicAccessBlockMap added in v3.25.0

type BucketPublicAccessBlockMap map[string]BucketPublicAccessBlockInput

func (BucketPublicAccessBlockMap) ElementType added in v3.25.0

func (BucketPublicAccessBlockMap) ElementType() reflect.Type

func (BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutput added in v3.25.0

func (i BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutput() BucketPublicAccessBlockMapOutput

func (BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutputWithContext added in v3.25.0

func (i BucketPublicAccessBlockMap) ToBucketPublicAccessBlockMapOutputWithContext(ctx context.Context) BucketPublicAccessBlockMapOutput

type BucketPublicAccessBlockMapInput added in v3.25.0

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 added in v3.25.0

type BucketPublicAccessBlockMapOutput struct{ *pulumi.OutputState }

func (BucketPublicAccessBlockMapOutput) ElementType added in v3.25.0

func (BucketPublicAccessBlockMapOutput) MapIndex added in v3.25.0

func (BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutput added in v3.25.0

func (o BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutput() BucketPublicAccessBlockMapOutput

func (BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutputWithContext added in v3.25.0

func (o BucketPublicAccessBlockMapOutput) ToBucketPublicAccessBlockMapOutputWithContext(ctx context.Context) BucketPublicAccessBlockMapOutput

type BucketPublicAccessBlockOutput added in v3.13.0

type BucketPublicAccessBlockOutput struct {
	*pulumi.OutputState
}

func (BucketPublicAccessBlockOutput) ElementType added in v3.13.0

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutput added in v3.13.0

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutput() BucketPublicAccessBlockOutput

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutputWithContext added in v3.13.0

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockOutputWithContext(ctx context.Context) BucketPublicAccessBlockOutput

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockPtrOutput added in v3.25.0

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockPtrOutput() BucketPublicAccessBlockPtrOutput

func (BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (o BucketPublicAccessBlockOutput) ToBucketPublicAccessBlockPtrOutputWithContext(ctx context.Context) BucketPublicAccessBlockPtrOutput

type BucketPublicAccessBlockPtrInput added in v3.25.0

type BucketPublicAccessBlockPtrInput interface {
	pulumi.Input

	ToBucketPublicAccessBlockPtrOutput() BucketPublicAccessBlockPtrOutput
	ToBucketPublicAccessBlockPtrOutputWithContext(ctx context.Context) BucketPublicAccessBlockPtrOutput
}

type BucketPublicAccessBlockPtrOutput added in v3.25.0

type BucketPublicAccessBlockPtrOutput struct {
	*pulumi.OutputState
}

func (BucketPublicAccessBlockPtrOutput) ElementType added in v3.25.0

func (BucketPublicAccessBlockPtrOutput) ToBucketPublicAccessBlockPtrOutput added in v3.25.0

func (o BucketPublicAccessBlockPtrOutput) ToBucketPublicAccessBlockPtrOutput() BucketPublicAccessBlockPtrOutput

func (BucketPublicAccessBlockPtrOutput) ToBucketPublicAccessBlockPtrOutputWithContext added in v3.25.0

func (o BucketPublicAccessBlockPtrOutput) ToBucketPublicAccessBlockPtrOutputWithContext(ctx context.Context) BucketPublicAccessBlockPtrOutput

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 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 {
	// 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"`
	// is optional (with a default value of `0`) but 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 {
	// 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"`
	// is optional (with a default value of `0`) but 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"`
	// Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with
	// `sseKmsEncryptedObjects` source selection criteria.
	ReplicaKmsKeyId *string `pulumi:"replicaKmsKeyId"`
	// The class of storage used to store the object. Can be `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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"`
	// Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with
	// `sseKmsEncryptedObjects` source selection criteria.
	ReplicaKmsKeyId pulumi.StringPtrInput `pulumi:"replicaKmsKeyId"`
	// The class of storage used to store the object. Can be `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.
	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 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) ReplicaKmsKeyId

Destination KMS encryption key ARN for SSE-KMS replication. Must be used in conjunction with `sseKmsEncryptedObjects` source selection criteria.

func (BucketReplicationConfigurationRuleDestinationOutput) StorageClass

The class of storage used to store the object. Can be `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, or `DEEP_ARCHIVE`.

func (BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutput

func (o BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutput() BucketReplicationConfigurationRuleDestinationOutput

func (BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutputWithContext

func (o BucketReplicationConfigurationRuleDestinationOutput) ToBucketReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) BucketReplicationConfigurationRuleDestinationOutput

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

is optional (with a default value of `0`) but 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 added in v3.26.1

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 added in v3.26.1

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 less than or equal to 63 characters in length.
	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 less than or equal to 37 characters in length.
	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.StringPtrInput
	// 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 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 added in v3.18.0

type CannedAcl pulumi.String

See https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl

func (CannedAcl) ElementType added in v3.18.0

func (CannedAcl) ElementType() reflect.Type

func (CannedAcl) ToStringOutput added in v3.18.0

func (e CannedAcl) ToStringOutput() pulumi.StringOutput

func (CannedAcl) ToStringOutputWithContext added in v3.18.0

func (e CannedAcl) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (CannedAcl) ToStringPtrOutput added in v3.18.0

func (e CannedAcl) ToStringPtrOutput() pulumi.StringPtrOutput

func (CannedAcl) ToStringPtrOutputWithContext added in v3.18.0

func (e CannedAcl) 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 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 GetCanonicalUserIdResult added in v3.31.0

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 added in v3.31.0

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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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.
	// Valid values: `Size`, `LastModifiedDate`, `StorageClass`, `ETag`, `IsMultipartUploaded`, `ReplicationStatus`, `EncryptionStatus`, `ObjectLockRetainUntilDate`, `ObjectLockMode`, `ObjectLockLegalHoldStatus`, `IntelligentTieringAccessTier`.
	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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Inventory) ElementType() reflect.Type

func (*Inventory) ToInventoryOutput added in v3.13.0

func (i *Inventory) ToInventoryOutput() InventoryOutput

func (*Inventory) ToInventoryOutputWithContext added in v3.13.0

func (i *Inventory) ToInventoryOutputWithContext(ctx context.Context) InventoryOutput

func (*Inventory) ToInventoryPtrOutput added in v3.25.0

func (i *Inventory) ToInventoryPtrOutput() InventoryPtrOutput

func (*Inventory) ToInventoryPtrOutputWithContext added in v3.25.0

func (i *Inventory) ToInventoryPtrOutputWithContext(ctx context.Context) InventoryPtrOutput

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.
	// Valid values: `Size`, `LastModifiedDate`, `StorageClass`, `ETag`, `IsMultipartUploaded`, `ReplicationStatus`, `EncryptionStatus`, `ObjectLockRetainUntilDate`, `ObjectLockMode`, `ObjectLockLegalHoldStatus`, `IntelligentTieringAccessTier`.
	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 added in v3.25.0

type InventoryArray []InventoryInput

func (InventoryArray) ElementType added in v3.25.0

func (InventoryArray) ElementType() reflect.Type

func (InventoryArray) ToInventoryArrayOutput added in v3.25.0

func (i InventoryArray) ToInventoryArrayOutput() InventoryArrayOutput

func (InventoryArray) ToInventoryArrayOutputWithContext added in v3.25.0

func (i InventoryArray) ToInventoryArrayOutputWithContext(ctx context.Context) InventoryArrayOutput

type InventoryArrayInput added in v3.25.0

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 added in v3.25.0

type InventoryArrayOutput struct{ *pulumi.OutputState }

func (InventoryArrayOutput) ElementType added in v3.25.0

func (InventoryArrayOutput) ElementType() reflect.Type

func (InventoryArrayOutput) Index added in v3.25.0

func (InventoryArrayOutput) ToInventoryArrayOutput added in v3.25.0

func (o InventoryArrayOutput) ToInventoryArrayOutput() InventoryArrayOutput

func (InventoryArrayOutput) ToInventoryArrayOutputWithContext added in v3.25.0

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

type InventoryInput interface {
	pulumi.Input

	ToInventoryOutput() InventoryOutput
	ToInventoryOutputWithContext(ctx context.Context) InventoryOutput
}

type InventoryMap added in v3.25.0

type InventoryMap map[string]InventoryInput

func (InventoryMap) ElementType added in v3.25.0

func (InventoryMap) ElementType() reflect.Type

func (InventoryMap) ToInventoryMapOutput added in v3.25.0

func (i InventoryMap) ToInventoryMapOutput() InventoryMapOutput

func (InventoryMap) ToInventoryMapOutputWithContext added in v3.25.0

func (i InventoryMap) ToInventoryMapOutputWithContext(ctx context.Context) InventoryMapOutput

type InventoryMapInput added in v3.25.0

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 added in v3.25.0

type InventoryMapOutput struct{ *pulumi.OutputState }

func (InventoryMapOutput) ElementType added in v3.25.0

func (InventoryMapOutput) ElementType() reflect.Type

func (InventoryMapOutput) MapIndex added in v3.25.0

func (InventoryMapOutput) ToInventoryMapOutput added in v3.25.0

func (o InventoryMapOutput) ToInventoryMapOutput() InventoryMapOutput

func (InventoryMapOutput) ToInventoryMapOutputWithContext added in v3.25.0

func (o InventoryMapOutput) ToInventoryMapOutputWithContext(ctx context.Context) InventoryMapOutput

type InventoryOutput added in v3.13.0

type InventoryOutput struct {
	*pulumi.OutputState
}

func (InventoryOutput) ElementType added in v3.13.0

func (InventoryOutput) ElementType() reflect.Type

func (InventoryOutput) ToInventoryOutput added in v3.13.0

func (o InventoryOutput) ToInventoryOutput() InventoryOutput

func (InventoryOutput) ToInventoryOutputWithContext added in v3.13.0

func (o InventoryOutput) ToInventoryOutputWithContext(ctx context.Context) InventoryOutput

func (InventoryOutput) ToInventoryPtrOutput added in v3.25.0

func (o InventoryOutput) ToInventoryPtrOutput() InventoryPtrOutput

func (InventoryOutput) ToInventoryPtrOutputWithContext added in v3.25.0

func (o InventoryOutput) ToInventoryPtrOutputWithContext(ctx context.Context) InventoryPtrOutput

type InventoryPtrInput added in v3.25.0

type InventoryPtrInput interface {
	pulumi.Input

	ToInventoryPtrOutput() InventoryPtrOutput
	ToInventoryPtrOutputWithContext(ctx context.Context) InventoryPtrOutput
}

type InventoryPtrOutput added in v3.25.0

type InventoryPtrOutput struct {
	*pulumi.OutputState
}

func (InventoryPtrOutput) ElementType added in v3.25.0

func (InventoryPtrOutput) ElementType() reflect.Type

func (InventoryPtrOutput) ToInventoryPtrOutput added in v3.25.0

func (o InventoryPtrOutput) ToInventoryPtrOutput() InventoryPtrOutput

func (InventoryPtrOutput) ToInventoryPtrOutputWithContext added in v3.25.0

func (o InventoryPtrOutput) ToInventoryPtrOutputWithContext(ctx context.Context) InventoryPtrOutput

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.
	// Valid values: `Size`, `LastModifiedDate`, `StorageClass`, `ETag`, `IsMultipartUploaded`, `ReplicationStatus`, `EncryptionStatus`, `ObjectLockRetainUntilDate`, `ObjectLockMode`, `ObjectLockLegalHoldStatus`, `IntelligentTieringAccessTier`.
	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 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/v3/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 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/v3/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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
		}
		opt0 := "test.com."
		testZone, err := route53.LookupZone(ctx, &route53.LookupZoneArgs{
			Name: &opt0,
		}, 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/v3/go/aws/cloudfront"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 ObjectCopy added in v3.30.0

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](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either `STANDARD`, `REDUCED_REDUNDANCY`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE`, or `STANDARD_IA`. 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// 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/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.30.0

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 added in v3.30.0

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 added in v3.30.0

func (*ObjectCopy) ElementType() reflect.Type

func (*ObjectCopy) ToObjectCopyOutput added in v3.30.0

func (i *ObjectCopy) ToObjectCopyOutput() ObjectCopyOutput

func (*ObjectCopy) ToObjectCopyOutputWithContext added in v3.30.0

func (i *ObjectCopy) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput

func (*ObjectCopy) ToObjectCopyPtrOutput added in v3.30.0

func (i *ObjectCopy) ToObjectCopyPtrOutput() ObjectCopyPtrOutput

func (*ObjectCopy) ToObjectCopyPtrOutputWithContext added in v3.30.0

func (i *ObjectCopy) ToObjectCopyPtrOutputWithContext(ctx context.Context) ObjectCopyPtrOutput

type ObjectCopyArgs added in v3.30.0

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](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either `STANDARD`, `REDUCED_REDUNDANCY`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE`, or `STANDARD_IA`. 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.
	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 added in v3.30.0

func (ObjectCopyArgs) ElementType() reflect.Type

type ObjectCopyArray added in v3.30.0

type ObjectCopyArray []ObjectCopyInput

func (ObjectCopyArray) ElementType added in v3.30.0

func (ObjectCopyArray) ElementType() reflect.Type

func (ObjectCopyArray) ToObjectCopyArrayOutput added in v3.30.0

func (i ObjectCopyArray) ToObjectCopyArrayOutput() ObjectCopyArrayOutput

func (ObjectCopyArray) ToObjectCopyArrayOutputWithContext added in v3.30.0

func (i ObjectCopyArray) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput

type ObjectCopyArrayInput added in v3.30.0

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 added in v3.30.0

type ObjectCopyArrayOutput struct{ *pulumi.OutputState }

func (ObjectCopyArrayOutput) ElementType added in v3.30.0

func (ObjectCopyArrayOutput) ElementType() reflect.Type

func (ObjectCopyArrayOutput) Index added in v3.30.0

func (ObjectCopyArrayOutput) ToObjectCopyArrayOutput added in v3.30.0

func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutput() ObjectCopyArrayOutput

func (ObjectCopyArrayOutput) ToObjectCopyArrayOutputWithContext added in v3.30.0

func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput

type ObjectCopyGrant added in v3.30.0

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 added in v3.30.0

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 added in v3.30.0

func (ObjectCopyGrantArgs) ElementType() reflect.Type

func (ObjectCopyGrantArgs) ToObjectCopyGrantOutput added in v3.30.0

func (i ObjectCopyGrantArgs) ToObjectCopyGrantOutput() ObjectCopyGrantOutput

func (ObjectCopyGrantArgs) ToObjectCopyGrantOutputWithContext added in v3.30.0

func (i ObjectCopyGrantArgs) ToObjectCopyGrantOutputWithContext(ctx context.Context) ObjectCopyGrantOutput

type ObjectCopyGrantArray added in v3.30.0

type ObjectCopyGrantArray []ObjectCopyGrantInput

func (ObjectCopyGrantArray) ElementType added in v3.30.0

func (ObjectCopyGrantArray) ElementType() reflect.Type

func (ObjectCopyGrantArray) ToObjectCopyGrantArrayOutput added in v3.30.0

func (i ObjectCopyGrantArray) ToObjectCopyGrantArrayOutput() ObjectCopyGrantArrayOutput

func (ObjectCopyGrantArray) ToObjectCopyGrantArrayOutputWithContext added in v3.30.0

func (i ObjectCopyGrantArray) ToObjectCopyGrantArrayOutputWithContext(ctx context.Context) ObjectCopyGrantArrayOutput

type ObjectCopyGrantArrayInput added in v3.30.0

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 added in v3.30.0

type ObjectCopyGrantArrayOutput struct{ *pulumi.OutputState }

func (ObjectCopyGrantArrayOutput) ElementType added in v3.30.0

func (ObjectCopyGrantArrayOutput) ElementType() reflect.Type

func (ObjectCopyGrantArrayOutput) Index added in v3.30.0

func (ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutput added in v3.30.0

func (o ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutput() ObjectCopyGrantArrayOutput

func (ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutputWithContext added in v3.30.0

func (o ObjectCopyGrantArrayOutput) ToObjectCopyGrantArrayOutputWithContext(ctx context.Context) ObjectCopyGrantArrayOutput

type ObjectCopyGrantInput added in v3.30.0

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 added in v3.30.0

type ObjectCopyGrantOutput struct{ *pulumi.OutputState }

func (ObjectCopyGrantOutput) ElementType added in v3.30.0

func (ObjectCopyGrantOutput) ElementType() reflect.Type

func (ObjectCopyGrantOutput) Email added in v3.30.0

Email address of the grantee. Used only when `type` is `AmazonCustomerByEmail`.

func (ObjectCopyGrantOutput) Id added in v3.30.0

The canonical user ID of the grantee. Used only when `type` is `CanonicalUser`.

func (ObjectCopyGrantOutput) Permissions added in v3.30.0

List of permissions to grant to grantee. Valid values are `READ`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`.

func (ObjectCopyGrantOutput) ToObjectCopyGrantOutput added in v3.30.0

func (o ObjectCopyGrantOutput) ToObjectCopyGrantOutput() ObjectCopyGrantOutput

func (ObjectCopyGrantOutput) ToObjectCopyGrantOutputWithContext added in v3.30.0

func (o ObjectCopyGrantOutput) ToObjectCopyGrantOutputWithContext(ctx context.Context) ObjectCopyGrantOutput

func (ObjectCopyGrantOutput) Type added in v3.30.0

- Type of grantee. Valid values are `CanonicalUser`, `Group`, and `AmazonCustomerByEmail`.

func (ObjectCopyGrantOutput) Uri added in v3.30.0

URI of the grantee group. Used only when `type` is `Group`.

type ObjectCopyInput added in v3.30.0

type ObjectCopyInput interface {
	pulumi.Input

	ToObjectCopyOutput() ObjectCopyOutput
	ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput
}

type ObjectCopyMap added in v3.30.0

type ObjectCopyMap map[string]ObjectCopyInput

func (ObjectCopyMap) ElementType added in v3.30.0

func (ObjectCopyMap) ElementType() reflect.Type

func (ObjectCopyMap) ToObjectCopyMapOutput added in v3.30.0

func (i ObjectCopyMap) ToObjectCopyMapOutput() ObjectCopyMapOutput

func (ObjectCopyMap) ToObjectCopyMapOutputWithContext added in v3.30.0

func (i ObjectCopyMap) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput

type ObjectCopyMapInput added in v3.30.0

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 added in v3.30.0

type ObjectCopyMapOutput struct{ *pulumi.OutputState }

func (ObjectCopyMapOutput) ElementType added in v3.30.0

func (ObjectCopyMapOutput) ElementType() reflect.Type

func (ObjectCopyMapOutput) MapIndex added in v3.30.0

func (ObjectCopyMapOutput) ToObjectCopyMapOutput added in v3.30.0

func (o ObjectCopyMapOutput) ToObjectCopyMapOutput() ObjectCopyMapOutput

func (ObjectCopyMapOutput) ToObjectCopyMapOutputWithContext added in v3.30.0

func (o ObjectCopyMapOutput) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput

type ObjectCopyOutput added in v3.30.0

type ObjectCopyOutput struct {
	*pulumi.OutputState
}

func (ObjectCopyOutput) ElementType added in v3.30.0

func (ObjectCopyOutput) ElementType() reflect.Type

func (ObjectCopyOutput) ToObjectCopyOutput added in v3.30.0

func (o ObjectCopyOutput) ToObjectCopyOutput() ObjectCopyOutput

func (ObjectCopyOutput) ToObjectCopyOutputWithContext added in v3.30.0

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

func (ObjectCopyOutput) ToObjectCopyPtrOutput added in v3.30.0

func (o ObjectCopyOutput) ToObjectCopyPtrOutput() ObjectCopyPtrOutput

func (ObjectCopyOutput) ToObjectCopyPtrOutputWithContext added in v3.30.0

func (o ObjectCopyOutput) ToObjectCopyPtrOutputWithContext(ctx context.Context) ObjectCopyPtrOutput

type ObjectCopyPtrInput added in v3.30.0

type ObjectCopyPtrInput interface {
	pulumi.Input

	ToObjectCopyPtrOutput() ObjectCopyPtrOutput
	ToObjectCopyPtrOutputWithContext(ctx context.Context) ObjectCopyPtrOutput
}

type ObjectCopyPtrOutput added in v3.30.0

type ObjectCopyPtrOutput struct {
	*pulumi.OutputState
}

func (ObjectCopyPtrOutput) ElementType added in v3.30.0

func (ObjectCopyPtrOutput) ElementType() reflect.Type

func (ObjectCopyPtrOutput) ToObjectCopyPtrOutput added in v3.30.0

func (o ObjectCopyPtrOutput) ToObjectCopyPtrOutput() ObjectCopyPtrOutput

func (ObjectCopyPtrOutput) ToObjectCopyPtrOutputWithContext added in v3.30.0

func (o ObjectCopyPtrOutput) ToObjectCopyPtrOutputWithContext(ctx context.Context) ObjectCopyPtrOutput

type ObjectCopyState added in v3.30.0

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](http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
	// for the object. Can be either `STANDARD`, `REDUCED_REDUNDANCY`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE`, or `STANDARD_IA`. 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.
	Tags 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 added in v3.30.0

func (ObjectCopyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL