/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

See Also:

AWS * API Reference

*/ class S3ObjectMetadata { public: AWS_S3CONTROL_API S3ObjectMetadata(); AWS_S3CONTROL_API S3ObjectMetadata(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API S3ObjectMetadata& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

*/ inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } /** *

*/ inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; } /** *

*/ inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; } /** *

*/ inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); } /** *

*/ inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); } /** *

*/ inline S3ObjectMetadata& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} /** *

*/ inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; } /** *

*/ inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; } /** *

*/ inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; } /** *

*/ inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); } /** *

*/ inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); } /** *

*/ inline S3ObjectMetadata& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;} /** *

*/ inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; } /** *

*/ inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; } /** *

*/ inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; } /** *

*/ inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); } /** *

*/ inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); } /** *

*/ inline S3ObjectMetadata& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;} /** *

*/ inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; } /** *

*/ inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; } /** *

*/ inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; } /** *

*/ inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); } /** *

*/ inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); } /** *

*/ inline S3ObjectMetadata& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;} /** *

*/ inline const Aws::Map& GetUserMetadata() const{ return m_userMetadata; } /** *

*/ inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; } /** *

*/ inline void SetUserMetadata(const Aws::Map& value) { m_userMetadataHasBeenSet = true; m_userMetadata = value; } /** *

*/ inline void SetUserMetadata(Aws::Map&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::move(value); } /** *

*/ inline S3ObjectMetadata& WithUserMetadata(const Aws::Map& value) { SetUserMetadata(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithUserMetadata(Aws::Map&& value) { SetUserMetadata(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& AddUserMetadata(const Aws::String& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(Aws::String&& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(const Aws::String& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(Aws::String&& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), std::move(value)); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(const char* key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(Aws::String&& key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } /** *

*/ inline S3ObjectMetadata& AddUserMetadata(const char* key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } /** *

*/ inline long long GetContentLength() const{ return m_contentLength; } /** *

*/ inline bool ContentLengthHasBeenSet() const { return m_contentLengthHasBeenSet; } /** *

*/ inline void SetContentLength(long long value) { m_contentLengthHasBeenSet = true; m_contentLength = value; } /** *

*/ inline S3ObjectMetadata& WithContentLength(long long value) { SetContentLength(value); return *this;} /** *

*/ inline const Aws::String& GetContentMD5() const{ return m_contentMD5; } /** *

*/ inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; } /** *

*/ inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; } /** *

*/ inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); } /** *

*/ inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); } /** *

*/ inline S3ObjectMetadata& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentMD5(const char* value) { SetContentMD5(value); return *this;} /** *

*/ inline const Aws::String& GetContentType() const{ return m_contentType; } /** *

*/ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** *

*/ inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** *

*/ inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** *

*/ inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } /** *

*/ inline S3ObjectMetadata& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} /** *

*/ inline S3ObjectMetadata& WithContentType(const char* value) { SetContentType(value); return *this;} /** *

*/ inline const Aws::Utils::DateTime& GetHttpExpiresDate() const{ return m_httpExpiresDate; } /** *

*/ inline bool HttpExpiresDateHasBeenSet() const { return m_httpExpiresDateHasBeenSet; } /** *

*/ inline void SetHttpExpiresDate(const Aws::Utils::DateTime& value) { m_httpExpiresDateHasBeenSet = true; m_httpExpiresDate = value; } /** *

*/ inline void SetHttpExpiresDate(Aws::Utils::DateTime&& value) { m_httpExpiresDateHasBeenSet = true; m_httpExpiresDate = std::move(value); } /** *

*/ inline S3ObjectMetadata& WithHttpExpiresDate(const Aws::Utils::DateTime& value) { SetHttpExpiresDate(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithHttpExpiresDate(Aws::Utils::DateTime&& value) { SetHttpExpiresDate(std::move(value)); return *this;} /** *

*/ inline bool GetRequesterCharged() const{ return m_requesterCharged; } /** *

*/ inline bool RequesterChargedHasBeenSet() const { return m_requesterChargedHasBeenSet; } /** *

*/ inline void SetRequesterCharged(bool value) { m_requesterChargedHasBeenSet = true; m_requesterCharged = value; } /** *

*/ inline S3ObjectMetadata& WithRequesterCharged(bool value) { SetRequesterCharged(value); return *this;} /** *

*/ inline const S3SSEAlgorithm& GetSSEAlgorithm() const{ return m_sSEAlgorithm; } /** *

*/ inline bool SSEAlgorithmHasBeenSet() const { return m_sSEAlgorithmHasBeenSet; } /** *

*/ inline void SetSSEAlgorithm(const S3SSEAlgorithm& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = value; } /** *

*/ inline void SetSSEAlgorithm(S3SSEAlgorithm&& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = std::move(value); } /** *

*/ inline S3ObjectMetadata& WithSSEAlgorithm(const S3SSEAlgorithm& value) { SetSSEAlgorithm(value); return *this;} /** *

*/ inline S3ObjectMetadata& WithSSEAlgorithm(S3SSEAlgorithm&& value) { SetSSEAlgorithm(std::move(value)); return *this;} private: Aws::String m_cacheControl; bool m_cacheControlHasBeenSet = false; Aws::String m_contentDisposition; bool m_contentDispositionHasBeenSet = false; Aws::String m_contentEncoding; bool m_contentEncodingHasBeenSet = false; Aws::String m_contentLanguage; bool m_contentLanguageHasBeenSet = false; Aws::Map m_userMetadata; bool m_userMetadataHasBeenSet = false; long long m_contentLength; bool m_contentLengthHasBeenSet = false; Aws::String m_contentMD5; bool m_contentMD5HasBeenSet = false; Aws::String m_contentType; bool m_contentTypeHasBeenSet = false; Aws::Utils::DateTime m_httpExpiresDate; bool m_httpExpiresDateHasBeenSet = false; bool m_requesterCharged; bool m_requesterChargedHasBeenSet = false; S3SSEAlgorithm m_sSEAlgorithm; bool m_sSEAlgorithmHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws