s3

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountPublicAccessBlock added in v0.16.5

type AccountPublicAccessBlock struct {
	// contains filtered or unexported fields
}

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 Terraform resource, use the [`s3control` endpoint provider configuration](https://www.terraform.io/docs/providers/aws/index.html#s3control), not the `s3` endpoint provider configuration.

func GetAccountPublicAccessBlock added in v0.16.5

func GetAccountPublicAccessBlock(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AccountPublicAccessBlockState, opts ...pulumi.ResourceOpt) (*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 added in v0.16.5

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

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

func (*AccountPublicAccessBlock) AccountId added in v0.16.5

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

func (*AccountPublicAccessBlock) BlockPublicAcls added in v0.16.5

func (r *AccountPublicAccessBlock) BlockPublicAcls() *pulumi.BoolOutput

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.

func (*AccountPublicAccessBlock) BlockPublicPolicy added in v0.16.5

func (r *AccountPublicAccessBlock) BlockPublicPolicy() *pulumi.BoolOutput

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

func (*AccountPublicAccessBlock) ID added in v0.16.5

ID is this resource's unique identifier assigned by its provider.

func (*AccountPublicAccessBlock) IgnorePublicAcls added in v0.16.5

func (r *AccountPublicAccessBlock) IgnorePublicAcls() *pulumi.BoolOutput

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

func (*AccountPublicAccessBlock) RestrictPublicBuckets added in v0.16.5

func (r *AccountPublicAccessBlock) RestrictPublicBuckets() *pulumi.BoolOutput

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

func (*AccountPublicAccessBlock) URN added in v0.16.5

URN is this resource's unique name assigned by Pulumi.

type AccountPublicAccessBlockArgs added in v0.16.5

type AccountPublicAccessBlockArgs struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the Terraform AWS provider.
	AccountId interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
}

The set of arguments for constructing a AccountPublicAccessBlock resource.

type AccountPublicAccessBlockState added in v0.16.5

type AccountPublicAccessBlockState struct {
	// AWS account ID to configure. Defaults to automatically determined account ID of the Terraform AWS provider.
	AccountId interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
}

Input properties used for looking up and filtering AccountPublicAccessBlock resources.

type Bucket

type Bucket struct {
	// contains filtered or unexported fields
}

Provides a S3 bucket resource.

func GetBucket

func GetBucket(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Bucket, error)

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

func (*Bucket) AccelerationStatus

func (r *Bucket) AccelerationStatus() *pulumi.StringOutput

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

func (*Bucket) Acl

func (r *Bucket) Acl() *pulumi.StringOutput

The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".

func (*Bucket) Arn

func (r *Bucket) Arn() *pulumi.StringOutput

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

func (*Bucket) Bucket

func (r *Bucket) Bucket() *pulumi.StringOutput

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

func (*Bucket) BucketDomainName

func (r *Bucket) BucketDomainName() *pulumi.StringOutput

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

func (*Bucket) BucketPrefix

func (r *Bucket) BucketPrefix() *pulumi.StringOutput

Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`.

func (*Bucket) BucketRegionalDomainName

func (r *Bucket) BucketRegionalDomainName() *pulumi.StringOutput

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

func (*Bucket) CorsRules

func (r *Bucket) CorsRules() *pulumi.ArrayOutput

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

func (*Bucket) ForceDestroy

func (r *Bucket) ForceDestroy() *pulumi.BoolOutput

A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are *not* recoverable.

func (*Bucket) HostedZoneId

func (r *Bucket) HostedZoneId() *pulumi.StringOutput

The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.

func (*Bucket) ID

func (r *Bucket) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Bucket) LifecycleRules

func (r *Bucket) LifecycleRules() *pulumi.ArrayOutput

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

func (*Bucket) Loggings

func (r *Bucket) Loggings() *pulumi.ArrayOutput

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

func (*Bucket) ObjectLockConfiguration added in v0.16.7

func (r *Bucket) ObjectLockConfiguration() *pulumi.Output

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

func (*Bucket) Policy

func (r *Bucket) Policy() *pulumi.StringOutput

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), Terraform may view the policy as constantly changing in a `terraform plan`. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).

func (*Bucket) Region

func (r *Bucket) Region() *pulumi.StringOutput

If specified, the AWS region this bucket should reside in. Otherwise, the region used by the callee.

func (*Bucket) ReplicationConfiguration

func (r *Bucket) ReplicationConfiguration() *pulumi.Output

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

func (*Bucket) RequestPayer

func (r *Bucket) RequestPayer() *pulumi.StringOutput

Specifies who should bear the cost of Amazon S3 data transfer. Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer. See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.

func (*Bucket) ServerSideEncryptionConfiguration

func (r *Bucket) ServerSideEncryptionConfiguration() *pulumi.Output

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

func (*Bucket) Tags

func (r *Bucket) Tags() *pulumi.MapOutput

A mapping 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 (*Bucket) URN

func (r *Bucket) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Bucket) Versioning

func (r *Bucket) Versioning() *pulumi.Output

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

func (*Bucket) Website

func (r *Bucket) Website() *pulumi.Output

A website object (documented below).

func (*Bucket) WebsiteDomain

func (r *Bucket) WebsiteDomain() *pulumi.StringOutput

The domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records.

func (*Bucket) WebsiteEndpoint

func (r *Bucket) WebsiteEndpoint() *pulumi.StringOutput

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

type BucketArgs

type BucketArgs struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`.
	AccelerationStatus interface{}
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".
	Acl interface{}
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn interface{}
	// The ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
	Bucket interface{}
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`.
	BucketPrefix interface{}
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules interface{}
	// A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy interface{}
	// 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 interface{}
	// A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).
	LifecycleRules interface{}
	// A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).
	Loggings interface{}
	// A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)
	ObjectLockConfiguration interface{}
	// 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), Terraform may view the policy as constantly changing in a `terraform plan`. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
	// If specified, the AWS region this bucket should reside in. Otherwise, the region used by the callee.
	Region interface{}
	// A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).
	ReplicationConfiguration interface{}
	// 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 interface{}
	// A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)
	ServerSideEncryptionConfiguration interface{}
	// A mapping 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 interface{}
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning interface{}
	// A website object (documented below).
	Website interface{}
	// 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 interface{}
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint interface{}
}

The set of arguments for constructing a Bucket resource.

type BucketMetric

type BucketMetric struct {
	// contains filtered or unexported fields
}

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

func GetBucketMetric

func GetBucketMetric(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketMetricState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketMetric, error)

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

func (*BucketMetric) Bucket

func (r *BucketMetric) Bucket() *pulumi.StringOutput

The name of the bucket to put metric configuration.

func (*BucketMetric) Filter

func (r *BucketMetric) Filter() *pulumi.Output

[Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).

func (*BucketMetric) ID

func (r *BucketMetric) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketMetric) Name

func (r *BucketMetric) Name() *pulumi.StringOutput

Unique identifier of the metrics configuration for the bucket.

func (*BucketMetric) URN

func (r *BucketMetric) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketMetricArgs

type BucketMetricArgs struct {
	// The name of the bucket to put metric configuration.
	Bucket interface{}
	// [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 interface{}
	// Unique identifier of the metrics configuration for the bucket.
	Name interface{}
}

The set of arguments for constructing a BucketMetric resource.

type BucketMetricState

type BucketMetricState struct {
	// The name of the bucket to put metric configuration.
	Bucket interface{}
	// [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 interface{}
	// Unique identifier of the metrics configuration for the bucket.
	Name interface{}
}

Input properties used for looking up and filtering BucketMetric resources.

type BucketNotification

type BucketNotification struct {
	// contains filtered or unexported fields
}

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 `aws_s3_bucket_notification` resources to the same S3 Bucket will cause a perpetual difference in configuration.

func GetBucketNotification

func GetBucketNotification(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketNotificationState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketNotification, error)

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

func (*BucketNotification) Bucket

func (r *BucketNotification) Bucket() *pulumi.StringOutput

The name of the bucket to put notification configuration.

func (*BucketNotification) ID

ID is this resource's unique identifier assigned by its provider.

func (*BucketNotification) LambdaFunctions

func (r *BucketNotification) LambdaFunctions() *pulumi.ArrayOutput

Used to configure notifications to a Lambda Function (documented below).

func (*BucketNotification) Queues

func (r *BucketNotification) Queues() *pulumi.ArrayOutput

The notification configuration to SQS Queue (documented below).

func (*BucketNotification) Topics

func (r *BucketNotification) Topics() *pulumi.ArrayOutput

The notification configuration to SNS Topic (documented below).

func (*BucketNotification) URN

URN is this resource's unique name assigned by Pulumi.

type BucketNotificationArgs

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

The set of arguments for constructing a BucketNotification resource.

type BucketNotificationState

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

Input properties used for looking up and filtering BucketNotification resources.

type BucketObject

type BucketObject struct {
	// contains filtered or unexported fields
}

Provides a S3 bucket object resource.

func GetBucketObject

func GetBucketObject(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketObjectState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketObject, error)

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

func (*BucketObject) Acl

func (r *BucketObject) Acl() *pulumi.StringOutput

The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".

func (*BucketObject) Bucket

func (r *BucketObject) Bucket() *pulumi.StringOutput

The name of the bucket to put the file in.

func (*BucketObject) CacheControl

func (r *BucketObject) CacheControl() *pulumi.StringOutput

Specifies caching behavior along the request/reply chain Read [w3c cache_control](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.

func (*BucketObject) Content

func (r *BucketObject) Content() *pulumi.StringOutput

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

func (*BucketObject) ContentBase64

func (r *BucketObject) ContentBase64() *pulumi.StringOutput

Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.

func (*BucketObject) ContentDisposition

func (r *BucketObject) ContentDisposition() *pulumi.StringOutput

Specifies presentational information for the object. Read [w3c content_disposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.

func (*BucketObject) ContentEncoding

func (r *BucketObject) ContentEncoding() *pulumi.StringOutput

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.

func (*BucketObject) ContentLanguage

func (r *BucketObject) ContentLanguage() *pulumi.StringOutput

The language the content is in e.g. en-US or en-GB.

func (*BucketObject) ContentType

func (r *BucketObject) ContentType() *pulumi.StringOutput

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.

func (*BucketObject) Etag

func (r *BucketObject) Etag() *pulumi.StringOutput

Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (Terraform 0.11.12 or later) or `${md5(file("path/to/file"))}` (Terraform 0.11.11 or earlier). This attribute is not compatible with KMS encryption, `kms_key_id` or `server_side_encryption = "aws:kms"`.

func (*BucketObject) ID

func (r *BucketObject) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketObject) Key

func (r *BucketObject) Key() *pulumi.StringOutput

The name of the object once it is in the bucket.

func (*BucketObject) KmsKeyId

func (r *BucketObject) KmsKeyId() *pulumi.StringOutput

Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `aws_kms_key`, use the exported `arn` attribute: `kms_key_id = "${aws_kms_key.foo.arn}"`

func (*BucketObject) ServerSideEncryption

func (r *BucketObject) ServerSideEncryption() *pulumi.StringOutput

Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".

func (*BucketObject) Source

func (r *BucketObject) Source() *pulumi.StringOutput

The path to a file that will be read and uploaded as raw bytes for the object content.

func (*BucketObject) StorageClass

func (r *BucketObject) StorageClass() *pulumi.StringOutput

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

func (*BucketObject) Tags

func (r *BucketObject) Tags() *pulumi.MapOutput

A mapping of tags to assign to the object.

func (*BucketObject) URN

func (r *BucketObject) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*BucketObject) VersionId

func (r *BucketObject) VersionId() *pulumi.StringOutput

A unique version ID value for the object, if bucket versioning is enabled.

func (*BucketObject) WebsiteRedirect

func (r *BucketObject) WebsiteRedirect() *pulumi.StringOutput

Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).

type BucketObjectArgs

type BucketObjectArgs struct {
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".
	Acl interface{}
	// The name of the bucket to put the file in.
	Bucket interface{}
	// Specifies caching behavior along the request/reply chain Read [w3c cache_control](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl interface{}
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content interface{}
	// 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 interface{}
	// Specifies presentational information for the object. Read [w3c content_disposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition interface{}
	// 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 interface{}
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage interface{}
	// 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 interface{}
	// Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (Terraform 0.11.12 or later) or `${md5(file("path/to/file"))}` (Terraform 0.11.11 or earlier).
	// This attribute is not compatible with KMS encryption, `kms_key_id` or `server_side_encryption = "aws:kms"`.
	Etag interface{}
	// The name of the object once it is in the bucket.
	Key interface{}
	// Specifies the AWS KMS Key ARN to use for object encryption.
	// This value is a fully qualified **ARN** of the KMS Key. If using `aws_kms_key`,
	// use the exported `arn` attribute:
	// `kms_key_id = "${aws_kms_key.foo.arn}"`
	KmsKeyId interface{}
	// Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption interface{}
	// The path to a file that will be read and uploaded as raw bytes for the object content.
	Source interface{}
	// 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 interface{}
	// A mapping of tags to assign to the object.
	Tags interface{}
	// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect interface{}
}

The set of arguments for constructing a BucketObject resource.

type BucketObjectState

type BucketObjectState struct {
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".
	Acl interface{}
	// The name of the bucket to put the file in.
	Bucket interface{}
	// Specifies caching behavior along the request/reply chain Read [w3c cache_control](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl interface{}
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content interface{}
	// 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 interface{}
	// Specifies presentational information for the object. Read [w3c content_disposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition interface{}
	// 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 interface{}
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage interface{}
	// 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 interface{}
	// Used to trigger updates. The only meaningful value is `${filemd5("path/to/file")}` (Terraform 0.11.12 or later) or `${md5(file("path/to/file"))}` (Terraform 0.11.11 or earlier).
	// This attribute is not compatible with KMS encryption, `kms_key_id` or `server_side_encryption = "aws:kms"`.
	Etag interface{}
	// The name of the object once it is in the bucket.
	Key interface{}
	// Specifies the AWS KMS Key ARN to use for object encryption.
	// This value is a fully qualified **ARN** of the KMS Key. If using `aws_kms_key`,
	// use the exported `arn` attribute:
	// `kms_key_id = "${aws_kms_key.foo.arn}"`
	KmsKeyId interface{}
	// Specifies server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`".
	ServerSideEncryption interface{}
	// The path to a file that will be read and uploaded as raw bytes for the object content.
	Source interface{}
	// 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 interface{}
	// A mapping of tags to assign to the object.
	Tags interface{}
	// A unique version ID value for the object, if bucket versioning
	// is enabled.
	VersionId interface{}
	// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
	WebsiteRedirect interface{}
}

