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

An Archive object that contains details about an * archive.

See Also:

AWS API * Reference

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

The name of the archive.

*/ inline const Aws::String& GetArchiveName() const{ return m_archiveName; } /** *

The name of the archive.

*/ inline bool ArchiveNameHasBeenSet() const { return m_archiveNameHasBeenSet; } /** *

The name of the archive.

*/ inline void SetArchiveName(const Aws::String& value) { m_archiveNameHasBeenSet = true; m_archiveName = value; } /** *

The name of the archive.

*/ inline void SetArchiveName(Aws::String&& value) { m_archiveNameHasBeenSet = true; m_archiveName = std::move(value); } /** *

The name of the archive.

*/ inline void SetArchiveName(const char* value) { m_archiveNameHasBeenSet = true; m_archiveName.assign(value); } /** *

The name of the archive.

*/ inline Archive& WithArchiveName(const Aws::String& value) { SetArchiveName(value); return *this;} /** *

The name of the archive.

*/ inline Archive& WithArchiveName(Aws::String&& value) { SetArchiveName(std::move(value)); return *this;} /** *

The name of the archive.

*/ inline Archive& WithArchiveName(const char* value) { SetArchiveName(value); return *this;} /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline const Aws::String& GetEventSourceArn() const{ return m_eventSourceArn; } /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline bool EventSourceArnHasBeenSet() const { return m_eventSourceArnHasBeenSet; } /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline void SetEventSourceArn(const Aws::String& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = value; } /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline void SetEventSourceArn(Aws::String&& value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn = std::move(value); } /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline void SetEventSourceArn(const char* value) { m_eventSourceArnHasBeenSet = true; m_eventSourceArn.assign(value); } /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline Archive& WithEventSourceArn(const Aws::String& value) { SetEventSourceArn(value); return *this;} /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline Archive& WithEventSourceArn(Aws::String&& value) { SetEventSourceArn(std::move(value)); return *this;} /** *

The ARN of the event bus associated with the archive. Only events from this * event bus are sent to the archive.

*/ inline Archive& WithEventSourceArn(const char* value) { SetEventSourceArn(value); return *this;} /** *

The current state of the archive.

*/ inline const ArchiveState& GetState() const{ return m_state; } /** *

The current state of the archive.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the archive.

*/ inline void SetState(const ArchiveState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the archive.

*/ inline void SetState(ArchiveState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the archive.

*/ inline Archive& WithState(const ArchiveState& value) { SetState(value); return *this;} /** *

The current state of the archive.

*/ inline Archive& WithState(ArchiveState&& value) { SetState(std::move(value)); return *this;} /** *

A description for the reason that the archive is in the current state.

*/ inline const Aws::String& GetStateReason() const{ return m_stateReason; } /** *

A description for the reason that the archive is in the current state.

*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *

A description for the reason that the archive is in the current state.

*/ inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *

A description for the reason that the archive is in the current state.

*/ inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *

A description for the reason that the archive is in the current state.

*/ inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } /** *

A description for the reason that the archive is in the current state.

*/ inline Archive& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} /** *

A description for the reason that the archive is in the current state.

*/ inline Archive& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} /** *

A description for the reason that the archive is in the current state.

*/ inline Archive& WithStateReason(const char* value) { SetStateReason(value); return *this;} /** *

The number of days to retain events in the archive before they are * deleted.

*/ inline int GetRetentionDays() const{ return m_retentionDays; } /** *

The number of days to retain events in the archive before they are * deleted.

*/ inline bool RetentionDaysHasBeenSet() const { return m_retentionDaysHasBeenSet; } /** *

The number of days to retain events in the archive before they are * deleted.

*/ inline void SetRetentionDays(int value) { m_retentionDaysHasBeenSet = true; m_retentionDays = value; } /** *

The number of days to retain events in the archive before they are * deleted.

*/ inline Archive& WithRetentionDays(int value) { SetRetentionDays(value); return *this;} /** *

The size of the archive, in bytes.

*/ inline long long GetSizeBytes() const{ return m_sizeBytes; } /** *

The size of the archive, in bytes.

*/ inline bool SizeBytesHasBeenSet() const { return m_sizeBytesHasBeenSet; } /** *

The size of the archive, in bytes.

*/ inline void SetSizeBytes(long long value) { m_sizeBytesHasBeenSet = true; m_sizeBytes = value; } /** *

The size of the archive, in bytes.

*/ inline Archive& WithSizeBytes(long long value) { SetSizeBytes(value); return *this;} /** *

The number of events in the archive.

*/ inline long long GetEventCount() const{ return m_eventCount; } /** *

The number of events in the archive.

*/ inline bool EventCountHasBeenSet() const { return m_eventCountHasBeenSet; } /** *

The number of events in the archive.

*/ inline void SetEventCount(long long value) { m_eventCountHasBeenSet = true; m_eventCount = value; } /** *

The number of events in the archive.

*/ inline Archive& WithEventCount(long long value) { SetEventCount(value); return *this;} /** *

The time stamp for the time that the archive was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time stamp for the time that the archive was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time stamp for the time that the archive was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time stamp for the time that the archive was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time stamp for the time that the archive was created.

*/ inline Archive& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time stamp for the time that the archive was created.

*/ inline Archive& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} private: Aws::String m_archiveName; bool m_archiveNameHasBeenSet = false; Aws::String m_eventSourceArn; bool m_eventSourceArnHasBeenSet = false; ArchiveState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; int m_retentionDays; bool m_retentionDaysHasBeenSet = false; long long m_sizeBytes; bool m_sizeBytesHasBeenSet = false; long long m_eventCount; bool m_eventCountHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchEvents } // namespace Aws