import * as core from "@terrascript/core"; export interface GrantArgs extends core.SchemaArgs { email?: string | core.StringOut; id?: string | core.StringOut; permissions: core.Array | core.ArrayOut; type: string | core.StringOut; uri?: string | core.StringOut; } export declare class Grant extends core.Schema { email?: string | core.StringOut; id?: string | core.StringOut; permissions: core.Array | core.ArrayOut; type: string | core.StringOut; uri?: string | core.StringOut; } export interface ObjectCopyArgs extends core.ResourceArgs { /** * (Optional) [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`. Conflict * s with `grant`. */ acl?: string | core.StringOut; /** * (Required) Name of the bucket to put the file in. */ bucket: string | core.StringOut; bucketKeyEnabled?: boolean | core.BooleanOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies what content encodings have been applied to the object and thus what decoding m * echanisms 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?: 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-str * eam`. All Valid MIME Types are valid for this input. */ contentType?: string | core.StringOut; /** * (Optional) Copies the object if its entity tag (ETag) matches the specified tag. */ copyIfMatch?: string | core.StringOut; /** * (Optional) Copies the object if it has been modified since the specified time, in [RFC3339 format](h * ttps://tools.ietf.org/html/rfc3339#section-5.8). */ copyIfModifiedSince?: string | core.StringOut; /** * (Optional) Copies the object if its entity tag (ETag) is different than the specified ETag. */ copyIfNoneMatch?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies the algorithm to use to when encrypting the object (for example, AES256). */ customerAlgorithm?: string | core.StringOut; /** * (Optional) Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. T * his value is used to store the object and then it is discarded; Amazon S3 does not store the encrypt * ion key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-e * ncryption-customer-algorithm header. */ customerKey?: string | core.StringOut; /** * (Optional) Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 u * ses this header for a message integrity check to ensure that the encryption key was transmitted with * out error. */ customerKeyMd5?: string | core.StringOut; /** * (Optional) Account id of the expected destination bucket owner. If the destination bucket is owned b * y a different account, the request will fail with an HTTP 403 (Access Denied) error. */ expectedBucketOwner?: string | core.StringOut; /** * (Optional) Account id of the expected source bucket owner. If the source bucket is owned by a differ * ent account, the request will fail with an HTTP 403 (Access Denied) error. */ expectedSourceBucketOwner?: string | core.StringOut; /** * (Optional) Date and time at which the object is no longer cacheable, in [RFC3339 format](https://too * ls.ietf.org/html/rfc3339#section-5.8). */ expires?: string | core.StringOut; /** * (Optional) 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?: boolean | core.BooleanOut; /** * (Optional) Configuration block for header grants. Documented below. Conflicts with `acl`. */ grant?: core.Array | core.ArrayOut; /** * (Required) Name of the object once it is in the bucket. */ key: string | core.StringOut; /** * (Optional) Specifies the AWS KMS Encryption Context to use for object encryption. The value is a bas * e64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. */ kmsEncryptionContext?: string | core.StringOut; /** * (Optional) Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualifi * ed **ARN** of the KMS Key. If using `aws_kms_key`, use the exported `arn` attribute: `kms_key_id = a * ws_kms_key.foo.arn` */ kmsKeyId?: string | core.StringOut; /** * (Optional) 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?: core.Map | core.MapOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htm * l#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are ` * ON` and `OFF`. */ objectLockLegalHoldStatus?: string | core.StringOut; /** * (Optional) The object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-l * ock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values a * re `GOVERNANCE` and `COMPLIANCE`. */ objectLockMode?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Confirms that the requester knows that they will be charged for the request. Bucket owner * s 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.c * om/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If incl * uded, the only valid value is `requester`. */ requestPayer?: string | core.StringOut; /** * (Optional) Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws: * kms`. */ serverSideEncryption?: string | core.StringOut; /** * (Required) Specifies the source object for the copy operation. You specify the value in one of two f * ormats. 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 acce * ssed through the access point, in the format `arn:aws:s3:::accesspoint//object/`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/ * object/testbucket/test1.json`. */ source: string | core.StringOut; /** * (Optional) Specifies the algorithm to use when decrypting the source object (for example, AES256). */ sourceCustomerAlgorithm?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 u * ses this header for a message integrity check to ensure that the encryption key was transmitted with * out error. */ sourceCustomerKeyMd5?: string | core.StringOut; /** * (Optional) Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API * _CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STAND * ARD`. */ storageClass?: string | core.StringOut; /** * (Optional) Specifies whether the object tag-set are copied from the source object or replaced with t * ag-set provided in the request. Valid values are `COPY` and `REPLACE`. */ taggingDirective?: string | core.StringOut; /** * (Optional) A map of tags to assign to the object. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/ * dev/how-to-page-redirect.html). */ websiteRedirect?: string | core.StringOut; } export declare class ObjectCopy extends core.Resource { /** * (Optional) [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`. Conflict * s with `grant`. */ acl?: string | core.StringOut; /** * (Required) Name of the bucket to put the file in. */ bucket: string | core.StringOut; bucketKeyEnabled?: boolean | core.BooleanOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies what content encodings have been applied to the object and thus what decoding m * echanisms 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?: 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-str * eam`. All Valid MIME Types are valid for this input. */ contentType?: string | core.StringOut; /** * (Optional) Copies the object if its entity tag (ETag) matches the specified tag. */ copyIfMatch?: string | core.StringOut; /** * (Optional) Copies the object if it has been modified since the specified time, in [RFC3339 format](h * ttps://tools.ietf.org/html/rfc3339#section-5.8). */ copyIfModifiedSince?: string | core.StringOut; /** * (Optional) Copies the object if its entity tag (ETag) is different than the specified ETag. */ copyIfNoneMatch?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies the algorithm to use to when encrypting the object (for example, AES256). */ customerAlgorithm?: string | core.StringOut; /** * (Optional) Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. T * his value is used to store the object and then it is discarded; Amazon S3 does not store the encrypt * ion key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-e * ncryption-customer-algorithm header. */ customerKey?: string | core.StringOut; /** * (Optional) Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 u * ses this header for a message integrity check to ensure that the encryption key was transmitted with * out error. */ customerKeyMd5?: string | core.StringOut; /** * The ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objec * ts encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encr * ypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the h * ash is not an MD5 digest, regardless of the method of encryption. More information on possible value * s can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTComm * onResponseHeaders.html). */ etag: string | core.StringOut; /** * (Optional) Account id of the expected destination bucket owner. If the destination bucket is owned b * y a different account, the request will fail with an HTTP 403 (Access Denied) error. */ expectedBucketOwner?: string | core.StringOut; /** * (Optional) Account id of the expected source bucket owner. If the source bucket is owned by a differ * ent account, the request will fail with an HTTP 403 (Access Denied) error. */ expectedSourceBucketOwner?: string | core.StringOut; /** * If the object expiration is configured, this attribute will be set. */ expiration: string | core.StringOut; /** * (Optional) Date and time at which the object is no longer cacheable, in [RFC3339 format](https://too * ls.ietf.org/html/rfc3339#section-5.8). */ expires?: string | core.StringOut; /** * (Optional) 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?: boolean | core.BooleanOut; /** * (Optional) Configuration block for header grants. Documented below. Conflicts with `acl`. */ grant?: core.Array | core.ArrayOut; /** * (Optional) The canonical user ID of the grantee. Used only when `type` is `CanonicalUser`. */ id: string | core.StringOut; /** * (Required) Name of the object once it is in the bucket. */ key: string | core.StringOut; /** * (Optional) Specifies the AWS KMS Encryption Context to use for object encryption. The value is a bas * e64-encoded UTF-8 string holding JSON with the encryption context key-value pairs. */ kmsEncryptionContext?: string | core.StringOut; /** * (Optional) Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualifi * ed **ARN** of the KMS Key. If using `aws_kms_key`, use the exported `arn` attribute: `kms_key_id = a * ws_kms_key.foo.arn` */ kmsKeyId?: string | core.StringOut; /** * Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/ * rfc3339#section-5.8). */ lastModified: string | core.StringOut; /** * (Optional) 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?: core.Map | core.MapOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.htm * l#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are ` * ON` and `OFF`. */ objectLockLegalHoldStatus?: string | core.StringOut; /** * (Optional) The object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-l * ock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values a * re `GOVERNANCE` and `COMPLIANCE`. */ objectLockMode?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * If present, indicates that the requester was successfully charged for the request. */ requestCharged: boolean | core.BooleanOut; /** * (Optional) Confirms that the requester knows that they will be charged for the request. Bucket owner * s 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.c * om/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If incl * uded, the only valid value is `requester`. */ requestPayer?: string | core.StringOut; /** * (Optional) Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws: * kms`. */ serverSideEncryption?: string | core.StringOut; /** * (Required) Specifies the source object for the copy operation. You specify the value in one of two f * ormats. 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 acce * ssed through the access point, in the format `arn:aws:s3:::accesspoint//object/`. For example, `arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/ * object/testbucket/test1.json`. */ source: string | core.StringOut; /** * (Optional) Specifies the algorithm to use when decrypting the source object (for example, AES256). */ sourceCustomerAlgorithm?: string | core.StringOut; /** * (Optional) 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?: string | core.StringOut; /** * (Optional) Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 u * ses this header for a message integrity check to ensure that the encryption key was transmitted with * out error. */ sourceCustomerKeyMd5?: string | core.StringOut; /** * Version of the copied object in the source bucket. */ sourceVersionId: string | core.StringOut; /** * (Optional) Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API * _CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STAND * ARD`. */ storageClass?: string | core.StringOut; /** * (Optional) Specifies whether the object tag-set are copied from the source object or replaced with t * ag-set provided in the request. Valid values are `COPY` and `REPLACE`. */ taggingDirective?: string | core.StringOut; /** * (Optional) A map of tags to assign to the object. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * Version ID of the newly created copy. */ versionId: string | core.StringOut; /** * (Optional) Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/ * dev/how-to-page-redirect.html). */ websiteRedirect?: string | core.StringOut; constructor(name: string, args?: ObjectCopyArgs); getNamespace(): string; } //# sourceMappingURL=object_copy.d.ts.map