Input properties used for looking up and filtering BucketObject resources.

type BucketPolicy

type BucketPolicy struct {
	// contains filtered or unexported fields
}

Attaches a policy to an S3 bucket resource.

func GetBucketPolicy

func GetBucketPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketPolicyState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketPolicy, error)

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

func (*BucketPolicy) Bucket

func (r *BucketPolicy) Bucket() *pulumi.StringOutput

The name of the bucket to which to apply the policy.

func (*BucketPolicy) ID

func (r *BucketPolicy) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketPolicy) Policy

func (r *BucketPolicy) Policy() *pulumi.StringOutput

The text of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).

func (*BucketPolicy) URN

func (r *BucketPolicy) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketPolicyArgs

type BucketPolicyArgs struct {
	// The name of the bucket to which to apply the policy.
	Bucket interface{}
	// The text of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
}

The set of arguments for constructing a BucketPolicy resource.

type BucketPolicyState

type BucketPolicyState struct {
	// The name of the bucket to which to apply the policy.
	Bucket interface{}
	// The text of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
}

Input properties used for looking up and filtering BucketPolicy resources.

type BucketPublicAccessBlock added in v0.16.5

type BucketPublicAccessBlock struct {
	// contains filtered or unexported fields
}

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

func GetBucketPublicAccessBlock added in v0.16.5

