1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/s3/S3_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/s3/model/ArchiveStatus.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/s3/model/ServerSideEncryption.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <aws/s3/model/StorageClass.h> 14 #include <aws/s3/model/RequestCharged.h> 15 #include <aws/s3/model/ReplicationStatus.h> 16 #include <aws/s3/model/ObjectLockMode.h> 17 #include <aws/s3/model/ObjectLockLegalHoldStatus.h> 18 #include <utility> 19 20 namespace Aws 21 { 22 template<typename RESULT_TYPE> 23 class AmazonWebServiceResult; 24 25 namespace Utils 26 { 27 namespace Xml 28 { 29 class XmlDocument; 30 } // namespace Xml 31 } // namespace Utils 32 namespace S3 33 { 34 namespace Model 35 { 36 class AWS_S3_API HeadObjectResult 37 { 38 public: 39 HeadObjectResult(); 40 HeadObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 41 HeadObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 42 43 44 /** 45 * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete 46 * Marker. If false, this response header does not appear in the response.</p> 47 */ GetDeleteMarker()48 inline bool GetDeleteMarker() const{ return m_deleteMarker; } 49 50 /** 51 * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete 52 * Marker. If false, this response header does not appear in the response.</p> 53 */ SetDeleteMarker(bool value)54 inline void SetDeleteMarker(bool value) { m_deleteMarker = value; } 55 56 /** 57 * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete 58 * Marker. If false, this response header does not appear in the response.</p> 59 */ WithDeleteMarker(bool value)60 inline HeadObjectResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;} 61 62 63 /** 64 * <p>Indicates that a range of bytes was specified.</p> 65 */ GetAcceptRanges()66 inline const Aws::String& GetAcceptRanges() const{ return m_acceptRanges; } 67 68 /** 69 * <p>Indicates that a range of bytes was specified.</p> 70 */ SetAcceptRanges(const Aws::String & value)71 inline void SetAcceptRanges(const Aws::String& value) { m_acceptRanges = value; } 72 73 /** 74 * <p>Indicates that a range of bytes was specified.</p> 75 */ SetAcceptRanges(Aws::String && value)76 inline void SetAcceptRanges(Aws::String&& value) { m_acceptRanges = std::move(value); } 77 78 /** 79 * <p>Indicates that a range of bytes was specified.</p> 80 */ SetAcceptRanges(const char * value)81 inline void SetAcceptRanges(const char* value) { m_acceptRanges.assign(value); } 82 83 /** 84 * <p>Indicates that a range of bytes was specified.</p> 85 */ WithAcceptRanges(const Aws::String & value)86 inline HeadObjectResult& WithAcceptRanges(const Aws::String& value) { SetAcceptRanges(value); return *this;} 87 88 /** 89 * <p>Indicates that a range of bytes was specified.</p> 90 */ WithAcceptRanges(Aws::String && value)91 inline HeadObjectResult& WithAcceptRanges(Aws::String&& value) { SetAcceptRanges(std::move(value)); return *this;} 92 93 /** 94 * <p>Indicates that a range of bytes was specified.</p> 95 */ WithAcceptRanges(const char * value)96 inline HeadObjectResult& WithAcceptRanges(const char* value) { SetAcceptRanges(value); return *this;} 97 98 99 /** 100 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 101 * response includes this header. It includes the expiry-date and rule-id key-value 102 * pairs providing object expiration information. The value of the rule-id is URL 103 * encoded.</p> 104 */ GetExpiration()105 inline const Aws::String& GetExpiration() const{ return m_expiration; } 106 107 /** 108 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 109 * response includes this header. It includes the expiry-date and rule-id key-value 110 * pairs providing object expiration information. The value of the rule-id is URL 111 * encoded.</p> 112 */ SetExpiration(const Aws::String & value)113 inline void SetExpiration(const Aws::String& value) { m_expiration = value; } 114 115 /** 116 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 117 * response includes this header. It includes the expiry-date and rule-id key-value 118 * pairs providing object expiration information. The value of the rule-id is URL 119 * encoded.</p> 120 */ SetExpiration(Aws::String && value)121 inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); } 122 123 /** 124 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 125 * response includes this header. It includes the expiry-date and rule-id key-value 126 * pairs providing object expiration information. The value of the rule-id is URL 127 * encoded.</p> 128 */ SetExpiration(const char * value)129 inline void SetExpiration(const char* value) { m_expiration.assign(value); } 130 131 /** 132 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 133 * response includes this header. It includes the expiry-date and rule-id key-value 134 * pairs providing object expiration information. The value of the rule-id is URL 135 * encoded.</p> 136 */ WithExpiration(const Aws::String & value)137 inline HeadObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;} 138 139 /** 140 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 141 * response includes this header. It includes the expiry-date and rule-id key-value 142 * pairs providing object expiration information. The value of the rule-id is URL 143 * encoded.</p> 144 */ WithExpiration(Aws::String && value)145 inline HeadObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;} 146 147 /** 148 * <p>If the object expiration is configured (see PUT Bucket lifecycle), the 149 * response includes this header. It includes the expiry-date and rule-id key-value 150 * pairs providing object expiration information. The value of the rule-id is URL 151 * encoded.</p> 152 */ WithExpiration(const char * value)153 inline HeadObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;} 154 155 156 /** 157 * <p>If the object is an archived object (an object whose storage class is 158 * GLACIER), the response includes this header if either the archive restoration is 159 * in progress (see <a 160 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 161 * or an archive copy is already restored.</p> <p> If an archive copy is already 162 * restored, the header value indicates when Amazon S3 is scheduled to delete the 163 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 164 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 165 * restoration is in progress, the header returns the value 166 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 167 * objects, see <a 168 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 169 * Objects: General Considerations</a>.</p> 170 */ GetRestore()171 inline const Aws::String& GetRestore() const{ return m_restore; } 172 173 /** 174 * <p>If the object is an archived object (an object whose storage class is 175 * GLACIER), the response includes this header if either the archive restoration is 176 * in progress (see <a 177 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 178 * or an archive copy is already restored.</p> <p> If an archive copy is already 179 * restored, the header value indicates when Amazon S3 is scheduled to delete the 180 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 181 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 182 * restoration is in progress, the header returns the value 183 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 184 * objects, see <a 185 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 186 * Objects: General Considerations</a>.</p> 187 */ SetRestore(const Aws::String & value)188 inline void SetRestore(const Aws::String& value) { m_restore = value; } 189 190 /** 191 * <p>If the object is an archived object (an object whose storage class is 192 * GLACIER), the response includes this header if either the archive restoration is 193 * in progress (see <a 194 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 195 * or an archive copy is already restored.</p> <p> If an archive copy is already 196 * restored, the header value indicates when Amazon S3 is scheduled to delete the 197 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 198 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 199 * restoration is in progress, the header returns the value 200 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 201 * objects, see <a 202 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 203 * Objects: General Considerations</a>.</p> 204 */ SetRestore(Aws::String && value)205 inline void SetRestore(Aws::String&& value) { m_restore = std::move(value); } 206 207 /** 208 * <p>If the object is an archived object (an object whose storage class is 209 * GLACIER), the response includes this header if either the archive restoration is 210 * in progress (see <a 211 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 212 * or an archive copy is already restored.</p> <p> If an archive copy is already 213 * restored, the header value indicates when Amazon S3 is scheduled to delete the 214 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 215 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 216 * restoration is in progress, the header returns the value 217 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 218 * objects, see <a 219 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 220 * Objects: General Considerations</a>.</p> 221 */ SetRestore(const char * value)222 inline void SetRestore(const char* value) { m_restore.assign(value); } 223 224 /** 225 * <p>If the object is an archived object (an object whose storage class is 226 * GLACIER), the response includes this header if either the archive restoration is 227 * in progress (see <a 228 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 229 * or an archive copy is already restored.</p> <p> If an archive copy is already 230 * restored, the header value indicates when Amazon S3 is scheduled to delete the 231 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 232 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 233 * restoration is in progress, the header returns the value 234 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 235 * objects, see <a 236 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 237 * Objects: General Considerations</a>.</p> 238 */ WithRestore(const Aws::String & value)239 inline HeadObjectResult& WithRestore(const Aws::String& value) { SetRestore(value); return *this;} 240 241 /** 242 * <p>If the object is an archived object (an object whose storage class is 243 * GLACIER), the response includes this header if either the archive restoration is 244 * in progress (see <a 245 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 246 * or an archive copy is already restored.</p> <p> If an archive copy is already 247 * restored, the header value indicates when Amazon S3 is scheduled to delete the 248 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 249 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 250 * restoration is in progress, the header returns the value 251 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 252 * objects, see <a 253 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 254 * Objects: General Considerations</a>.</p> 255 */ WithRestore(Aws::String && value)256 inline HeadObjectResult& WithRestore(Aws::String&& value) { SetRestore(std::move(value)); return *this;} 257 258 /** 259 * <p>If the object is an archived object (an object whose storage class is 260 * GLACIER), the response includes this header if either the archive restoration is 261 * in progress (see <a 262 * href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> 263 * or an archive copy is already restored.</p> <p> If an archive copy is already 264 * restored, the header value indicates when Amazon S3 is scheduled to delete the 265 * object copy. For example:</p> <p> <code>x-amz-restore: ongoing-request="false", 266 * expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code> </p> <p>If the object 267 * restoration is in progress, the header returns the value 268 * <code>ongoing-request="true"</code>.</p> <p>For more information about archiving 269 * objects, see <a 270 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning 271 * Objects: General Considerations</a>.</p> 272 */ WithRestore(const char * value)273 inline HeadObjectResult& WithRestore(const char* value) { SetRestore(value); return *this;} 274 275 276 /** 277 * <p>The archive state of the head object.</p> 278 */ GetArchiveStatus()279 inline const ArchiveStatus& GetArchiveStatus() const{ return m_archiveStatus; } 280 281 /** 282 * <p>The archive state of the head object.</p> 283 */ SetArchiveStatus(const ArchiveStatus & value)284 inline void SetArchiveStatus(const ArchiveStatus& value) { m_archiveStatus = value; } 285 286 /** 287 * <p>The archive state of the head object.</p> 288 */ SetArchiveStatus(ArchiveStatus && value)289 inline void SetArchiveStatus(ArchiveStatus&& value) { m_archiveStatus = std::move(value); } 290 291 /** 292 * <p>The archive state of the head object.</p> 293 */ WithArchiveStatus(const ArchiveStatus & value)294 inline HeadObjectResult& WithArchiveStatus(const ArchiveStatus& value) { SetArchiveStatus(value); return *this;} 295 296 /** 297 * <p>The archive state of the head object.</p> 298 */ WithArchiveStatus(ArchiveStatus && value)299 inline HeadObjectResult& WithArchiveStatus(ArchiveStatus&& value) { SetArchiveStatus(std::move(value)); return *this;} 300 301 302 /** 303 * <p>Creation date of the object.</p> 304 */ GetLastModified()305 inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } 306 307 /** 308 * <p>Creation date of the object.</p> 309 */ SetLastModified(const Aws::Utils::DateTime & value)310 inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModified = value; } 311 312 /** 313 * <p>Creation date of the object.</p> 314 */ SetLastModified(Aws::Utils::DateTime && value)315 inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModified = std::move(value); } 316 317 /** 318 * <p>Creation date of the object.</p> 319 */ WithLastModified(const Aws::Utils::DateTime & value)320 inline HeadObjectResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} 321 322 /** 323 * <p>Creation date of the object.</p> 324 */ WithLastModified(Aws::Utils::DateTime && value)325 inline HeadObjectResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} 326 327 328 /** 329 * <p>Size of the body in bytes.</p> 330 */ GetContentLength()331 inline long long GetContentLength() const{ return m_contentLength; } 332 333 /** 334 * <p>Size of the body in bytes.</p> 335 */ SetContentLength(long long value)336 inline void SetContentLength(long long value) { m_contentLength = value; } 337 338 /** 339 * <p>Size of the body in bytes.</p> 340 */ WithContentLength(long long value)341 inline HeadObjectResult& WithContentLength(long long value) { SetContentLength(value); return *this;} 342 343 344 /** 345 * <p>An ETag is an opaque identifier assigned by a web server to a specific 346 * version of a resource found at a URL.</p> 347 */ GetETag()348 inline const Aws::String& GetETag() const{ return m_eTag; } 349 350 /** 351 * <p>An ETag is an opaque identifier assigned by a web server to a specific 352 * version of a resource found at a URL.</p> 353 */ SetETag(const Aws::String & value)354 inline void SetETag(const Aws::String& value) { m_eTag = value; } 355 356 /** 357 * <p>An ETag is an opaque identifier assigned by a web server to a specific 358 * version of a resource found at a URL.</p> 359 */ SetETag(Aws::String && value)360 inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } 361 362 /** 363 * <p>An ETag is an opaque identifier assigned by a web server to a specific 364 * version of a resource found at a URL.</p> 365 */ SetETag(const char * value)366 inline void SetETag(const char* value) { m_eTag.assign(value); } 367 368 /** 369 * <p>An ETag is an opaque identifier assigned by a web server to a specific 370 * version of a resource found at a URL.</p> 371 */ WithETag(const Aws::String & value)372 inline HeadObjectResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} 373 374 /** 375 * <p>An ETag is an opaque identifier assigned by a web server to a specific 376 * version of a resource found at a URL.</p> 377 */ WithETag(Aws::String && value)378 inline HeadObjectResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} 379 380 /** 381 * <p>An ETag is an opaque identifier assigned by a web server to a specific 382 * version of a resource found at a URL.</p> 383 */ WithETag(const char * value)384 inline HeadObjectResult& WithETag(const char* value) { SetETag(value); return *this;} 385 386 387 /** 388 * <p>This is set to the number of metadata entries not returned in 389 * <code>x-amz-meta</code> headers. This can happen if you create metadata using an 390 * API like SOAP that supports more flexible metadata than the REST API. For 391 * example, using SOAP, you can create metadata whose values are not legal HTTP 392 * headers.</p> 393 */ GetMissingMeta()394 inline int GetMissingMeta() const{ return m_missingMeta; } 395 396 /** 397 * <p>This is set to the number of metadata entries not returned in 398 * <code>x-amz-meta</code> headers. This can happen if you create metadata using an 399 * API like SOAP that supports more flexible metadata than the REST API. For 400 * example, using SOAP, you can create metadata whose values are not legal HTTP 401 * headers.</p> 402 */ SetMissingMeta(int value)403 inline void SetMissingMeta(int value) { m_missingMeta = value; } 404 405 /** 406 * <p>This is set to the number of metadata entries not returned in 407 * <code>x-amz-meta</code> headers. This can happen if you create metadata using an 408 * API like SOAP that supports more flexible metadata than the REST API. For 409 * example, using SOAP, you can create metadata whose values are not legal HTTP 410 * headers.</p> 411 */ WithMissingMeta(int value)412 inline HeadObjectResult& WithMissingMeta(int value) { SetMissingMeta(value); return *this;} 413 414 415 /** 416 * <p>Version of the object.</p> 417 */ GetVersionId()418 inline const Aws::String& GetVersionId() const{ return m_versionId; } 419 420 /** 421 * <p>Version of the object.</p> 422 */ SetVersionId(const Aws::String & value)423 inline void SetVersionId(const Aws::String& value) { m_versionId = value; } 424 425 /** 426 * <p>Version of the object.</p> 427 */ SetVersionId(Aws::String && value)428 inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); } 429 430 /** 431 * <p>Version of the object.</p> 432 */ SetVersionId(const char * value)433 inline void SetVersionId(const char* value) { m_versionId.assign(value); } 434 435 /** 436 * <p>Version of the object.</p> 437 */ WithVersionId(const Aws::String & value)438 inline HeadObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} 439 440 /** 441 * <p>Version of the object.</p> 442 */ WithVersionId(Aws::String && value)443 inline HeadObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} 444 445 /** 446 * <p>Version of the object.</p> 447 */ WithVersionId(const char * value)448 inline HeadObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;} 449 450 451 /** 452 * <p>Specifies caching behavior along the request/reply chain.</p> 453 */ GetCacheControl()454 inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } 455 456 /** 457 * <p>Specifies caching behavior along the request/reply chain.</p> 458 */ SetCacheControl(const Aws::String & value)459 inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } 460 461 /** 462 * <p>Specifies caching behavior along the request/reply chain.</p> 463 */ SetCacheControl(Aws::String && value)464 inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } 465 466 /** 467 * <p>Specifies caching behavior along the request/reply chain.</p> 468 */ SetCacheControl(const char * value)469 inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } 470 471 /** 472 * <p>Specifies caching behavior along the request/reply chain.</p> 473 */ WithCacheControl(const Aws::String & value)474 inline HeadObjectResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} 475 476 /** 477 * <p>Specifies caching behavior along the request/reply chain.</p> 478 */ WithCacheControl(Aws::String && value)479 inline HeadObjectResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} 480 481 /** 482 * <p>Specifies caching behavior along the request/reply chain.</p> 483 */ WithCacheControl(const char * value)484 inline HeadObjectResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} 485 486 487 /** 488 * <p>Specifies presentational information for the object.</p> 489 */ GetContentDisposition()490 inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } 491 492 /** 493 * <p>Specifies presentational information for the object.</p> 494 */ SetContentDisposition(const Aws::String & value)495 inline void SetContentDisposition(const Aws::String& value) { m_contentDisposition = value; } 496 497 /** 498 * <p>Specifies presentational information for the object.</p> 499 */ SetContentDisposition(Aws::String && value)500 inline void SetContentDisposition(Aws::String&& value) { m_contentDisposition = std::move(value); } 501 502 /** 503 * <p>Specifies presentational information for the object.</p> 504 */ SetContentDisposition(const char * value)505 inline void SetContentDisposition(const char* value) { m_contentDisposition.assign(value); } 506 507 /** 508 * <p>Specifies presentational information for the object.</p> 509 */ WithContentDisposition(const Aws::String & value)510 inline HeadObjectResult& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} 511 512 /** 513 * <p>Specifies presentational information for the object.</p> 514 */ WithContentDisposition(Aws::String && value)515 inline HeadObjectResult& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} 516 517 /** 518 * <p>Specifies presentational information for the object.</p> 519 */ WithContentDisposition(const char * value)520 inline HeadObjectResult& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} 521 522 523 /** 524 * <p>Specifies what content encodings have been applied to the object and thus 525 * what decoding mechanisms must be applied to obtain the media-type referenced by 526 * the Content-Type header field.</p> 527 */ GetContentEncoding()528 inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } 529 530 /** 531 * <p>Specifies what content encodings have been applied to the object and thus 532 * what decoding mechanisms must be applied to obtain the media-type referenced by 533 * the Content-Type header field.</p> 534 */ SetContentEncoding(const Aws::String & value)535 inline void SetContentEncoding(const Aws::String& value) { m_contentEncoding = value; } 536 537 /** 538 * <p>Specifies what content encodings have been applied to the object and thus 539 * what decoding mechanisms must be applied to obtain the media-type referenced by 540 * the Content-Type header field.</p> 541 */ SetContentEncoding(Aws::String && value)542 inline void SetContentEncoding(Aws::String&& value) { m_contentEncoding = std::move(value); } 543 544 /** 545 * <p>Specifies what content encodings have been applied to the object and thus 546 * what decoding mechanisms must be applied to obtain the media-type referenced by 547 * the Content-Type header field.</p> 548 */ SetContentEncoding(const char * value)549 inline void SetContentEncoding(const char* value) { m_contentEncoding.assign(value); } 550 551 /** 552 * <p>Specifies what content encodings have been applied to the object and thus 553 * what decoding mechanisms must be applied to obtain the media-type referenced by 554 * the Content-Type header field.</p> 555 */ WithContentEncoding(const Aws::String & value)556 inline HeadObjectResult& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} 557 558 /** 559 * <p>Specifies what content encodings have been applied to the object and thus 560 * what decoding mechanisms must be applied to obtain the media-type referenced by 561 * the Content-Type header field.</p> 562 */ WithContentEncoding(Aws::String && value)563 inline HeadObjectResult& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} 564 565 /** 566 * <p>Specifies what content encodings have been applied to the object and thus 567 * what decoding mechanisms must be applied to obtain the media-type referenced by 568 * the Content-Type header field.</p> 569 */ WithContentEncoding(const char * value)570 inline HeadObjectResult& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} 571 572 573 /** 574 * <p>The language the content is in.</p> 575 */ GetContentLanguage()576 inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } 577 578 /** 579 * <p>The language the content is in.</p> 580 */ SetContentLanguage(const Aws::String & value)581 inline void SetContentLanguage(const Aws::String& value) { m_contentLanguage = value; } 582 583 /** 584 * <p>The language the content is in.</p> 585 */ SetContentLanguage(Aws::String && value)586 inline void SetContentLanguage(Aws::String&& value) { m_contentLanguage = std::move(value); } 587 588 /** 589 * <p>The language the content is in.</p> 590 */ SetContentLanguage(const char * value)591 inline void SetContentLanguage(const char* value) { m_contentLanguage.assign(value); } 592 593 /** 594 * <p>The language the content is in.</p> 595 */ WithContentLanguage(const Aws::String & value)596 inline HeadObjectResult& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} 597 598 /** 599 * <p>The language the content is in.</p> 600 */ WithContentLanguage(Aws::String && value)601 inline HeadObjectResult& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} 602 603 /** 604 * <p>The language the content is in.</p> 605 */ WithContentLanguage(const char * value)606 inline HeadObjectResult& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} 607 608 609 /** 610 * <p>A standard MIME type describing the format of the object data.</p> 611 */ GetContentType()612 inline const Aws::String& GetContentType() const{ return m_contentType; } 613 614 /** 615 * <p>A standard MIME type describing the format of the object data.</p> 616 */ SetContentType(const Aws::String & value)617 inline void SetContentType(const Aws::String& value) { m_contentType = value; } 618 619 /** 620 * <p>A standard MIME type describing the format of the object data.</p> 621 */ SetContentType(Aws::String && value)622 inline void SetContentType(Aws::String&& value) { m_contentType = std::move(value); } 623 624 /** 625 * <p>A standard MIME type describing the format of the object data.</p> 626 */ SetContentType(const char * value)627 inline void SetContentType(const char* value) { m_contentType.assign(value); } 628 629 /** 630 * <p>A standard MIME type describing the format of the object data.</p> 631 */ WithContentType(const Aws::String & value)632 inline HeadObjectResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} 633 634 /** 635 * <p>A standard MIME type describing the format of the object data.</p> 636 */ WithContentType(Aws::String && value)637 inline HeadObjectResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} 638 639 /** 640 * <p>A standard MIME type describing the format of the object data.</p> 641 */ WithContentType(const char * value)642 inline HeadObjectResult& WithContentType(const char* value) { SetContentType(value); return *this;} 643 644 645 /** 646 * <p>The date and time at which the object is no longer cacheable.</p> 647 */ GetExpires()648 inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; } 649 650 /** 651 * <p>The date and time at which the object is no longer cacheable.</p> 652 */ SetExpires(const Aws::Utils::DateTime & value)653 inline void SetExpires(const Aws::Utils::DateTime& value) { m_expires = value; } 654 655 /** 656 * <p>The date and time at which the object is no longer cacheable.</p> 657 */ SetExpires(Aws::Utils::DateTime && value)658 inline void SetExpires(Aws::Utils::DateTime&& value) { m_expires = std::move(value); } 659 660 /** 661 * <p>The date and time at which the object is no longer cacheable.</p> 662 */ WithExpires(const Aws::Utils::DateTime & value)663 inline HeadObjectResult& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;} 664 665 /** 666 * <p>The date and time at which the object is no longer cacheable.</p> 667 */ WithExpires(Aws::Utils::DateTime && value)668 inline HeadObjectResult& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;} 669 670 671 /** 672 * <p>If the bucket is configured as a website, redirects requests for this object 673 * to another object in the same bucket or to an external URL. Amazon S3 stores the 674 * value of this header in the object metadata.</p> 675 */ GetWebsiteRedirectLocation()676 inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; } 677 678 /** 679 * <p>If the bucket is configured as a website, redirects requests for this object 680 * to another object in the same bucket or to an external URL. Amazon S3 stores the 681 * value of this header in the object metadata.</p> 682 */ SetWebsiteRedirectLocation(const Aws::String & value)683 inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocation = value; } 684 685 /** 686 * <p>If the bucket is configured as a website, redirects requests for this object 687 * to another object in the same bucket or to an external URL. Amazon S3 stores the 688 * value of this header in the object metadata.</p> 689 */ SetWebsiteRedirectLocation(Aws::String && value)690 inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocation = std::move(value); } 691 692 /** 693 * <p>If the bucket is configured as a website, redirects requests for this object 694 * to another object in the same bucket or to an external URL. Amazon S3 stores the 695 * value of this header in the object metadata.</p> 696 */ SetWebsiteRedirectLocation(const char * value)697 inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocation.assign(value); } 698 699 /** 700 * <p>If the bucket is configured as a website, redirects requests for this object 701 * to another object in the same bucket or to an external URL. Amazon S3 stores the 702 * value of this header in the object metadata.</p> 703 */ WithWebsiteRedirectLocation(const Aws::String & value)704 inline HeadObjectResult& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;} 705 706 /** 707 * <p>If the bucket is configured as a website, redirects requests for this object 708 * to another object in the same bucket or to an external URL. Amazon S3 stores the 709 * value of this header in the object metadata.</p> 710 */ WithWebsiteRedirectLocation(Aws::String && value)711 inline HeadObjectResult& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;} 712 713 /** 714 * <p>If the bucket is configured as a website, redirects requests for this object 715 * to another object in the same bucket or to an external URL. Amazon S3 stores the 716 * value of this header in the object metadata.</p> 717 */ WithWebsiteRedirectLocation(const char * value)718 inline HeadObjectResult& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;} 719 720 721 /** 722 * <p>If the object is stored using server-side encryption either with an Amazon 723 * Web Services KMS key or an Amazon S3-managed encryption key, the response 724 * includes this header with the value of the server-side encryption algorithm used 725 * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> 726 */ GetServerSideEncryption()727 inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } 728 729 /** 730 * <p>If the object is stored using server-side encryption either with an Amazon 731 * Web Services KMS key or an Amazon S3-managed encryption key, the response 732 * includes this header with the value of the server-side encryption algorithm used 733 * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> 734 */ SetServerSideEncryption(const ServerSideEncryption & value)735 inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; } 736 737 /** 738 * <p>If the object is stored using server-side encryption either with an Amazon 739 * Web Services KMS key or an Amazon S3-managed encryption key, the response 740 * includes this header with the value of the server-side encryption algorithm used 741 * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> 742 */ SetServerSideEncryption(ServerSideEncryption && value)743 inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); } 744 745 /** 746 * <p>If the object is stored using server-side encryption either with an Amazon 747 * Web Services KMS key or an Amazon S3-managed encryption key, the response 748 * includes this header with the value of the server-side encryption algorithm used 749 * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> 750 */ WithServerSideEncryption(const ServerSideEncryption & value)751 inline HeadObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} 752 753 /** 754 * <p>If the object is stored using server-side encryption either with an Amazon 755 * Web Services KMS key or an Amazon S3-managed encryption key, the response 756 * includes this header with the value of the server-side encryption algorithm used 757 * when storing this object in Amazon S3 (for example, AES256, aws:kms).</p> 758 */ WithServerSideEncryption(ServerSideEncryption && value)759 inline HeadObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} 760 761 762 /** 763 * <p>A map of metadata to store with the object in S3.</p> 764 */ GetMetadata()765 inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; } 766 767 /** 768 * <p>A map of metadata to store with the object in S3.</p> 769 */ SetMetadata(const Aws::Map<Aws::String,Aws::String> & value)770 inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadata = value; } 771 772 /** 773 * <p>A map of metadata to store with the object in S3.</p> 774 */ SetMetadata(Aws::Map<Aws::String,Aws::String> && value)775 inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadata = std::move(value); } 776 777 /** 778 * <p>A map of metadata to store with the object in S3.</p> 779 */ WithMetadata(const Aws::Map<Aws::String,Aws::String> & value)780 inline HeadObjectResult& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;} 781 782 /** 783 * <p>A map of metadata to store with the object in S3.</p> 784 */ WithMetadata(Aws::Map<Aws::String,Aws::String> && value)785 inline HeadObjectResult& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;} 786 787 /** 788 * <p>A map of metadata to store with the object in S3.</p> 789 */ AddMetadata(const Aws::String & key,const Aws::String & value)790 inline HeadObjectResult& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadata.emplace(key, value); return *this; } 791 792 /** 793 * <p>A map of metadata to store with the object in S3.</p> 794 */ AddMetadata(Aws::String && key,const Aws::String & value)795 inline HeadObjectResult& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadata.emplace(std::move(key), value); return *this; } 796 797 /** 798 * <p>A map of metadata to store with the object in S3.</p> 799 */ AddMetadata(const Aws::String & key,Aws::String && value)800 inline HeadObjectResult& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } 801 802 /** 803 * <p>A map of metadata to store with the object in S3.</p> 804 */ AddMetadata(Aws::String && key,Aws::String && value)805 inline HeadObjectResult& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadata.emplace(std::move(key), std::move(value)); return *this; } 806 807 /** 808 * <p>A map of metadata to store with the object in S3.</p> 809 */ AddMetadata(const char * key,Aws::String && value)810 inline HeadObjectResult& AddMetadata(const char* key, Aws::String&& value) { m_metadata.emplace(key, std::move(value)); return *this; } 811 812 /** 813 * <p>A map of metadata to store with the object in S3.</p> 814 */ AddMetadata(Aws::String && key,const char * value)815 inline HeadObjectResult& AddMetadata(Aws::String&& key, const char* value) { m_metadata.emplace(std::move(key), value); return *this; } 816 817 /** 818 * <p>A map of metadata to store with the object in S3.</p> 819 */ AddMetadata(const char * key,const char * value)820 inline HeadObjectResult& AddMetadata(const char* key, const char* value) { m_metadata.emplace(key, value); return *this; } 821 822 823 /** 824 * <p>If server-side encryption with a customer-provided encryption key was 825 * requested, the response will include this header confirming the encryption 826 * algorithm used.</p> 827 */ GetSSECustomerAlgorithm()828 inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; } 829 830 /** 831 * <p>If server-side encryption with a customer-provided encryption key was 832 * requested, the response will include this header confirming the encryption 833 * algorithm used.</p> 834 */ SetSSECustomerAlgorithm(const Aws::String & value)835 inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; } 836 837 /** 838 * <p>If server-side encryption with a customer-provided encryption key was 839 * requested, the response will include this header confirming the encryption 840 * algorithm used.</p> 841 */ SetSSECustomerAlgorithm(Aws::String && value)842 inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); } 843 844 /** 845 * <p>If server-side encryption with a customer-provided encryption key was 846 * requested, the response will include this header confirming the encryption 847 * algorithm used.</p> 848 */ SetSSECustomerAlgorithm(const char * value)849 inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); } 850 851 /** 852 * <p>If server-side encryption with a customer-provided encryption key was 853 * requested, the response will include this header confirming the encryption 854 * algorithm used.</p> 855 */ WithSSECustomerAlgorithm(const Aws::String & value)856 inline HeadObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;} 857 858 /** 859 * <p>If server-side encryption with a customer-provided encryption key was 860 * requested, the response will include this header confirming the encryption 861 * algorithm used.</p> 862 */ WithSSECustomerAlgorithm(Aws::String && value)863 inline HeadObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;} 864 865 /** 866 * <p>If server-side encryption with a customer-provided encryption key was 867 * requested, the response will include this header confirming the encryption 868 * algorithm used.</p> 869 */ WithSSECustomerAlgorithm(const char * value)870 inline HeadObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;} 871 872 873 /** 874 * <p>If server-side encryption with a customer-provided encryption key was 875 * requested, the response will include this header to provide round-trip message 876 * integrity verification of the customer-provided encryption key.</p> 877 */ GetSSECustomerKeyMD5()878 inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; } 879 880 /** 881 * <p>If server-side encryption with a customer-provided encryption key was 882 * requested, the response will include this header to provide round-trip message 883 * integrity verification of the customer-provided encryption key.</p> 884 */ SetSSECustomerKeyMD5(const Aws::String & value)885 inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; } 886 887 /** 888 * <p>If server-side encryption with a customer-provided encryption key was 889 * requested, the response will include this header to provide round-trip message 890 * integrity verification of the customer-provided encryption key.</p> 891 */ SetSSECustomerKeyMD5(Aws::String && value)892 inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); } 893 894 /** 895 * <p>If server-side encryption with a customer-provided encryption key was 896 * requested, the response will include this header to provide round-trip message 897 * integrity verification of the customer-provided encryption key.</p> 898 */ SetSSECustomerKeyMD5(const char * value)899 inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); } 900 901 /** 902 * <p>If server-side encryption with a customer-provided encryption key was 903 * requested, the response will include this header to provide round-trip message 904 * integrity verification of the customer-provided encryption key.</p> 905 */ WithSSECustomerKeyMD5(const Aws::String & value)906 inline HeadObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;} 907 908 /** 909 * <p>If server-side encryption with a customer-provided encryption key was 910 * requested, the response will include this header to provide round-trip message 911 * integrity verification of the customer-provided encryption key.</p> 912 */ WithSSECustomerKeyMD5(Aws::String && value)913 inline HeadObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;} 914 915 /** 916 * <p>If server-side encryption with a customer-provided encryption key was 917 * requested, the response will include this header to provide round-trip message 918 * integrity verification of the customer-provided encryption key.</p> 919 */ WithSSECustomerKeyMD5(const char * value)920 inline HeadObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;} 921 922 923 /** 924 * <p>If present, specifies the ID of the Amazon Web Services Key Management 925 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 926 * for the object.</p> 927 */ GetSSEKMSKeyId()928 inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } 929 930 /** 931 * <p>If present, specifies the ID of the Amazon Web Services Key Management 932 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 933 * for the object.</p> 934 */ SetSSEKMSKeyId(const Aws::String & value)935 inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; } 936 937 /** 938 * <p>If present, specifies the ID of the Amazon Web Services Key Management 939 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 940 * for the object.</p> 941 */ SetSSEKMSKeyId(Aws::String && value)942 inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); } 943 944 /** 945 * <p>If present, specifies the ID of the Amazon Web Services Key Management 946 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 947 * for the object.</p> 948 */ SetSSEKMSKeyId(const char * value)949 inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); } 950 951 /** 952 * <p>If present, specifies the ID of the Amazon Web Services Key Management 953 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 954 * for the object.</p> 955 */ WithSSEKMSKeyId(const Aws::String & value)956 inline HeadObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} 957 958 /** 959 * <p>If present, specifies the ID of the Amazon Web Services Key Management 960 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 961 * for the object.</p> 962 */ WithSSEKMSKeyId(Aws::String && value)963 inline HeadObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} 964 965 /** 966 * <p>If present, specifies the ID of the Amazon Web Services Key Management 967 * Service (Amazon Web Services KMS) symmetric customer managed key that was used 968 * for the object.</p> 969 */ WithSSEKMSKeyId(const char * value)970 inline HeadObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} 971 972 973 /** 974 * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption 975 * with Amazon Web Services KMS (SSE-KMS).</p> 976 */ GetBucketKeyEnabled()977 inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; } 978 979 /** 980 * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption 981 * with Amazon Web Services KMS (SSE-KMS).</p> 982 */ SetBucketKeyEnabled(bool value)983 inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; } 984 985 /** 986 * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption 987 * with Amazon Web Services KMS (SSE-KMS).</p> 988 */ WithBucketKeyEnabled(bool value)989 inline HeadObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;} 990 991 992 /** 993 * <p>Provides storage class information of the object. Amazon S3 returns this 994 * header for all objects except for S3 Standard storage class objects.</p> <p>For 995 * more information, see <a 996 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage 997 * Classes</a>.</p> 998 */ GetStorageClass()999 inline const StorageClass& GetStorageClass() const{ return m_storageClass; } 1000 1001 /** 1002 * <p>Provides storage class information of the object. Amazon S3 returns this 1003 * header for all objects except for S3 Standard storage class objects.</p> <p>For 1004 * more information, see <a 1005 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage 1006 * Classes</a>.</p> 1007 */ SetStorageClass(const StorageClass & value)1008 inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } 1009 1010 /** 1011 * <p>Provides storage class information of the object. Amazon S3 returns this 1012 * header for all objects except for S3 Standard storage class objects.</p> <p>For 1013 * more information, see <a 1014 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage 1015 * Classes</a>.</p> 1016 */ SetStorageClass(StorageClass && value)1017 inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } 1018 1019 /** 1020 * <p>Provides storage class information of the object. Amazon S3 returns this 1021 * header for all objects except for S3 Standard storage class objects.</p> <p>For 1022 * more information, see <a 1023 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage 1024 * Classes</a>.</p> 1025 */ WithStorageClass(const StorageClass & value)1026 inline HeadObjectResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} 1027 1028 /** 1029 * <p>Provides storage class information of the object. Amazon S3 returns this 1030 * header for all objects except for S3 Standard storage class objects.</p> <p>For 1031 * more information, see <a 1032 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage 1033 * Classes</a>.</p> 1034 */ WithStorageClass(StorageClass && value)1035 inline HeadObjectResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} 1036 1037 1038 GetRequestCharged()1039 inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } 1040 1041 SetRequestCharged(const RequestCharged & value)1042 inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } 1043 1044 SetRequestCharged(RequestCharged && value)1045 inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } 1046 1047 WithRequestCharged(const RequestCharged & value)1048 inline HeadObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} 1049 1050 WithRequestCharged(RequestCharged && value)1051 inline HeadObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} 1052 1053 1054 /** 1055 * <p>Amazon S3 can return this header if your request involves a bucket that is 1056 * either a source or a destination in a replication rule.</p> <p>In replication, 1057 * you have a source bucket on which you configure replication and destination 1058 * bucket or buckets where Amazon S3 stores object replicas. When you request an 1059 * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) 1060 * from these buckets, Amazon S3 will return the 1061 * <code>x-amz-replication-status</code> header in the response as follows:</p> 1062 * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will 1063 * return the <code>x-amz-replication-status</code> header if the object in your 1064 * request is eligible for replication.</p> <p> For example, suppose that in your 1065 * replication configuration, you specify object prefix <code>TaxDocs</code> 1066 * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. 1067 * Any objects you upload with this key name prefix, for example 1068 * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object 1069 * request with this key name prefix, Amazon S3 will return the 1070 * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or 1071 * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an 1072 * object from a destination bucket — Amazon S3 will return the 1073 * <code>x-amz-replication-status</code> header with value REPLICA if the object in 1074 * your request is a replica that Amazon S3 created and there is no replica 1075 * modification replication in progress.</p> </li> <li> <p>When replicating objects 1076 * to multiple destination buckets the <code>x-amz-replication-status</code> header 1077 * acts differently. The header of the source object will only return a value of 1078 * COMPLETED when replication is successful to all destinations. The header will 1079 * remain at value PENDING until replication has completed for all destinations. If 1080 * one or more destinations fails replication the header will return FAILED. </p> 1081 * </li> </ul> <p>For more information, see <a 1082 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> 1083 */ GetReplicationStatus()1084 inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; } 1085 1086 /** 1087 * <p>Amazon S3 can return this header if your request involves a bucket that is 1088 * either a source or a destination in a replication rule.</p> <p>In replication, 1089 * you have a source bucket on which you configure replication and destination 1090 * bucket or buckets where Amazon S3 stores object replicas. When you request an 1091 * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) 1092 * from these buckets, Amazon S3 will return the 1093 * <code>x-amz-replication-status</code> header in the response as follows:</p> 1094 * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will 1095 * return the <code>x-amz-replication-status</code> header if the object in your 1096 * request is eligible for replication.</p> <p> For example, suppose that in your 1097 * replication configuration, you specify object prefix <code>TaxDocs</code> 1098 * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. 1099 * Any objects you upload with this key name prefix, for example 1100 * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object 1101 * request with this key name prefix, Amazon S3 will return the 1102 * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or 1103 * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an 1104 * object from a destination bucket — Amazon S3 will return the 1105 * <code>x-amz-replication-status</code> header with value REPLICA if the object in 1106 * your request is a replica that Amazon S3 created and there is no replica 1107 * modification replication in progress.</p> </li> <li> <p>When replicating objects 1108 * to multiple destination buckets the <code>x-amz-replication-status</code> header 1109 * acts differently. The header of the source object will only return a value of 1110 * COMPLETED when replication is successful to all destinations. The header will 1111 * remain at value PENDING until replication has completed for all destinations. If 1112 * one or more destinations fails replication the header will return FAILED. </p> 1113 * </li> </ul> <p>For more information, see <a 1114 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> 1115 */ SetReplicationStatus(const ReplicationStatus & value)1116 inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatus = value; } 1117 1118 /** 1119 * <p>Amazon S3 can return this header if your request involves a bucket that is 1120 * either a source or a destination in a replication rule.</p> <p>In replication, 1121 * you have a source bucket on which you configure replication and destination 1122 * bucket or buckets where Amazon S3 stores object replicas. When you request an 1123 * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) 1124 * from these buckets, Amazon S3 will return the 1125 * <code>x-amz-replication-status</code> header in the response as follows:</p> 1126 * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will 1127 * return the <code>x-amz-replication-status</code> header if the object in your 1128 * request is eligible for replication.</p> <p> For example, suppose that in your 1129 * replication configuration, you specify object prefix <code>TaxDocs</code> 1130 * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. 1131 * Any objects you upload with this key name prefix, for example 1132 * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object 1133 * request with this key name prefix, Amazon S3 will return the 1134 * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or 1135 * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an 1136 * object from a destination bucket — Amazon S3 will return the 1137 * <code>x-amz-replication-status</code> header with value REPLICA if the object in 1138 * your request is a replica that Amazon S3 created and there is no replica 1139 * modification replication in progress.</p> </li> <li> <p>When replicating objects 1140 * to multiple destination buckets the <code>x-amz-replication-status</code> header 1141 * acts differently. The header of the source object will only return a value of 1142 * COMPLETED when replication is successful to all destinations. The header will 1143 * remain at value PENDING until replication has completed for all destinations. If 1144 * one or more destinations fails replication the header will return FAILED. </p> 1145 * </li> </ul> <p>For more information, see <a 1146 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> 1147 */ SetReplicationStatus(ReplicationStatus && value)1148 inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatus = std::move(value); } 1149 1150 /** 1151 * <p>Amazon S3 can return this header if your request involves a bucket that is 1152 * either a source or a destination in a replication rule.</p> <p>In replication, 1153 * you have a source bucket on which you configure replication and destination 1154 * bucket or buckets where Amazon S3 stores object replicas. When you request an 1155 * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) 1156 * from these buckets, Amazon S3 will return the 1157 * <code>x-amz-replication-status</code> header in the response as follows:</p> 1158 * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will 1159 * return the <code>x-amz-replication-status</code> header if the object in your 1160 * request is eligible for replication.</p> <p> For example, suppose that in your 1161 * replication configuration, you specify object prefix <code>TaxDocs</code> 1162 * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. 1163 * Any objects you upload with this key name prefix, for example 1164 * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object 1165 * request with this key name prefix, Amazon S3 will return the 1166 * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or 1167 * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an 1168 * object from a destination bucket — Amazon S3 will return the 1169 * <code>x-amz-replication-status</code> header with value REPLICA if the object in 1170 * your request is a replica that Amazon S3 created and there is no replica 1171 * modification replication in progress.</p> </li> <li> <p>When replicating objects 1172 * to multiple destination buckets the <code>x-amz-replication-status</code> header 1173 * acts differently. The header of the source object will only return a value of 1174 * COMPLETED when replication is successful to all destinations. The header will 1175 * remain at value PENDING until replication has completed for all destinations. If 1176 * one or more destinations fails replication the header will return FAILED. </p> 1177 * </li> </ul> <p>For more information, see <a 1178 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> 1179 */ WithReplicationStatus(const ReplicationStatus & value)1180 inline HeadObjectResult& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;} 1181 1182 /** 1183 * <p>Amazon S3 can return this header if your request involves a bucket that is 1184 * either a source or a destination in a replication rule.</p> <p>In replication, 1185 * you have a source bucket on which you configure replication and destination 1186 * bucket or buckets where Amazon S3 stores object replicas. When you request an 1187 * object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) 1188 * from these buckets, Amazon S3 will return the 1189 * <code>x-amz-replication-status</code> header in the response as follows:</p> 1190 * <ul> <li> <p>If requesting an object from the source bucket — Amazon S3 will 1191 * return the <code>x-amz-replication-status</code> header if the object in your 1192 * request is eligible for replication.</p> <p> For example, suppose that in your 1193 * replication configuration, you specify object prefix <code>TaxDocs</code> 1194 * requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. 1195 * Any objects you upload with this key name prefix, for example 1196 * <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object 1197 * request with this key name prefix, Amazon S3 will return the 1198 * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or 1199 * FAILED indicating object replication status.</p> </li> <li> <p>If requesting an 1200 * object from a destination bucket — Amazon S3 will return the 1201 * <code>x-amz-replication-status</code> header with value REPLICA if the object in 1202 * your request is a replica that Amazon S3 created and there is no replica 1203 * modification replication in progress.</p> </li> <li> <p>When replicating objects 1204 * to multiple destination buckets the <code>x-amz-replication-status</code> header 1205 * acts differently. The header of the source object will only return a value of 1206 * COMPLETED when replication is successful to all destinations. The header will 1207 * remain at value PENDING until replication has completed for all destinations. If 1208 * one or more destinations fails replication the header will return FAILED. </p> 1209 * </li> </ul> <p>For more information, see <a 1210 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p> 1211 */ WithReplicationStatus(ReplicationStatus && value)1212 inline HeadObjectResult& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;} 1213 1214 1215 /** 1216 * <p>The count of parts this object has.</p> 1217 */ GetPartsCount()1218 inline int GetPartsCount() const{ return m_partsCount; } 1219 1220 /** 1221 * <p>The count of parts this object has.</p> 1222 */ SetPartsCount(int value)1223 inline void SetPartsCount(int value) { m_partsCount = value; } 1224 1225 /** 1226 * <p>The count of parts this object has.</p> 1227 */ WithPartsCount(int value)1228 inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} 1229 1230 1231 /** 1232 * <p>The Object Lock mode, if any, that's in effect for this object. This header 1233 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1234 * permission. For more information about S3 Object Lock, see <a 1235 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1236 * Lock</a>. </p> 1237 */ GetObjectLockMode()1238 inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; } 1239 1240 /** 1241 * <p>The Object Lock mode, if any, that's in effect for this object. This header 1242 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1243 * permission. For more information about S3 Object Lock, see <a 1244 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1245 * Lock</a>. </p> 1246 */ SetObjectLockMode(const ObjectLockMode & value)1247 inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockMode = value; } 1248 1249 /** 1250 * <p>The Object Lock mode, if any, that's in effect for this object. This header 1251 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1252 * permission. For more information about S3 Object Lock, see <a 1253 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1254 * Lock</a>. </p> 1255 */ SetObjectLockMode(ObjectLockMode && value)1256 inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockMode = std::move(value); } 1257 1258 /** 1259 * <p>The Object Lock mode, if any, that's in effect for this object. This header 1260 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1261 * permission. For more information about S3 Object Lock, see <a 1262 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1263 * Lock</a>. </p> 1264 */ WithObjectLockMode(const ObjectLockMode & value)1265 inline HeadObjectResult& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;} 1266 1267 /** 1268 * <p>The Object Lock mode, if any, that's in effect for this object. This header 1269 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1270 * permission. For more information about S3 Object Lock, see <a 1271 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1272 * Lock</a>. </p> 1273 */ WithObjectLockMode(ObjectLockMode && value)1274 inline HeadObjectResult& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;} 1275 1276 1277 /** 1278 * <p>The date and time when the Object Lock retention period expires. This header 1279 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1280 * permission.</p> 1281 */ GetObjectLockRetainUntilDate()1282 inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; } 1283 1284 /** 1285 * <p>The date and time when the Object Lock retention period expires. This header 1286 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1287 * permission.</p> 1288 */ SetObjectLockRetainUntilDate(const Aws::Utils::DateTime & value)1289 inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDate = value; } 1290 1291 /** 1292 * <p>The date and time when the Object Lock retention period expires. This header 1293 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1294 * permission.</p> 1295 */ SetObjectLockRetainUntilDate(Aws::Utils::DateTime && value)1296 inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDate = std::move(value); } 1297 1298 /** 1299 * <p>The date and time when the Object Lock retention period expires. This header 1300 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1301 * permission.</p> 1302 */ WithObjectLockRetainUntilDate(const Aws::Utils::DateTime & value)1303 inline HeadObjectResult& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;} 1304 1305 /** 1306 * <p>The date and time when the Object Lock retention period expires. This header 1307 * is only returned if the requester has the <code>s3:GetObjectRetention</code> 1308 * permission.</p> 1309 */ WithObjectLockRetainUntilDate(Aws::Utils::DateTime && value)1310 inline HeadObjectResult& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;} 1311 1312 1313 /** 1314 * <p>Specifies whether a legal hold is in effect for this object. This header is 1315 * only returned if the requester has the <code>s3:GetObjectLegalHold</code> 1316 * permission. This header is not returned if the specified version of this object 1317 * has never had a legal hold applied. For more information about S3 Object Lock, 1318 * see <a 1319 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1320 * Lock</a>.</p> 1321 */ GetObjectLockLegalHoldStatus()1322 inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; } 1323 1324 /** 1325 * <p>Specifies whether a legal hold is in effect for this object. This header is 1326 * only returned if the requester has the <code>s3:GetObjectLegalHold</code> 1327 * permission. This header is not returned if the specified version of this object 1328 * has never had a legal hold applied. For more information about S3 Object Lock, 1329 * see <a 1330 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1331 * Lock</a>.</p> 1332 */ SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus & value)1333 inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatus = value; } 1334 1335 /** 1336 * <p>Specifies whether a legal hold is in effect for this object. This header is 1337 * only returned if the requester has the <code>s3:GetObjectLegalHold</code> 1338 * permission. This header is not returned if the specified version of this object 1339 * has never had a legal hold applied. For more information about S3 Object Lock, 1340 * see <a 1341 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1342 * Lock</a>.</p> 1343 */ SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus && value)1344 inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatus = std::move(value); } 1345 1346 /** 1347 * <p>Specifies whether a legal hold is in effect for this object. This header is 1348 * only returned if the requester has the <code>s3:GetObjectLegalHold</code> 1349 * permission. This header is not returned if the specified version of this object 1350 * has never had a legal hold applied. For more information about S3 Object Lock, 1351 * see <a 1352 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1353 * Lock</a>.</p> 1354 */ WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus & value)1355 inline HeadObjectResult& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;} 1356 1357 /** 1358 * <p>Specifies whether a legal hold is in effect for this object. This header is 1359 * only returned if the requester has the <code>s3:GetObjectLegalHold</code> 1360 * permission. This header is not returned if the specified version of this object 1361 * has never had a legal hold applied. For more information about S3 Object Lock, 1362 * see <a 1363 * href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object 1364 * Lock</a>.</p> 1365 */ WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus && value)1366 inline HeadObjectResult& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;} 1367 1368 private: 1369 1370 bool m_deleteMarker; 1371 1372 Aws::String m_acceptRanges; 1373 1374 Aws::String m_expiration; 1375 1376 Aws::String m_restore; 1377 1378 ArchiveStatus m_archiveStatus; 1379 1380 Aws::Utils::DateTime m_lastModified; 1381 1382 long long m_contentLength; 1383 1384 Aws::String m_eTag; 1385 1386 int m_missingMeta; 1387 1388 Aws::String m_versionId; 1389 1390 Aws::String m_cacheControl; 1391 1392 Aws::String m_contentDisposition; 1393 1394 Aws::String m_contentEncoding; 1395 1396 Aws::String m_contentLanguage; 1397 1398 Aws::String m_contentType; 1399 1400 Aws::Utils::DateTime m_expires; 1401 1402 Aws::String m_websiteRedirectLocation; 1403 1404 ServerSideEncryption m_serverSideEncryption; 1405 1406 Aws::Map<Aws::String, Aws::String> m_metadata; 1407 1408 Aws::String m_sSECustomerAlgorithm; 1409 1410 Aws::String m_sSECustomerKeyMD5; 1411 1412 Aws::String m_sSEKMSKeyId; 1413 1414 bool m_bucketKeyEnabled; 1415 1416 StorageClass m_storageClass; 1417 1418 RequestCharged m_requestCharged; 1419 1420 ReplicationStatus m_replicationStatus; 1421 1422 int m_partsCount; 1423 1424 ObjectLockMode m_objectLockMode; 1425 1426 Aws::Utils::DateTime m_objectLockRetainUntilDate; 1427 1428 ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus; 1429 }; 1430 1431 } // namespace Model 1432 } // namespace S3 1433 } // namespace Aws 1434