github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3/objectCopy.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package s3 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource for copying an S3 object. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := s3.NewObjectCopy(ctx, "test", &s3.ObjectCopyArgs{ 33 // Bucket: pulumi.String("destination_bucket"), 34 // Key: pulumi.String("destination_key"), 35 // Source: pulumi.String("source_bucket/source_key"), 36 // Grants: s3.ObjectCopyGrantArray{ 37 // &s3.ObjectCopyGrantArgs{ 38 // Uri: pulumi.String("http://acs.amazonaws.com/groups/global/AllUsers"), 39 // Type: pulumi.String("Group"), 40 // Permissions: pulumi.StringArray{ 41 // pulumi.String("READ"), 42 // }, 43 // }, 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // return nil 50 // }) 51 // } 52 // 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 type ObjectCopy struct { 56 pulumi.CustomResourceState 57 58 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 59 Acl pulumi.StringOutput `pulumi:"acl"` 60 // ARN of the object. 61 Arn pulumi.StringOutput `pulumi:"arn"` 62 // Name of the bucket to put the file in. 63 Bucket pulumi.StringOutput `pulumi:"bucket"` 64 BucketKeyEnabled pulumi.BoolOutput `pulumi:"bucketKeyEnabled"` 65 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 66 CacheControl pulumi.StringOutput `pulumi:"cacheControl"` 67 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 68 ChecksumAlgorithm pulumi.StringPtrOutput `pulumi:"checksumAlgorithm"` 69 // The base64-encoded, 32-bit CRC32 checksum of the object. 70 ChecksumCrc32 pulumi.StringOutput `pulumi:"checksumCrc32"` 71 // The base64-encoded, 32-bit CRC32C checksum of the object. 72 ChecksumCrc32c pulumi.StringOutput `pulumi:"checksumCrc32c"` 73 // The base64-encoded, 160-bit SHA-1 digest of the object. 74 ChecksumSha1 pulumi.StringOutput `pulumi:"checksumSha1"` 75 // The base64-encoded, 256-bit SHA-256 digest of the object. 76 ChecksumSha256 pulumi.StringOutput `pulumi:"checksumSha256"` 77 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 78 ContentDisposition pulumi.StringOutput `pulumi:"contentDisposition"` 79 // 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. 80 ContentEncoding pulumi.StringOutput `pulumi:"contentEncoding"` 81 // Language the content is in e.g., en-US or en-GB. 82 ContentLanguage pulumi.StringOutput `pulumi:"contentLanguage"` 83 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 84 ContentType pulumi.StringOutput `pulumi:"contentType"` 85 // Copies the object if its entity tag (ETag) matches the specified tag. 86 CopyIfMatch pulumi.StringPtrOutput `pulumi:"copyIfMatch"` 87 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 88 CopyIfModifiedSince pulumi.StringPtrOutput `pulumi:"copyIfModifiedSince"` 89 // Copies the object if its entity tag (ETag) is different than the specified ETag. 90 CopyIfNoneMatch pulumi.StringPtrOutput `pulumi:"copyIfNoneMatch"` 91 // 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). 92 CopyIfUnmodifiedSince pulumi.StringPtrOutput `pulumi:"copyIfUnmodifiedSince"` 93 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 94 CustomerAlgorithm pulumi.StringOutput `pulumi:"customerAlgorithm"` 95 // 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. 96 CustomerKey pulumi.StringPtrOutput `pulumi:"customerKey"` 97 // 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. 98 CustomerKeyMd5 pulumi.StringOutput `pulumi:"customerKeyMd5"` 99 // ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html). 100 Etag pulumi.StringOutput `pulumi:"etag"` 101 // 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. 102 ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"` 103 // 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. 104 ExpectedSourceBucketOwner pulumi.StringPtrOutput `pulumi:"expectedSourceBucketOwner"` 105 // If the object expiration is configured, this attribute will be set. 106 Expiration pulumi.StringOutput `pulumi:"expiration"` 107 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 108 Expires pulumi.StringPtrOutput `pulumi:"expires"` 109 // 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. 110 ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` 111 // Configuration block for header grants. Documented below. Conflicts with `acl`. 112 Grants ObjectCopyGrantArrayOutput `pulumi:"grants"` 113 // Name of the object once it is in the bucket. 114 Key pulumi.StringOutput `pulumi:"key"` 115 // 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. 116 KmsEncryptionContext pulumi.StringOutput `pulumi:"kmsEncryptionContext"` 117 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 118 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 119 // Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 120 LastModified pulumi.StringOutput `pulumi:"lastModified"` 121 // 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). 122 Metadata pulumi.StringMapOutput `pulumi:"metadata"` 123 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 124 MetadataDirective pulumi.StringPtrOutput `pulumi:"metadataDirective"` 125 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 126 ObjectLockLegalHoldStatus pulumi.StringOutput `pulumi:"objectLockLegalHoldStatus"` 127 // 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`. 128 ObjectLockMode pulumi.StringOutput `pulumi:"objectLockMode"` 129 // 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). 130 ObjectLockRetainUntilDate pulumi.StringOutput `pulumi:"objectLockRetainUntilDate"` 131 // If present, indicates that the requester was successfully charged for the request. 132 RequestCharged pulumi.BoolOutput `pulumi:"requestCharged"` 133 // 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`. 134 RequestPayer pulumi.StringPtrOutput `pulumi:"requestPayer"` 135 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 136 ServerSideEncryption pulumi.StringOutput `pulumi:"serverSideEncryption"` 137 // 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`. 138 // 139 // The following arguments are optional: 140 Source pulumi.StringOutput `pulumi:"source"` 141 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 142 SourceCustomerAlgorithm pulumi.StringPtrOutput `pulumi:"sourceCustomerAlgorithm"` 143 // 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. 144 SourceCustomerKey pulumi.StringPtrOutput `pulumi:"sourceCustomerKey"` 145 // 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. 146 SourceCustomerKeyMd5 pulumi.StringPtrOutput `pulumi:"sourceCustomerKeyMd5"` 147 // Version of the copied object in the source bucket. 148 SourceVersionId pulumi.StringOutput `pulumi:"sourceVersionId"` 149 // 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 `STANDARD`. 150 StorageClass pulumi.StringOutput `pulumi:"storageClass"` 151 // 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`. 152 TaggingDirective pulumi.StringPtrOutput `pulumi:"taggingDirective"` 153 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 154 Tags pulumi.StringMapOutput `pulumi:"tags"` 155 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 156 // 157 // Deprecated: Please use `tags` instead. 158 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 159 // Version ID of the newly created copy. 160 VersionId pulumi.StringOutput `pulumi:"versionId"` 161 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 162 WebsiteRedirect pulumi.StringOutput `pulumi:"websiteRedirect"` 163 } 164 165 // NewObjectCopy registers a new resource with the given unique name, arguments, and options. 166 func NewObjectCopy(ctx *pulumi.Context, 167 name string, args *ObjectCopyArgs, opts ...pulumi.ResourceOption) (*ObjectCopy, error) { 168 if args == nil { 169 return nil, errors.New("missing one or more required arguments") 170 } 171 172 if args.Bucket == nil { 173 return nil, errors.New("invalid value for required argument 'Bucket'") 174 } 175 if args.Key == nil { 176 return nil, errors.New("invalid value for required argument 'Key'") 177 } 178 if args.Source == nil { 179 return nil, errors.New("invalid value for required argument 'Source'") 180 } 181 if args.CustomerKey != nil { 182 args.CustomerKey = pulumi.ToSecret(args.CustomerKey).(pulumi.StringPtrInput) 183 } 184 if args.KmsEncryptionContext != nil { 185 args.KmsEncryptionContext = pulumi.ToSecret(args.KmsEncryptionContext).(pulumi.StringPtrInput) 186 } 187 if args.KmsKeyId != nil { 188 args.KmsKeyId = pulumi.ToSecret(args.KmsKeyId).(pulumi.StringPtrInput) 189 } 190 if args.SourceCustomerKey != nil { 191 args.SourceCustomerKey = pulumi.ToSecret(args.SourceCustomerKey).(pulumi.StringPtrInput) 192 } 193 secrets := pulumi.AdditionalSecretOutputs([]string{ 194 "customerKey", 195 "kmsEncryptionContext", 196 "kmsKeyId", 197 "sourceCustomerKey", 198 }) 199 opts = append(opts, secrets) 200 opts = internal.PkgResourceDefaultOpts(opts) 201 var resource ObjectCopy 202 err := ctx.RegisterResource("aws:s3/objectCopy:ObjectCopy", name, args, &resource, opts...) 203 if err != nil { 204 return nil, err 205 } 206 return &resource, nil 207 } 208 209 // GetObjectCopy gets an existing ObjectCopy resource's state with the given name, ID, and optional 210 // state properties that are used to uniquely qualify the lookup (nil if not required). 211 func GetObjectCopy(ctx *pulumi.Context, 212 name string, id pulumi.IDInput, state *ObjectCopyState, opts ...pulumi.ResourceOption) (*ObjectCopy, error) { 213 var resource ObjectCopy 214 err := ctx.ReadResource("aws:s3/objectCopy:ObjectCopy", name, id, state, &resource, opts...) 215 if err != nil { 216 return nil, err 217 } 218 return &resource, nil 219 } 220 221 // Input properties used for looking up and filtering ObjectCopy resources. 222 type objectCopyState struct { 223 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 224 Acl *string `pulumi:"acl"` 225 // ARN of the object. 226 Arn *string `pulumi:"arn"` 227 // Name of the bucket to put the file in. 228 Bucket *string `pulumi:"bucket"` 229 BucketKeyEnabled *bool `pulumi:"bucketKeyEnabled"` 230 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 231 CacheControl *string `pulumi:"cacheControl"` 232 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 233 ChecksumAlgorithm *string `pulumi:"checksumAlgorithm"` 234 // The base64-encoded, 32-bit CRC32 checksum of the object. 235 ChecksumCrc32 *string `pulumi:"checksumCrc32"` 236 // The base64-encoded, 32-bit CRC32C checksum of the object. 237 ChecksumCrc32c *string `pulumi:"checksumCrc32c"` 238 // The base64-encoded, 160-bit SHA-1 digest of the object. 239 ChecksumSha1 *string `pulumi:"checksumSha1"` 240 // The base64-encoded, 256-bit SHA-256 digest of the object. 241 ChecksumSha256 *string `pulumi:"checksumSha256"` 242 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 243 ContentDisposition *string `pulumi:"contentDisposition"` 244 // 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. 245 ContentEncoding *string `pulumi:"contentEncoding"` 246 // Language the content is in e.g., en-US or en-GB. 247 ContentLanguage *string `pulumi:"contentLanguage"` 248 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 249 ContentType *string `pulumi:"contentType"` 250 // Copies the object if its entity tag (ETag) matches the specified tag. 251 CopyIfMatch *string `pulumi:"copyIfMatch"` 252 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 253 CopyIfModifiedSince *string `pulumi:"copyIfModifiedSince"` 254 // Copies the object if its entity tag (ETag) is different than the specified ETag. 255 CopyIfNoneMatch *string `pulumi:"copyIfNoneMatch"` 256 // 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). 257 CopyIfUnmodifiedSince *string `pulumi:"copyIfUnmodifiedSince"` 258 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 259 CustomerAlgorithm *string `pulumi:"customerAlgorithm"` 260 // 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. 261 CustomerKey *string `pulumi:"customerKey"` 262 // 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. 263 CustomerKeyMd5 *string `pulumi:"customerKeyMd5"` 264 // ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html). 265 Etag *string `pulumi:"etag"` 266 // 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. 267 ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` 268 // 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. 269 ExpectedSourceBucketOwner *string `pulumi:"expectedSourceBucketOwner"` 270 // If the object expiration is configured, this attribute will be set. 271 Expiration *string `pulumi:"expiration"` 272 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 273 Expires *string `pulumi:"expires"` 274 // 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. 275 ForceDestroy *bool `pulumi:"forceDestroy"` 276 // Configuration block for header grants. Documented below. Conflicts with `acl`. 277 Grants []ObjectCopyGrant `pulumi:"grants"` 278 // Name of the object once it is in the bucket. 279 Key *string `pulumi:"key"` 280 // 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. 281 KmsEncryptionContext *string `pulumi:"kmsEncryptionContext"` 282 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 283 KmsKeyId *string `pulumi:"kmsKeyId"` 284 // Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 285 LastModified *string `pulumi:"lastModified"` 286 // 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). 287 Metadata map[string]string `pulumi:"metadata"` 288 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 289 MetadataDirective *string `pulumi:"metadataDirective"` 290 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 291 ObjectLockLegalHoldStatus *string `pulumi:"objectLockLegalHoldStatus"` 292 // 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`. 293 ObjectLockMode *string `pulumi:"objectLockMode"` 294 // 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). 295 ObjectLockRetainUntilDate *string `pulumi:"objectLockRetainUntilDate"` 296 // If present, indicates that the requester was successfully charged for the request. 297 RequestCharged *bool `pulumi:"requestCharged"` 298 // 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`. 299 RequestPayer *string `pulumi:"requestPayer"` 300 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 301 ServerSideEncryption *string `pulumi:"serverSideEncryption"` 302 // 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`. 303 // 304 // The following arguments are optional: 305 Source *string `pulumi:"source"` 306 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 307 SourceCustomerAlgorithm *string `pulumi:"sourceCustomerAlgorithm"` 308 // 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. 309 SourceCustomerKey *string `pulumi:"sourceCustomerKey"` 310 // 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. 311 SourceCustomerKeyMd5 *string `pulumi:"sourceCustomerKeyMd5"` 312 // Version of the copied object in the source bucket. 313 SourceVersionId *string `pulumi:"sourceVersionId"` 314 // 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 `STANDARD`. 315 StorageClass *string `pulumi:"storageClass"` 316 // 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`. 317 TaggingDirective *string `pulumi:"taggingDirective"` 318 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 319 Tags map[string]string `pulumi:"tags"` 320 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 321 // 322 // Deprecated: Please use `tags` instead. 323 TagsAll map[string]string `pulumi:"tagsAll"` 324 // Version ID of the newly created copy. 325 VersionId *string `pulumi:"versionId"` 326 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 327 WebsiteRedirect *string `pulumi:"websiteRedirect"` 328 } 329 330 type ObjectCopyState struct { 331 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 332 Acl pulumi.StringPtrInput 333 // ARN of the object. 334 Arn pulumi.StringPtrInput 335 // Name of the bucket to put the file in. 336 Bucket pulumi.StringPtrInput 337 BucketKeyEnabled pulumi.BoolPtrInput 338 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 339 CacheControl pulumi.StringPtrInput 340 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 341 ChecksumAlgorithm pulumi.StringPtrInput 342 // The base64-encoded, 32-bit CRC32 checksum of the object. 343 ChecksumCrc32 pulumi.StringPtrInput 344 // The base64-encoded, 32-bit CRC32C checksum of the object. 345 ChecksumCrc32c pulumi.StringPtrInput 346 // The base64-encoded, 160-bit SHA-1 digest of the object. 347 ChecksumSha1 pulumi.StringPtrInput 348 // The base64-encoded, 256-bit SHA-256 digest of the object. 349 ChecksumSha256 pulumi.StringPtrInput 350 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 351 ContentDisposition pulumi.StringPtrInput 352 // 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. 353 ContentEncoding pulumi.StringPtrInput 354 // Language the content is in e.g., en-US or en-GB. 355 ContentLanguage pulumi.StringPtrInput 356 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 357 ContentType pulumi.StringPtrInput 358 // Copies the object if its entity tag (ETag) matches the specified tag. 359 CopyIfMatch pulumi.StringPtrInput 360 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 361 CopyIfModifiedSince pulumi.StringPtrInput 362 // Copies the object if its entity tag (ETag) is different than the specified ETag. 363 CopyIfNoneMatch pulumi.StringPtrInput 364 // 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). 365 CopyIfUnmodifiedSince pulumi.StringPtrInput 366 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 367 CustomerAlgorithm pulumi.StringPtrInput 368 // 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. 369 CustomerKey pulumi.StringPtrInput 370 // 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. 371 CustomerKeyMd5 pulumi.StringPtrInput 372 // ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html). 373 Etag pulumi.StringPtrInput 374 // 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. 375 ExpectedBucketOwner pulumi.StringPtrInput 376 // 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. 377 ExpectedSourceBucketOwner pulumi.StringPtrInput 378 // If the object expiration is configured, this attribute will be set. 379 Expiration pulumi.StringPtrInput 380 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 381 Expires pulumi.StringPtrInput 382 // 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. 383 ForceDestroy pulumi.BoolPtrInput 384 // Configuration block for header grants. Documented below. Conflicts with `acl`. 385 Grants ObjectCopyGrantArrayInput 386 // Name of the object once it is in the bucket. 387 Key pulumi.StringPtrInput 388 // 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. 389 KmsEncryptionContext pulumi.StringPtrInput 390 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 391 KmsKeyId pulumi.StringPtrInput 392 // Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 393 LastModified pulumi.StringPtrInput 394 // 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). 395 Metadata pulumi.StringMapInput 396 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 397 MetadataDirective pulumi.StringPtrInput 398 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 399 ObjectLockLegalHoldStatus pulumi.StringPtrInput 400 // 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`. 401 ObjectLockMode pulumi.StringPtrInput 402 // 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). 403 ObjectLockRetainUntilDate pulumi.StringPtrInput 404 // If present, indicates that the requester was successfully charged for the request. 405 RequestCharged pulumi.BoolPtrInput 406 // 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`. 407 RequestPayer pulumi.StringPtrInput 408 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 409 ServerSideEncryption pulumi.StringPtrInput 410 // 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`. 411 // 412 // The following arguments are optional: 413 Source pulumi.StringPtrInput 414 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 415 SourceCustomerAlgorithm pulumi.StringPtrInput 416 // 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. 417 SourceCustomerKey pulumi.StringPtrInput 418 // 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. 419 SourceCustomerKeyMd5 pulumi.StringPtrInput 420 // Version of the copied object in the source bucket. 421 SourceVersionId pulumi.StringPtrInput 422 // 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 `STANDARD`. 423 StorageClass pulumi.StringPtrInput 424 // 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`. 425 TaggingDirective pulumi.StringPtrInput 426 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 427 Tags pulumi.StringMapInput 428 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 429 // 430 // Deprecated: Please use `tags` instead. 431 TagsAll pulumi.StringMapInput 432 // Version ID of the newly created copy. 433 VersionId pulumi.StringPtrInput 434 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 435 WebsiteRedirect pulumi.StringPtrInput 436 } 437 438 func (ObjectCopyState) ElementType() reflect.Type { 439 return reflect.TypeOf((*objectCopyState)(nil)).Elem() 440 } 441 442 type objectCopyArgs struct { 443 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 444 Acl *string `pulumi:"acl"` 445 // Name of the bucket to put the file in. 446 Bucket string `pulumi:"bucket"` 447 BucketKeyEnabled *bool `pulumi:"bucketKeyEnabled"` 448 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 449 CacheControl *string `pulumi:"cacheControl"` 450 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 451 ChecksumAlgorithm *string `pulumi:"checksumAlgorithm"` 452 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 453 ContentDisposition *string `pulumi:"contentDisposition"` 454 // 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. 455 ContentEncoding *string `pulumi:"contentEncoding"` 456 // Language the content is in e.g., en-US or en-GB. 457 ContentLanguage *string `pulumi:"contentLanguage"` 458 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 459 ContentType *string `pulumi:"contentType"` 460 // Copies the object if its entity tag (ETag) matches the specified tag. 461 CopyIfMatch *string `pulumi:"copyIfMatch"` 462 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 463 CopyIfModifiedSince *string `pulumi:"copyIfModifiedSince"` 464 // Copies the object if its entity tag (ETag) is different than the specified ETag. 465 CopyIfNoneMatch *string `pulumi:"copyIfNoneMatch"` 466 // 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). 467 CopyIfUnmodifiedSince *string `pulumi:"copyIfUnmodifiedSince"` 468 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 469 CustomerAlgorithm *string `pulumi:"customerAlgorithm"` 470 // 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. 471 CustomerKey *string `pulumi:"customerKey"` 472 // 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. 473 CustomerKeyMd5 *string `pulumi:"customerKeyMd5"` 474 // 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. 475 ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` 476 // 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. 477 ExpectedSourceBucketOwner *string `pulumi:"expectedSourceBucketOwner"` 478 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 479 Expires *string `pulumi:"expires"` 480 // 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. 481 ForceDestroy *bool `pulumi:"forceDestroy"` 482 // Configuration block for header grants. Documented below. Conflicts with `acl`. 483 Grants []ObjectCopyGrant `pulumi:"grants"` 484 // Name of the object once it is in the bucket. 485 Key string `pulumi:"key"` 486 // 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. 487 KmsEncryptionContext *string `pulumi:"kmsEncryptionContext"` 488 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 489 KmsKeyId *string `pulumi:"kmsKeyId"` 490 // 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). 491 Metadata map[string]string `pulumi:"metadata"` 492 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 493 MetadataDirective *string `pulumi:"metadataDirective"` 494 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 495 ObjectLockLegalHoldStatus *string `pulumi:"objectLockLegalHoldStatus"` 496 // 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`. 497 ObjectLockMode *string `pulumi:"objectLockMode"` 498 // 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). 499 ObjectLockRetainUntilDate *string `pulumi:"objectLockRetainUntilDate"` 500 // 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`. 501 RequestPayer *string `pulumi:"requestPayer"` 502 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 503 ServerSideEncryption *string `pulumi:"serverSideEncryption"` 504 // 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`. 505 // 506 // The following arguments are optional: 507 Source string `pulumi:"source"` 508 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 509 SourceCustomerAlgorithm *string `pulumi:"sourceCustomerAlgorithm"` 510 // 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. 511 SourceCustomerKey *string `pulumi:"sourceCustomerKey"` 512 // 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. 513 SourceCustomerKeyMd5 *string `pulumi:"sourceCustomerKeyMd5"` 514 // 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 `STANDARD`. 515 StorageClass *string `pulumi:"storageClass"` 516 // 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`. 517 TaggingDirective *string `pulumi:"taggingDirective"` 518 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 519 Tags map[string]string `pulumi:"tags"` 520 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 521 WebsiteRedirect *string `pulumi:"websiteRedirect"` 522 } 523 524 // The set of arguments for constructing a ObjectCopy resource. 525 type ObjectCopyArgs struct { 526 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 527 Acl pulumi.StringPtrInput 528 // Name of the bucket to put the file in. 529 Bucket pulumi.StringInput 530 BucketKeyEnabled pulumi.BoolPtrInput 531 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 532 CacheControl pulumi.StringPtrInput 533 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 534 ChecksumAlgorithm pulumi.StringPtrInput 535 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 536 ContentDisposition pulumi.StringPtrInput 537 // 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. 538 ContentEncoding pulumi.StringPtrInput 539 // Language the content is in e.g., en-US or en-GB. 540 ContentLanguage pulumi.StringPtrInput 541 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 542 ContentType pulumi.StringPtrInput 543 // Copies the object if its entity tag (ETag) matches the specified tag. 544 CopyIfMatch pulumi.StringPtrInput 545 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 546 CopyIfModifiedSince pulumi.StringPtrInput 547 // Copies the object if its entity tag (ETag) is different than the specified ETag. 548 CopyIfNoneMatch pulumi.StringPtrInput 549 // 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). 550 CopyIfUnmodifiedSince pulumi.StringPtrInput 551 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 552 CustomerAlgorithm pulumi.StringPtrInput 553 // 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. 554 CustomerKey pulumi.StringPtrInput 555 // 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. 556 CustomerKeyMd5 pulumi.StringPtrInput 557 // 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. 558 ExpectedBucketOwner pulumi.StringPtrInput 559 // 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. 560 ExpectedSourceBucketOwner pulumi.StringPtrInput 561 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 562 Expires pulumi.StringPtrInput 563 // 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. 564 ForceDestroy pulumi.BoolPtrInput 565 // Configuration block for header grants. Documented below. Conflicts with `acl`. 566 Grants ObjectCopyGrantArrayInput 567 // Name of the object once it is in the bucket. 568 Key pulumi.StringInput 569 // 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. 570 KmsEncryptionContext pulumi.StringPtrInput 571 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 572 KmsKeyId pulumi.StringPtrInput 573 // 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). 574 Metadata pulumi.StringMapInput 575 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 576 MetadataDirective pulumi.StringPtrInput 577 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 578 ObjectLockLegalHoldStatus pulumi.StringPtrInput 579 // 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`. 580 ObjectLockMode pulumi.StringPtrInput 581 // 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). 582 ObjectLockRetainUntilDate pulumi.StringPtrInput 583 // 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`. 584 RequestPayer pulumi.StringPtrInput 585 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 586 ServerSideEncryption pulumi.StringPtrInput 587 // 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`. 588 // 589 // The following arguments are optional: 590 Source pulumi.StringInput 591 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 592 SourceCustomerAlgorithm pulumi.StringPtrInput 593 // 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. 594 SourceCustomerKey pulumi.StringPtrInput 595 // 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. 596 SourceCustomerKeyMd5 pulumi.StringPtrInput 597 // 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 `STANDARD`. 598 StorageClass pulumi.StringPtrInput 599 // 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`. 600 TaggingDirective pulumi.StringPtrInput 601 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 602 Tags pulumi.StringMapInput 603 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 604 WebsiteRedirect pulumi.StringPtrInput 605 } 606 607 func (ObjectCopyArgs) ElementType() reflect.Type { 608 return reflect.TypeOf((*objectCopyArgs)(nil)).Elem() 609 } 610 611 type ObjectCopyInput interface { 612 pulumi.Input 613 614 ToObjectCopyOutput() ObjectCopyOutput 615 ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput 616 } 617 618 func (*ObjectCopy) ElementType() reflect.Type { 619 return reflect.TypeOf((**ObjectCopy)(nil)).Elem() 620 } 621 622 func (i *ObjectCopy) ToObjectCopyOutput() ObjectCopyOutput { 623 return i.ToObjectCopyOutputWithContext(context.Background()) 624 } 625 626 func (i *ObjectCopy) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput { 627 return pulumi.ToOutputWithContext(ctx, i).(ObjectCopyOutput) 628 } 629 630 // ObjectCopyArrayInput is an input type that accepts ObjectCopyArray and ObjectCopyArrayOutput values. 631 // You can construct a concrete instance of `ObjectCopyArrayInput` via: 632 // 633 // ObjectCopyArray{ ObjectCopyArgs{...} } 634 type ObjectCopyArrayInput interface { 635 pulumi.Input 636 637 ToObjectCopyArrayOutput() ObjectCopyArrayOutput 638 ToObjectCopyArrayOutputWithContext(context.Context) ObjectCopyArrayOutput 639 } 640 641 type ObjectCopyArray []ObjectCopyInput 642 643 func (ObjectCopyArray) ElementType() reflect.Type { 644 return reflect.TypeOf((*[]*ObjectCopy)(nil)).Elem() 645 } 646 647 func (i ObjectCopyArray) ToObjectCopyArrayOutput() ObjectCopyArrayOutput { 648 return i.ToObjectCopyArrayOutputWithContext(context.Background()) 649 } 650 651 func (i ObjectCopyArray) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput { 652 return pulumi.ToOutputWithContext(ctx, i).(ObjectCopyArrayOutput) 653 } 654 655 // ObjectCopyMapInput is an input type that accepts ObjectCopyMap and ObjectCopyMapOutput values. 656 // You can construct a concrete instance of `ObjectCopyMapInput` via: 657 // 658 // ObjectCopyMap{ "key": ObjectCopyArgs{...} } 659 type ObjectCopyMapInput interface { 660 pulumi.Input 661 662 ToObjectCopyMapOutput() ObjectCopyMapOutput 663 ToObjectCopyMapOutputWithContext(context.Context) ObjectCopyMapOutput 664 } 665 666 type ObjectCopyMap map[string]ObjectCopyInput 667 668 func (ObjectCopyMap) ElementType() reflect.Type { 669 return reflect.TypeOf((*map[string]*ObjectCopy)(nil)).Elem() 670 } 671 672 func (i ObjectCopyMap) ToObjectCopyMapOutput() ObjectCopyMapOutput { 673 return i.ToObjectCopyMapOutputWithContext(context.Background()) 674 } 675 676 func (i ObjectCopyMap) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput { 677 return pulumi.ToOutputWithContext(ctx, i).(ObjectCopyMapOutput) 678 } 679 680 type ObjectCopyOutput struct{ *pulumi.OutputState } 681 682 func (ObjectCopyOutput) ElementType() reflect.Type { 683 return reflect.TypeOf((**ObjectCopy)(nil)).Elem() 684 } 685 686 func (o ObjectCopyOutput) ToObjectCopyOutput() ObjectCopyOutput { 687 return o 688 } 689 690 func (o ObjectCopyOutput) ToObjectCopyOutputWithContext(ctx context.Context) ObjectCopyOutput { 691 return o 692 } 693 694 // [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`, `authenticated-read`, `aws-exec-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Conflicts with `grant`. 695 func (o ObjectCopyOutput) Acl() pulumi.StringOutput { 696 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Acl }).(pulumi.StringOutput) 697 } 698 699 // ARN of the object. 700 func (o ObjectCopyOutput) Arn() pulumi.StringOutput { 701 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 702 } 703 704 // Name of the bucket to put the file in. 705 func (o ObjectCopyOutput) Bucket() pulumi.StringOutput { 706 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) 707 } 708 709 func (o ObjectCopyOutput) BucketKeyEnabled() pulumi.BoolOutput { 710 return o.ApplyT(func(v *ObjectCopy) pulumi.BoolOutput { return v.BucketKeyEnabled }).(pulumi.BoolOutput) 711 } 712 713 // Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details. 714 func (o ObjectCopyOutput) CacheControl() pulumi.StringOutput { 715 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.CacheControl }).(pulumi.StringOutput) 716 } 717 718 // Indicates the algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `SHA1`, `SHA256`. 719 func (o ObjectCopyOutput) ChecksumAlgorithm() pulumi.StringPtrOutput { 720 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.ChecksumAlgorithm }).(pulumi.StringPtrOutput) 721 } 722 723 // The base64-encoded, 32-bit CRC32 checksum of the object. 724 func (o ObjectCopyOutput) ChecksumCrc32() pulumi.StringOutput { 725 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ChecksumCrc32 }).(pulumi.StringOutput) 726 } 727 728 // The base64-encoded, 32-bit CRC32C checksum of the object. 729 func (o ObjectCopyOutput) ChecksumCrc32c() pulumi.StringOutput { 730 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ChecksumCrc32c }).(pulumi.StringOutput) 731 } 732 733 // The base64-encoded, 160-bit SHA-1 digest of the object. 734 func (o ObjectCopyOutput) ChecksumSha1() pulumi.StringOutput { 735 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ChecksumSha1 }).(pulumi.StringOutput) 736 } 737 738 // The base64-encoded, 256-bit SHA-256 digest of the object. 739 func (o ObjectCopyOutput) ChecksumSha256() pulumi.StringOutput { 740 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ChecksumSha256 }).(pulumi.StringOutput) 741 } 742 743 // Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information. 744 func (o ObjectCopyOutput) ContentDisposition() pulumi.StringOutput { 745 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ContentDisposition }).(pulumi.StringOutput) 746 } 747 748 // 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. 749 func (o ObjectCopyOutput) ContentEncoding() pulumi.StringOutput { 750 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ContentEncoding }).(pulumi.StringOutput) 751 } 752 753 // Language the content is in e.g., en-US or en-GB. 754 func (o ObjectCopyOutput) ContentLanguage() pulumi.StringOutput { 755 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ContentLanguage }).(pulumi.StringOutput) 756 } 757 758 // Standard MIME type describing the format of the object data, e.g., `application/octet-stream`. All Valid MIME Types are valid for this input. 759 func (o ObjectCopyOutput) ContentType() pulumi.StringOutput { 760 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ContentType }).(pulumi.StringOutput) 761 } 762 763 // Copies the object if its entity tag (ETag) matches the specified tag. 764 func (o ObjectCopyOutput) CopyIfMatch() pulumi.StringPtrOutput { 765 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.CopyIfMatch }).(pulumi.StringPtrOutput) 766 } 767 768 // Copies the object if it has been modified since the specified time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 769 func (o ObjectCopyOutput) CopyIfModifiedSince() pulumi.StringPtrOutput { 770 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.CopyIfModifiedSince }).(pulumi.StringPtrOutput) 771 } 772 773 // Copies the object if its entity tag (ETag) is different than the specified ETag. 774 func (o ObjectCopyOutput) CopyIfNoneMatch() pulumi.StringPtrOutput { 775 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.CopyIfNoneMatch }).(pulumi.StringPtrOutput) 776 } 777 778 // 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). 779 func (o ObjectCopyOutput) CopyIfUnmodifiedSince() pulumi.StringPtrOutput { 780 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.CopyIfUnmodifiedSince }).(pulumi.StringPtrOutput) 781 } 782 783 // Specifies the algorithm to use to when encrypting the object (for example, AES256). 784 func (o ObjectCopyOutput) CustomerAlgorithm() pulumi.StringOutput { 785 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.CustomerAlgorithm }).(pulumi.StringOutput) 786 } 787 788 // 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. 789 func (o ObjectCopyOutput) CustomerKey() pulumi.StringPtrOutput { 790 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.CustomerKey }).(pulumi.StringPtrOutput) 791 } 792 793 // 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. 794 func (o ObjectCopyOutput) CustomerKeyMd5() pulumi.StringOutput { 795 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.CustomerKeyMd5 }).(pulumi.StringOutput) 796 } 797 798 // ETag generated for the object (an MD5 sum of the object content). For plaintext objects or objects encrypted with an AWS-managed key, the hash is an MD5 digest of the object data. For objects encrypted with a KMS key or objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest, regardless of the method of encryption. More information on possible values can be found on [Common Response Headers](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html). 799 func (o ObjectCopyOutput) Etag() pulumi.StringOutput { 800 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) 801 } 802 803 // 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. 804 func (o ObjectCopyOutput) ExpectedBucketOwner() pulumi.StringPtrOutput { 805 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.ExpectedBucketOwner }).(pulumi.StringPtrOutput) 806 } 807 808 // 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. 809 func (o ObjectCopyOutput) ExpectedSourceBucketOwner() pulumi.StringPtrOutput { 810 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.ExpectedSourceBucketOwner }).(pulumi.StringPtrOutput) 811 } 812 813 // If the object expiration is configured, this attribute will be set. 814 func (o ObjectCopyOutput) Expiration() pulumi.StringOutput { 815 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Expiration }).(pulumi.StringOutput) 816 } 817 818 // Date and time at which the object is no longer cacheable, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 819 func (o ObjectCopyOutput) Expires() pulumi.StringPtrOutput { 820 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.Expires }).(pulumi.StringPtrOutput) 821 } 822 823 // 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. 824 func (o ObjectCopyOutput) ForceDestroy() pulumi.BoolPtrOutput { 825 return o.ApplyT(func(v *ObjectCopy) pulumi.BoolPtrOutput { return v.ForceDestroy }).(pulumi.BoolPtrOutput) 826 } 827 828 // Configuration block for header grants. Documented below. Conflicts with `acl`. 829 func (o ObjectCopyOutput) Grants() ObjectCopyGrantArrayOutput { 830 return o.ApplyT(func(v *ObjectCopy) ObjectCopyGrantArrayOutput { return v.Grants }).(ObjectCopyGrantArrayOutput) 831 } 832 833 // Name of the object once it is in the bucket. 834 func (o ObjectCopyOutput) Key() pulumi.StringOutput { 835 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) 836 } 837 838 // 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. 839 func (o ObjectCopyOutput) KmsEncryptionContext() pulumi.StringOutput { 840 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.KmsEncryptionContext }).(pulumi.StringOutput) 841 } 842 843 // Specifies the AWS KMS Key ARN to use for object encryption. This value is a fully qualified **ARN** of the KMS Key. If using `kms.Key`, use the exported `arn` attribute: `kmsKeyId = aws_kms_key.foo.arn` 844 func (o ObjectCopyOutput) KmsKeyId() pulumi.StringOutput { 845 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 846 } 847 848 // Returns the date that the object was last modified, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8). 849 func (o ObjectCopyOutput) LastModified() pulumi.StringOutput { 850 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.LastModified }).(pulumi.StringOutput) 851 } 852 853 // 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). 854 func (o ObjectCopyOutput) Metadata() pulumi.StringMapOutput { 855 return o.ApplyT(func(v *ObjectCopy) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) 856 } 857 858 // Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Valid values are `COPY` and `REPLACE`. 859 func (o ObjectCopyOutput) MetadataDirective() pulumi.StringPtrOutput { 860 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.MetadataDirective }).(pulumi.StringPtrOutput) 861 } 862 863 // The [legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`. 864 func (o ObjectCopyOutput) ObjectLockLegalHoldStatus() pulumi.StringOutput { 865 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ObjectLockLegalHoldStatus }).(pulumi.StringOutput) 866 } 867 868 // 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`. 869 func (o ObjectCopyOutput) ObjectLockMode() pulumi.StringOutput { 870 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ObjectLockMode }).(pulumi.StringOutput) 871 } 872 873 // 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). 874 func (o ObjectCopyOutput) ObjectLockRetainUntilDate() pulumi.StringOutput { 875 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ObjectLockRetainUntilDate }).(pulumi.StringOutput) 876 } 877 878 // If present, indicates that the requester was successfully charged for the request. 879 func (o ObjectCopyOutput) RequestCharged() pulumi.BoolOutput { 880 return o.ApplyT(func(v *ObjectCopy) pulumi.BoolOutput { return v.RequestCharged }).(pulumi.BoolOutput) 881 } 882 883 // 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`. 884 func (o ObjectCopyOutput) RequestPayer() pulumi.StringPtrOutput { 885 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.RequestPayer }).(pulumi.StringPtrOutput) 886 } 887 888 // Specifies server-side encryption of the object in S3. Valid values are `AES256` and `aws:kms`. 889 func (o ObjectCopyOutput) ServerSideEncryption() pulumi.StringOutput { 890 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.ServerSideEncryption }).(pulumi.StringOutput) 891 } 892 893 // 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`. 894 // 895 // The following arguments are optional: 896 func (o ObjectCopyOutput) Source() pulumi.StringOutput { 897 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.Source }).(pulumi.StringOutput) 898 } 899 900 // Specifies the algorithm to use when decrypting the source object (for example, AES256). 901 func (o ObjectCopyOutput) SourceCustomerAlgorithm() pulumi.StringPtrOutput { 902 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.SourceCustomerAlgorithm }).(pulumi.StringPtrOutput) 903 } 904 905 // 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. 906 func (o ObjectCopyOutput) SourceCustomerKey() pulumi.StringPtrOutput { 907 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.SourceCustomerKey }).(pulumi.StringPtrOutput) 908 } 909 910 // 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. 911 func (o ObjectCopyOutput) SourceCustomerKeyMd5() pulumi.StringPtrOutput { 912 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.SourceCustomerKeyMd5 }).(pulumi.StringPtrOutput) 913 } 914 915 // Version of the copied object in the source bucket. 916 func (o ObjectCopyOutput) SourceVersionId() pulumi.StringOutput { 917 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.SourceVersionId }).(pulumi.StringOutput) 918 } 919 920 // 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 `STANDARD`. 921 func (o ObjectCopyOutput) StorageClass() pulumi.StringOutput { 922 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.StorageClass }).(pulumi.StringOutput) 923 } 924 925 // 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`. 926 func (o ObjectCopyOutput) TaggingDirective() pulumi.StringPtrOutput { 927 return o.ApplyT(func(v *ObjectCopy) pulumi.StringPtrOutput { return v.TaggingDirective }).(pulumi.StringPtrOutput) 928 } 929 930 // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 931 func (o ObjectCopyOutput) Tags() pulumi.StringMapOutput { 932 return o.ApplyT(func(v *ObjectCopy) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 933 } 934 935 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 936 // 937 // Deprecated: Please use `tags` instead. 938 func (o ObjectCopyOutput) TagsAll() pulumi.StringMapOutput { 939 return o.ApplyT(func(v *ObjectCopy) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 940 } 941 942 // Version ID of the newly created copy. 943 func (o ObjectCopyOutput) VersionId() pulumi.StringOutput { 944 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.VersionId }).(pulumi.StringOutput) 945 } 946 947 // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). 948 func (o ObjectCopyOutput) WebsiteRedirect() pulumi.StringOutput { 949 return o.ApplyT(func(v *ObjectCopy) pulumi.StringOutput { return v.WebsiteRedirect }).(pulumi.StringOutput) 950 } 951 952 type ObjectCopyArrayOutput struct{ *pulumi.OutputState } 953 954 func (ObjectCopyArrayOutput) ElementType() reflect.Type { 955 return reflect.TypeOf((*[]*ObjectCopy)(nil)).Elem() 956 } 957 958 func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutput() ObjectCopyArrayOutput { 959 return o 960 } 961 962 func (o ObjectCopyArrayOutput) ToObjectCopyArrayOutputWithContext(ctx context.Context) ObjectCopyArrayOutput { 963 return o 964 } 965 966 func (o ObjectCopyArrayOutput) Index(i pulumi.IntInput) ObjectCopyOutput { 967 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ObjectCopy { 968 return vs[0].([]*ObjectCopy)[vs[1].(int)] 969 }).(ObjectCopyOutput) 970 } 971 972 type ObjectCopyMapOutput struct{ *pulumi.OutputState } 973 974 func (ObjectCopyMapOutput) ElementType() reflect.Type { 975 return reflect.TypeOf((*map[string]*ObjectCopy)(nil)).Elem() 976 } 977 978 func (o ObjectCopyMapOutput) ToObjectCopyMapOutput() ObjectCopyMapOutput { 979 return o 980 } 981 982 func (o ObjectCopyMapOutput) ToObjectCopyMapOutputWithContext(ctx context.Context) ObjectCopyMapOutput { 983 return o 984 } 985 986 func (o ObjectCopyMapOutput) MapIndex(k pulumi.StringInput) ObjectCopyOutput { 987 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ObjectCopy { 988 return vs[0].(map[string]*ObjectCopy)[vs[1].(string)] 989 }).(ObjectCopyOutput) 990 } 991 992 func init() { 993 pulumi.RegisterInputType(reflect.TypeOf((*ObjectCopyInput)(nil)).Elem(), &ObjectCopy{}) 994 pulumi.RegisterInputType(reflect.TypeOf((*ObjectCopyArrayInput)(nil)).Elem(), ObjectCopyArray{}) 995 pulumi.RegisterInputType(reflect.TypeOf((*ObjectCopyMapInput)(nil)).Elem(), ObjectCopyMap{}) 996 pulumi.RegisterOutputType(ObjectCopyOutput{}) 997 pulumi.RegisterOutputType(ObjectCopyArrayOutput{}) 998 pulumi.RegisterOutputType(ObjectCopyMapOutput{}) 999 }