func GetBucketPublicAccessBlock(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketPublicAccessBlockState, opts ...pulumi.ResourceOpt) (*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 added in v0.16.5

func NewBucketPublicAccessBlock(ctx *pulumi.Context,
	name string, args *BucketPublicAccessBlockArgs, opts ...pulumi.ResourceOpt) (*BucketPublicAccessBlock, error)

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

func (*BucketPublicAccessBlock) BlockPublicAcls added in v0.16.5

func (r *BucketPublicAccessBlock) BlockPublicAcls() *pulumi.BoolOutput

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

func (*BucketPublicAccessBlock) BlockPublicPolicy added in v0.16.5

func (r *BucketPublicAccessBlock) BlockPublicPolicy() *pulumi.BoolOutput

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

func (*BucketPublicAccessBlock) Bucket added in v0.16.5

S3 Bucket to which this Public Access Block configuration should be applied.

func (*BucketPublicAccessBlock) ID added in v0.16.5

ID is this resource's unique identifier assigned by its provider.

func (*BucketPublicAccessBlock) IgnorePublicAcls added in v0.16.5

func (r *BucketPublicAccessBlock) IgnorePublicAcls() *pulumi.BoolOutput

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 all public ACLs on buckets in this account and any objects that they contain.

func (*BucketPublicAccessBlock) RestrictPublicBuckets added in v0.16.5

func (r *BucketPublicAccessBlock) RestrictPublicBuckets() *pulumi.BoolOutput

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

func (*BucketPublicAccessBlock) URN added in v0.16.5

URN is this resource's unique name assigned by Pulumi.

type BucketPublicAccessBlockArgs added in v0.16.5

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 interface{}
	// 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 interface{}
	// S3 Bucket to which this Public Access Block configuration should be applied.
	Bucket interface{}
	// 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 all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls interface{}
	// 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 interface{}
}

