ObjectCopyArgs

data class ObjectCopyArgs(val acl: Output<String>? = null, val bucket: Output<String>? = null, val bucketKeyEnabled: Output<Boolean>? = null, val cacheControl: Output<String>? = null, val contentDisposition: Output<String>? = null, val contentEncoding: Output<String>? = null, val contentLanguage: Output<String>? = null, val contentType: Output<String>? = null, val copyIfMatch: Output<String>? = null, val copyIfModifiedSince: Output<String>? = null, val copyIfNoneMatch: Output<String>? = null, val copyIfUnmodifiedSince: Output<String>? = null, val customerAlgorithm: Output<String>? = null, val customerKey: Output<String>? = null, val customerKeyMd5: Output<String>? = null, val expectedBucketOwner: Output<String>? = null, val expectedSourceBucketOwner: Output<String>? = null, val expires: Output<String>? = null, val forceDestroy: Output<Boolean>? = null, val grants: Output<List<ObjectCopyGrantArgs>>? = null, val key: Output<String>? = null, val kmsEncryptionContext: Output<String>? = null, val kmsKeyId: Output<String>? = null, val metadata: Output<Map<String, String>>? = null, val metadataDirective: Output<String>? = null, val objectLockLegalHoldStatus: Output<String>? = null, val objectLockMode: Output<String>? = null, val objectLockRetainUntilDate: Output<String>? = null, val requestPayer: Output<String>? = null, val serverSideEncryption: Output<String>? = null, val source: Output<String>? = null, val sourceCustomerAlgorithm: Output<String>? = null, val sourceCustomerKey: Output<String>? = null, val sourceCustomerKeyMd5: Output<String>? = null, val storageClass: Output<String>? = null, val taggingDirective: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val websiteRedirect: Output<String>? = null) : ConvertibleToJava<ObjectCopyArgs>

Provides a resource for copying an S3 object.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.ObjectCopy;
import com.pulumi.aws.s3.ObjectCopyArgs;
import com.pulumi.aws.s3.inputs.ObjectCopyGrantArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var test = new ObjectCopy("test", ObjectCopyArgs.builder()
.bucket("destination_bucket")
.grants(ObjectCopyGrantArgs.builder()
.permissions("READ")
.type("Group")
.uri("http://acs.amazonaws.com/groups/global/AllUsers")
.build())
.key("destination_key")
.source("source_bucket/source_key")
.build());
}
}

Constructors

Link copied to clipboard
constructor(acl: Output<String>? = null, bucket: Output<String>? = null, bucketKeyEnabled: Output<Boolean>? = null, cacheControl: Output<String>? = null, contentDisposition: Output<String>? = null, contentEncoding: Output<String>? = null, contentLanguage: Output<String>? = null, contentType: Output<String>? = null, copyIfMatch: Output<String>? = null, copyIfModifiedSince: Output<String>? = null, copyIfNoneMatch: Output<String>? = null, copyIfUnmodifiedSince: Output<String>? = null, customerAlgorithm: Output<String>? = null, customerKey: Output<String>? = null, customerKeyMd5: Output<String>? = null, expectedBucketOwner: Output<String>? = null, expectedSourceBucketOwner: Output<String>? = null, expires: Output<String>? = null, forceDestroy: Output<Boolean>? = null, grants: Output<List<ObjectCopyGrantArgs>>? = null, key: Output<String>? = null, kmsEncryptionContext: Output<String>? = null, kmsKeyId: Output<String>? = null, metadata: Output<Map<String, String>>? = null, metadataDirective: Output<String>? = null, objectLockLegalHoldStatus: Output<String>? = null, objectLockMode: Output<String>? = null, objectLockRetainUntilDate: Output<String>? = null, requestPayer: Output<String>? = null, serverSideEncryption: Output<String>? = null, source: Output<String>? = null, sourceCustomerAlgorithm: Output<String>? = null, sourceCustomerKey: Output<String>? = null, sourceCustomerKeyMd5: Output<String>? = null, storageClass: Output<String>? = null, taggingDirective: Output<String>? = null, tags: Output<Map<String, String>>? = null, websiteRedirect: Output<String>? = null)

Properties

Link copied to clipboard
val acl: Output<String>? = null

Canned ACL to apply. Defaults to private. Valid values are private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, and bucket-owner-full-control. Conflicts with grant.

Link copied to clipboard
val bucket: Output<String>? = null

Name of the bucket to put the file in.

