/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace CloudTrail { namespace Model { class CreateEventDataStoreResult { public: AWS_CLOUDTRAIL_API CreateEventDataStoreResult(); AWS_CLOUDTRAIL_API CreateEventDataStoreResult(const Aws::AmazonWebServiceResult& result); AWS_CLOUDTRAIL_API CreateEventDataStoreResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of the event data store.

*/ inline const Aws::String& GetEventDataStoreArn() const{ return m_eventDataStoreArn; } /** *

The ARN of the event data store.

*/ inline void SetEventDataStoreArn(const Aws::String& value) { m_eventDataStoreArn = value; } /** *

The ARN of the event data store.

*/ inline void SetEventDataStoreArn(Aws::String&& value) { m_eventDataStoreArn = std::move(value); } /** *

The ARN of the event data store.

*/ inline void SetEventDataStoreArn(const char* value) { m_eventDataStoreArn.assign(value); } /** *

The ARN of the event data store.

*/ inline CreateEventDataStoreResult& WithEventDataStoreArn(const Aws::String& value) { SetEventDataStoreArn(value); return *this;} /** *

The ARN of the event data store.

*/ inline CreateEventDataStoreResult& WithEventDataStoreArn(Aws::String&& value) { SetEventDataStoreArn(std::move(value)); return *this;} /** *

The ARN of the event data store.

*/ inline CreateEventDataStoreResult& WithEventDataStoreArn(const char* value) { SetEventDataStoreArn(value); return *this;} /** *

The name of the event data store.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the event data store.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name of the event data store.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name of the event data store.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the event data store.

*/ inline CreateEventDataStoreResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the event data store.

*/ inline CreateEventDataStoreResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the event data store.

*/ inline CreateEventDataStoreResult& WithName(const char* value) { SetName(value); return *this;} /** *

The status of event data store creation.

*/ inline const EventDataStoreStatus& GetStatus() const{ return m_status; } /** *

The status of event data store creation.

*/ inline void SetStatus(const EventDataStoreStatus& value) { m_status = value; } /** *

The status of event data store creation.

*/ inline void SetStatus(EventDataStoreStatus&& value) { m_status = std::move(value); } /** *

The status of event data store creation.

*/ inline CreateEventDataStoreResult& WithStatus(const EventDataStoreStatus& value) { SetStatus(value); return *this;} /** *

The status of event data store creation.

*/ inline CreateEventDataStoreResult& WithStatus(EventDataStoreStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline const Aws::Vector& GetAdvancedEventSelectors() const{ return m_advancedEventSelectors; } /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline void SetAdvancedEventSelectors(const Aws::Vector& value) { m_advancedEventSelectors = value; } /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline void SetAdvancedEventSelectors(Aws::Vector&& value) { m_advancedEventSelectors = std::move(value); } /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline CreateEventDataStoreResult& WithAdvancedEventSelectors(const Aws::Vector& value) { SetAdvancedEventSelectors(value); return *this;} /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline CreateEventDataStoreResult& WithAdvancedEventSelectors(Aws::Vector&& value) { SetAdvancedEventSelectors(std::move(value)); return *this;} /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline CreateEventDataStoreResult& AddAdvancedEventSelectors(const AdvancedEventSelector& value) { m_advancedEventSelectors.push_back(value); return *this; } /** *

The advanced event selectors that were used to select the events for the data * store.

*/ inline CreateEventDataStoreResult& AddAdvancedEventSelectors(AdvancedEventSelector&& value) { m_advancedEventSelectors.push_back(std::move(value)); return *this; } /** *

Indicates whether the event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline bool GetMultiRegionEnabled() const{ return m_multiRegionEnabled; } /** *

Indicates whether the event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline void SetMultiRegionEnabled(bool value) { m_multiRegionEnabled = value; } /** *

Indicates whether the event data store collects events from all Regions, or * only from the Region in which it was created.

*/ inline CreateEventDataStoreResult& WithMultiRegionEnabled(bool value) { SetMultiRegionEnabled(value); return *this;} /** *

Indicates whether an event data store is collecting logged events for an * organization in Organizations.

*/ inline bool GetOrganizationEnabled() const{ return m_organizationEnabled; } /** *

Indicates whether an event data store is collecting logged events for an * organization in Organizations.

*/ inline void SetOrganizationEnabled(bool value) { m_organizationEnabled = value; } /** *

Indicates whether an event data store is collecting logged events for an * organization in Organizations.

*/ inline CreateEventDataStoreResult& WithOrganizationEnabled(bool value) { SetOrganizationEnabled(value); return *this;} /** *

The retention period of an event data store, in days.

*/ inline int GetRetentionPeriod() const{ return m_retentionPeriod; } /** *

The retention period of an event data store, in days.

*/ inline void SetRetentionPeriod(int value) { m_retentionPeriod = value; } /** *

The retention period of an event data store, in days.

*/ inline CreateEventDataStoreResult& WithRetentionPeriod(int value) { SetRetentionPeriod(value); return *this;} /** *

Indicates whether termination protection is enabled for the event data * store.

*/ inline bool GetTerminationProtectionEnabled() const{ return m_terminationProtectionEnabled; } /** *

Indicates whether termination protection is enabled for the event data * store.

*/ inline void SetTerminationProtectionEnabled(bool value) { m_terminationProtectionEnabled = value; } /** *

Indicates whether termination protection is enabled for the event data * store.

*/ inline CreateEventDataStoreResult& WithTerminationProtectionEnabled(bool value) { SetTerminationProtectionEnabled(value); return *this;} inline const Aws::Vector& GetTagsList() const{ return m_tagsList; } inline void SetTagsList(const Aws::Vector& value) { m_tagsList = value; } inline void SetTagsList(Aws::Vector&& value) { m_tagsList = std::move(value); } inline CreateEventDataStoreResult& WithTagsList(const Aws::Vector& value) { SetTagsList(value); return *this;} inline CreateEventDataStoreResult& WithTagsList(Aws::Vector&& value) { SetTagsList(std::move(value)); return *this;} inline CreateEventDataStoreResult& AddTagsList(const Tag& value) { m_tagsList.push_back(value); return *this; } inline CreateEventDataStoreResult& AddTagsList(Tag&& value) { m_tagsList.push_back(std::move(value)); return *this; } /** *

The timestamp that shows when the event data store was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *

The timestamp that shows when the event data store was created.

*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } /** *

The timestamp that shows when the event data store was created.

*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } /** *

The timestamp that shows when the event data store was created.

*/ inline CreateEventDataStoreResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *

The timestamp that shows when the event data store was created.

*/ inline CreateEventDataStoreResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *

The timestamp that shows when an event data store was updated, if applicable. * UpdatedTimestamp is always either the same or newer than the time * shown in CreatedTimestamp.

*/ inline const Aws::Utils::DateTime& GetUpdatedTimestamp() const{ return m_updatedTimestamp; } /** *

The timestamp that shows when an event data store was updated, if applicable. * UpdatedTimestamp is always either the same or newer than the time * shown in CreatedTimestamp.

*/ inline void SetUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_updatedTimestamp = value; } /** *

The timestamp that shows when an event data store was updated, if applicable. * UpdatedTimestamp is always either the same or newer than the time * shown in CreatedTimestamp.

*/ inline void SetUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_updatedTimestamp = std::move(value); } /** *

The timestamp that shows when an event data store was updated, if applicable. * UpdatedTimestamp is always either the same or newer than the time * shown in CreatedTimestamp.

*/ inline CreateEventDataStoreResult& WithUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetUpdatedTimestamp(value); return *this;} /** *

The timestamp that shows when an event data store was updated, if applicable. * UpdatedTimestamp is always either the same or newer than the time * shown in CreatedTimestamp.

*/ inline CreateEventDataStoreResult& WithUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetUpdatedTimestamp(std::move(value)); return *this;} /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyId = value; } /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyId = std::move(value); } /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyId.assign(value); } /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline CreateEventDataStoreResult& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline CreateEventDataStoreResult& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. * The value is a fully specified ARN to a KMS key in the following format.

* arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *

*/ inline CreateEventDataStoreResult& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreateEventDataStoreResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateEventDataStoreResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateEventDataStoreResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_eventDataStoreArn; Aws::String m_name; EventDataStoreStatus m_status; Aws::Vector m_advancedEventSelectors; bool m_multiRegionEnabled; bool m_organizationEnabled; int m_retentionPeriod; bool m_terminationProtectionEnabled; Aws::Vector m_tagsList; Aws::Utils::DateTime m_createdTimestamp; Aws::Utils::DateTime m_updatedTimestamp; Aws::String m_kmsKeyId; Aws::String m_requestId; }; } // namespace Model } // namespace CloudTrail } // namespace Aws