The set of arguments for constructing a BucketPublicAccessBlock resource.

type BucketPublicAccessBlockState added in v0.16.5

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 interface{}
	// 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 interface{}
	// S3 Bucket to which this Public Access Block configuration should be applied.
	Bucket interface{}
	// 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 all public ACLs on buckets in this account and any objects that they contain.
	IgnorePublicAcls interface{}
	// 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 interface{}
}

Input properties used for looking up and filtering BucketPublicAccessBlock resources.

type BucketState

type BucketState struct {
	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`.
	AccelerationStatus interface{}
	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Defaults to "private".
	Acl interface{}
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn interface{}
	// The ARN of the S3 bucket where you want Amazon S3 to store replicas of the object identified by the rule.
	Bucket interface{}
	// The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
	BucketDomainName interface{}
	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`.
	BucketPrefix interface{}
	// 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 interface{}
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules interface{}
	// A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy interface{}
	// 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 interface{}
	// A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).
	LifecycleRules interface{}
	// A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).
	Loggings interface{}
	// A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)
	ObjectLockConfiguration interface{}
	// 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), Terraform may view the policy as constantly changing in a `terraform plan`. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
	Policy interface{}
	// If specified, the AWS region this bucket should reside in. Otherwise, the region used by the callee.
	Region interface{}
	// A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).
	ReplicationConfiguration interface{}
	// 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 interface{}
	// A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)
	ServerSideEncryptionConfiguration interface{}
	// A mapping 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 interface{}
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning interface{}
	// A website object (documented below).
	Website interface{}
	// 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 interface{}
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint interface{}
}