Link copied to clipboard
val bucketKeyEnabled: Output<Boolean>? = null
Link copied to clipboard
val cacheControl: Output<String>? = null

Specifies caching behavior along the request/reply chain Read w3c cache_control for further details.

Link copied to clipboard
val contentDisposition: Output<String>? = null

Specifies presentational information for the object. Read w3c content_disposition for further information.

Link copied to clipboard
val contentEncoding: Output<String>? = null

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 for further information.

Link copied to clipboard
val contentLanguage: Output<String>? = null

Language the content is in e.g., en-US or en-GB.

Link copied to clipboard
val contentType: Output<String>? = null

Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.

Link copied to clipboard
val copyIfMatch: Output<String>? = null

Copies the object if its entity tag (ETag) matches the specified tag.

Link copied to clipboard
val copyIfModifiedSince: Output<String>? = null

Copies the object if it has been modified since the specified time, in RFC3339 format.

Link copied to clipboard
val copyIfNoneMatch: Output<String>? = null

Copies the object if its entity tag (ETag) is different than the specified ETag.

Link copied to clipboard
val copyIfUnmodifiedSince: Output<String>? = null

Copies the object if it hasn't been modified since the specified time, in RFC3339 format.

Link copied to clipboard
val customerAlgorithm: Output<String>? = null

Specifies the algorithm to use to when encrypting the object (for example, AES256).

Link copied to clipboard
val customerKey: Output<String>? = null

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.

Link copied to clipboard
val customerKeyMd5: Output<String>? = null

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

Link copied to clipboard
val expectedBucketOwner: Output<String>? = null

Account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

Link copied to clipboard
val expectedSourceBucketOwner: Output<String>? = null

Account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

Link copied to clipboard
val expires: Output<String>? = null

Date and time at which the object is no longer cacheable, in RFC3339 format.

Link copied to clipboard
val forceDestroy: Output<Boolean>? = null

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.

Link copied to clipboard
val grants: Output<List<ObjectCopyGrantArgs>>? = null

Configuration block for header grants. Documented below. Conflicts with acl.

Link copied to clipboard
val key: Output<String>? = null

Name of the object once it is in the bucket.

Link copied to clipboard
val kmsEncryptionContext: Output<String>? = null

Specifies the AWS KMS Encryption Context to use for object encryption. The value is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

Link copied to clipboard
val kmsKeyId: Output<String>? = null

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

Link copied to clipboard
val metadata: Output<Map<String, String>>? = null

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

Link copied to clipboard
val metadataDirective: Output<String>? = null

Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are COPY and REPLACE.

Link copied to clipboard
val objectLockLegalHoldStatus: Output<String>? = null

The legal hold status that you want to apply to the specified object. Valid values are ON and OFF.

Link copied to clipboard
val objectLockMode: Output<String>? = null

Object lock retention mode that you want to apply to this object. Valid values are GOVERNANCE and COMPLIANCE.

Link copied to clipboard
val objectLockRetainUntilDate: Output<String>? = null

Date and time, in RFC3339 format, when this object's object lock will expire.

Link copied to clipboard
val requestPayer: Output<String>? = null

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 Developer Guide. If included, the only valid value is requester.

Link copied to clipboard
val serverSideEncryption: Output<String>? = null

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

Link copied to clipboard
val source: Output<String>? = null

Specifies the source object for the copy operation. You specify the value in one of two formats. For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (/). For example, testbucket/test1.json. For objects accessed through access points, specify the ARN of the object as accessed through the access point, in the format arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>. For example, arn:aws:s3:us-west-2:9999912999:accesspoint/my-access-point/object/testbucket/test1.json. The following arguments are optional:

Link copied to clipboard
val sourceCustomerAlgorithm: Output<String>? = null

Specifies the algorithm to use when decrypting the source object (for example, AES256).

Link copied to clipboard
val sourceCustomerKey: Output<String>? = null

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.

Link copied to clipboard
val sourceCustomerKeyMd5: Output<String>? = null

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

Link copied to clipboard
val storageClass: Output<String>? = null

Specifies the desired storage class for the object. Defaults to STANDARD.

Link copied to clipboard
val taggingDirective: Output<String>? = null

Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are COPY and REPLACE.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Map of tags to assign to the object. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val websiteRedirect: Output<String>? = null

Specifies a target URL for website redirect.

Functions

Link copied to clipboard
open override fun toJava(): ObjectCopyArgs