import * as core from "@terrascript/core"; export interface BucketObjectArgs extends core.ResourceArgs { /** * (Optional) [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`, `authen * ticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`. */ acl?: string | core.StringOut; /** * (Required) Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.a * ws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified. */ bucket: string | core.StringOut; /** * (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?: boolean | core.BooleanOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional, conflicts with `source` and `content_base64`) Literal string value to use as the object c * ontent, which will be uploaded as UTF-8-encoded text. */ content?: string | core.StringOut; /** * (Optional, conflicts with `source` and `content`) Base64-encoded data that will be decoded and uploa * ded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is r * ecommended only for small content such as the result of the `gzipbase64` function with small text st * rings. For larger objects, use `source` to stream the content from a disk file. */ contentBase64?: string | core.StringOut; /** * (Optional) Presentational information for the object. Read [w3c content_disposition](http://www.w3.o * rg/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. */ contentDisposition?: string | core.StringOut; /** * (Optional) Content encodings that have been applied to the object and thus what decoding mechanisms * must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c cont * ent encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further informati * on. */ contentEncoding?: string | core.StringOut; /** * (Optional) Language the content is in e.g., en-US or en-GB. */ contentLanguage?: string | core.StringOut; /** * (Optional) Standard MIME type describing the format of the object data, e.g., application/octet-stre * am. All Valid MIME Types are valid for this input. */ contentType?: string | core.StringOut; /** * (Optional) Triggers updates when the value changes. The only meaningful value is `filemd5("path/to/f * ile")` (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 = "a * ws:kms"` (see `source_hash` instead). */ etag?: string | core.StringOut; /** * (Optional) Whether to allow the object to be deleted by removing any legal hold on any object versio * n. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enab * led. */ forceDestroy?: boolean | core.BooleanOut; /** * (Required) Name of the object once it is in the bucket. */ key: string | core.StringOut; /** * (Optional) ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encrypt * ion enabled, that value will automatically be used. If referencing the `aws_kms_key` resource, use t * he `arn` attribute. If referencing the `aws_kms_alias` data source or resource, use the `target_key_ * arn` attribute. Terraform will only perform drift detection if a configuration value is provided. */ kmsKeyId?: string | core.StringOut; /** * (Optional) 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?: core.Map | core.MapOut; /** * (Optional) [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#ob * ject-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` * and `OFF`. */ objectLockLegalHoldStatus?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`". */ serverSideEncryption?: string | core.StringOut; /** * (Optional, conflicts with `content` and `content_base64`) Path to a file that will be read and uploa * ded as raw bytes for the object content. */ source?: string | core.StringOut; /** * (Optional) Triggers updates like `etag` but useful to address `etag` encryption limitations. Set usi * ng `filemd5("path/to/source")` (Terraform 0.11.12 or later). (The value is only stored in state and * not saved by AWS.) */ sourceHash?: string | core.StringOut; /** * (Optional) [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#Amazon * S3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". */ storageClass?: string | core.StringOut; /** * (Optional) Map of tags to assign to the object. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-p * age-redirect.html). */ websiteRedirect?: string | core.StringOut; } export declare class BucketObject extends core.Resource { /** * (Optional) [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`, `authen * ticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`. */ acl?: string | core.StringOut; /** * (Required) Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.a * ws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified. */ bucket: string | core.StringOut; /** * (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?: boolean | core.BooleanOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional, conflicts with `source` and `content_base64`) Literal string value to use as the object c * ontent, which will be uploaded as UTF-8-encoded text. */ content?: string | core.StringOut; /** * (Optional, conflicts with `source` and `content`) Base64-encoded data that will be decoded and uploa * ded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is r * ecommended only for small content such as the result of the `gzipbase64` function with small text st * rings. For larger objects, use `source` to stream the content from a disk file. */ contentBase64?: string | core.StringOut; /** * (Optional) Presentational information for the object. Read [w3c content_disposition](http://www.w3.o * rg/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. */ contentDisposition?: string | core.StringOut; /** * (Optional) Content encodings that have been applied to the object and thus what decoding mechanisms * must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c cont * ent encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further informati * on. */ contentEncoding?: string | core.StringOut; /** * (Optional) Language the content is in e.g., en-US or en-GB. */ contentLanguage?: string | core.StringOut; /** * (Optional) Standard MIME type describing the format of the object data, e.g., application/octet-stre * am. All Valid MIME Types are valid for this input. */ contentType?: string | core.StringOut; /** * (Optional) Triggers updates when the value changes. The only meaningful value is `filemd5("path/to/f * ile")` (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 = "a * ws:kms"` (see `source_hash` instead). */ etag?: string | core.StringOut; /** * (Optional) Whether to allow the object to be deleted by removing any legal hold on any object versio * n. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enab * led. */ forceDestroy?: boolean | core.BooleanOut; /** * key` of the resource supplied above */ id: string | core.StringOut; /** * (Required) Name of the object once it is in the bucket. */ key: string | core.StringOut; /** * (Optional) ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encrypt * ion enabled, that value will automatically be used. If referencing the `aws_kms_key` resource, use t * he `arn` attribute. If referencing the `aws_kms_alias` data source or resource, use the `target_key_ * arn` attribute. Terraform will only perform drift detection if a configuration value is provided. */ kmsKeyId?: string | core.StringOut; /** * (Optional) 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?: core.Map | core.MapOut; /** * (Optional) [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#ob * ject-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` * and `OFF`. */ objectLockLegalHoldStatus?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Server-side encryption of the object in S3. Valid values are "`AES256`" and "`aws:kms`". */ serverSideEncryption?: string | core.StringOut; /** * (Optional, conflicts with `content` and `content_base64`) Path to a file that will be read and uploa * ded as raw bytes for the object content. */ source?: string | core.StringOut; /** * (Optional) Triggers updates like `etag` but useful to address `etag` encryption limitations. Set usi * ng `filemd5("path/to/source")` (Terraform 0.11.12 or later). (The value is only stored in state and * not saved by AWS.) */ sourceHash?: string | core.StringOut; /** * (Optional) [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#Amazon * S3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". */ storageClass?: string | core.StringOut; /** * (Optional) Map of tags to assign to the object. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * Unique version ID value for the object, if bucket versioning is enabled. */ versionId: string | core.StringOut; /** * (Optional) Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-p * age-redirect.html). */ websiteRedirect?: string | core.StringOut; constructor(name: string, args?: BucketObjectArgs); getNamespace(): string; } //# sourceMappingURL=bucket_object.d.ts.map