Input properties used for looking up and filtering Bucket resources.

type GetBucketArgs

type GetBucketArgs struct {
	// The name of the bucket
	Bucket interface{}
}

A collection of arguments for invoking getBucket.

type GetBucketObjectArgs

type GetBucketObjectArgs struct {
	// The name of the bucket to read the object from
	Bucket interface{}
	// The full path to the object inside the bucket
	Key   interface{}
	Range interface{}
	Tags  interface{}
	// Specific version ID of the object returned (defaults to latest version)
	VersionId interface{}
}

A collection of arguments for invoking getBucketObject.

type GetBucketObjectResult

type GetBucketObjectResult struct {
	// Object data (see **limitations above** to understand cases in which this field is actually available)
	Body interface{}
	// Specifies caching behavior along the request/reply chain.
	CacheControl interface{}
	// Specifies presentational information for the object.
	ContentDisposition interface{}
	// 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 interface{}
	// The language the content is in.
	ContentLanguage interface{}
	// Size of the body in bytes.
	ContentLength interface{}
	// A standard MIME type describing the format of the object data.
	ContentType interface{}
	// [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 interface{}
	// 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 interface{}
	// The date and time at which the object is no longer cacheable.
	Expires interface{}
	// Last modified date of the object in RFC1123 format (e.g. `Mon, 02 Jan 2006 15:04:05 MST`)
	LastModified interface{}
	// A map of metadata stored with the object in S3
	Metadata interface{}
	// 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 interface{}
	// If present, specifies the ID of the Key Management Service (KMS) master encryption key that was used for the object.
	SseKmsKeyId interface{}
	// [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 interface{}
	// A mapping of tags assigned to the object.
	Tags interface{}
	// The latest version ID of the object returned.
	VersionId interface{}
	// 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 interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getBucketObject.

func LookupBucketObject

func LookupBucketObject(ctx *pulumi.Context, args *GetBucketObjectArgs) (*GetBucketObjectResult, 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.

type GetBucketResult

type GetBucketResult struct {
	// The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
	Arn interface{}
	// The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
	BucketDomainName interface{}
	// 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 interface{}
	// 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 interface{}
	// The AWS region this bucket resides in.
	Region interface{}
	// 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 interface{}
	// The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
	WebsiteEndpoint interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getBucket.

func LookupBucket

func LookupBucket(ctx *pulumi.Context, args *GetBucketArgs) (*GetBucketResult, 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.

type Inventory added in v0.14.2

type Inventory struct {
	// contains filtered or unexported fields
}

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

func GetInventory added in v0.14.2

func GetInventory(ctx *pulumi.Context,
	name string, id pulumi.ID, state *InventoryState, opts ...pulumi.ResourceOpt) (*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 added in v0.14.2

func NewInventory(ctx *pulumi.Context,
	name string, args *InventoryArgs, opts ...pulumi.ResourceOpt) (*Inventory, error)

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

func (*Inventory) Bucket added in v0.14.2

func (r *Inventory) Bucket() *pulumi.StringOutput

The S3 bucket configuration where inventory results are published (documented below).

func (*Inventory) Destination added in v0.14.2

func (r *Inventory) Destination() *pulumi.Output

Destination bucket where inventory list files are written (documented below).

func (*Inventory) Enabled added in v0.14.2

func (r *Inventory) Enabled() *pulumi.BoolOutput

Specifies whether the inventory is enabled or disabled.

func (*Inventory) Filter added in v0.14.2

func (r *Inventory) Filter() *pulumi.Output

Object filtering that accepts a prefix (documented below).

func (*Inventory) ID added in v0.14.2

func (r *Inventory) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Inventory) IncludedObjectVersions added in v0.14.2

func (r *Inventory) IncludedObjectVersions() *pulumi.StringOutput

Object filtering that accepts a prefix (documented below). Can be `All` or `Current`.

func (*Inventory) Name added in v0.14.2

func (r *Inventory) Name() *pulumi.StringOutput

Unique identifier of the inventory configuration for the bucket.

func (*Inventory) OptionalFields added in v0.14.2

func (r *Inventory) OptionalFields() *pulumi.ArrayOutput

Contains the optional fields that are included in the inventory results.

func (*Inventory) Schedule added in v0.14.2

func (r *Inventory) Schedule() *pulumi.Output

Contains the frequency for generating inventory results (documented below).

func (*Inventory) URN added in v0.14.2

func (r *Inventory) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type InventoryArgs added in v0.14.2

type InventoryArgs struct {
	// The S3 bucket configuration where inventory results are published (documented below).
	Bucket interface{}
	// Destination bucket where inventory list files are written (documented below).
	Destination interface{}
	// Specifies whether the inventory is enabled or disabled.
	Enabled interface{}
	// Object filtering that accepts a prefix (documented below).
	Filter interface{}
	// Object filtering that accepts a prefix (documented below). Can be `All` or `Current`.
	IncludedObjectVersions interface{}
	// Unique identifier of the inventory configuration for the bucket.
	Name interface{}
	// Contains the optional fields that are included in the inventory results.
	OptionalFields interface{}
	// Contains the frequency for generating inventory results (documented below).
	Schedule interface{}
}

The set of arguments for constructing a Inventory resource.

type InventoryState added in v0.14.2

type InventoryState struct {
	// The S3 bucket configuration where inventory results are published (documented below).
	Bucket interface{}
	// Destination bucket where inventory list files are written (documented below).
	Destination interface{}
	// Specifies whether the inventory is enabled or disabled.
	Enabled interface{}
	// Object filtering that accepts a prefix (documented below).
	Filter interface{}
	// Object filtering that accepts a prefix (documented below). Can be `All` or `Current`.
	IncludedObjectVersions interface{}
	// Unique identifier of the inventory configuration for the bucket.
	Name interface{}
	// Contains the optional fields that are included in the inventory results.
	OptionalFields interface{}
	// Contains the frequency for generating inventory results (documented below).
	Schedule interface{}
}

Input properties used for looking up and filtering Inventory resources.

Jump to

Keyboard shortcuts

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