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

Details about an Amazon S3 object.

See Also:

AWS * API Reference

*/ class AwsS3ObjectDetails { public: AWS_SECURITYHUB_API AwsS3ObjectDetails(); AWS_SECURITYHUB_API AwsS3ObjectDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsS3ObjectDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetLastModified() const{ return m_lastModified; } /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModified(const Aws::String& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModified(Aws::String&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModified(const char* value) { m_lastModifiedHasBeenSet = true; m_lastModified.assign(value); } /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsS3ObjectDetails& WithLastModified(const Aws::String& value) { SetLastModified(value); return *this;} /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsS3ObjectDetails& WithLastModified(Aws::String&& value) { SetLastModified(std::move(value)); return *this;} /** *

Indicates when the object was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsS3ObjectDetails& WithLastModified(const char* value) { SetLastModified(value); return *this;} /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline const Aws::String& GetETag() const{ return m_eTag; } /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline AwsS3ObjectDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline AwsS3ObjectDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** *

The opaque identifier assigned by a web server to a specific version of a * resource found at a URL.

*/ inline AwsS3ObjectDetails& WithETag(const char* value) { SetETag(value); return *this;} /** *

The version of the object.

*/ inline const Aws::String& GetVersionId() const{ return m_versionId; } /** *

The version of the object.

*/ inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } /** *

The version of the object.

*/ inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } /** *

The version of the object.

*/ inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } /** *

The version of the object.

*/ inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } /** *

The version of the object.

*/ inline AwsS3ObjectDetails& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} /** *

The version of the object.

*/ inline AwsS3ObjectDetails& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} /** *

The version of the object.

*/ inline AwsS3ObjectDetails& WithVersionId(const char* value) { SetVersionId(value); return *this;} /** *

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

A standard MIME type describing the format of the object data.

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

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline const Aws::String& GetServerSideEncryption() const{ return m_serverSideEncryption; } /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; } /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline void SetServerSideEncryption(const Aws::String& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; } /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline void SetServerSideEncryption(Aws::String&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); } /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline void SetServerSideEncryption(const char* value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption.assign(value); } /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline AwsS3ObjectDetails& WithServerSideEncryption(const Aws::String& value) { SetServerSideEncryption(value); return *this;} /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline AwsS3ObjectDetails& WithServerSideEncryption(Aws::String&& value) { SetServerSideEncryption(std::move(value)); return *this;} /** *

If the object is stored using server-side encryption, the value of the * server-side encryption algorithm used when storing this object in Amazon S3.

*/ inline AwsS3ObjectDetails& WithServerSideEncryption(const char* value) { SetServerSideEncryption(value); return *this;} /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; } /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; } /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; } /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); } /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); } /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline AwsS3ObjectDetails& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;} /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline AwsS3ObjectDetails& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;} /** *

The identifier of the KMS symmetric customer managed key that was used for * the object.

*/ inline AwsS3ObjectDetails& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;} private: Aws::String m_lastModified; bool m_lastModifiedHasBeenSet = false; Aws::String m_eTag; bool m_eTagHasBeenSet = false; Aws::String m_versionId; bool m_versionIdHasBeenSet = false; Aws::String m_contentType; bool m_contentTypeHasBeenSet = false; Aws::String m_serverSideEncryption; bool m_serverSideEncryptionHasBeenSet = false; Aws::String m_sSEKMSKeyId; bool m_sSEKMSKeyIdHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws