/** * 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 namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { /** *

Represents the history of a specific alarm.

See Also:

AWS * API Reference

*/ class AlarmHistoryItem { public: AWS_CLOUDWATCH_API AlarmHistoryItem(); AWS_CLOUDWATCH_API AlarmHistoryItem(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API AlarmHistoryItem& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDWATCH_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The descriptive name for the alarm.

*/ inline const Aws::String& GetAlarmName() const{ return m_alarmName; } /** *

The descriptive name for the alarm.

*/ inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; } /** *

The descriptive name for the alarm.

*/ inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; } /** *

The descriptive name for the alarm.

*/ inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); } /** *

The descriptive name for the alarm.

*/ inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); } /** *

The descriptive name for the alarm.

*/ inline AlarmHistoryItem& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;} /** *

The descriptive name for the alarm.

*/ inline AlarmHistoryItem& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;} /** *

The descriptive name for the alarm.

*/ inline AlarmHistoryItem& WithAlarmName(const char* value) { SetAlarmName(value); return *this;} /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline const AlarmType& GetAlarmType() const{ return m_alarmType; } /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline bool AlarmTypeHasBeenSet() const { return m_alarmTypeHasBeenSet; } /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline void SetAlarmType(const AlarmType& value) { m_alarmTypeHasBeenSet = true; m_alarmType = value; } /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline void SetAlarmType(AlarmType&& value) { m_alarmTypeHasBeenSet = true; m_alarmType = std::move(value); } /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline AlarmHistoryItem& WithAlarmType(const AlarmType& value) { SetAlarmType(value); return *this;} /** *

The type of alarm, either metric alarm or composite alarm.

*/ inline AlarmHistoryItem& WithAlarmType(AlarmType&& value) { SetAlarmType(std::move(value)); return *this;} /** *

The time stamp for the alarm history item.

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The time stamp for the alarm history item.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The time stamp for the alarm history item.

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The time stamp for the alarm history item.

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The time stamp for the alarm history item.

*/ inline AlarmHistoryItem& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The time stamp for the alarm history item.

*/ inline AlarmHistoryItem& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The type of alarm history item.

*/ inline const HistoryItemType& GetHistoryItemType() const{ return m_historyItemType; } /** *

The type of alarm history item.

*/ inline bool HistoryItemTypeHasBeenSet() const { return m_historyItemTypeHasBeenSet; } /** *

The type of alarm history item.

*/ inline void SetHistoryItemType(const HistoryItemType& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = value; } /** *

The type of alarm history item.

*/ inline void SetHistoryItemType(HistoryItemType&& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = std::move(value); } /** *

The type of alarm history item.

*/ inline AlarmHistoryItem& WithHistoryItemType(const HistoryItemType& value) { SetHistoryItemType(value); return *this;} /** *

The type of alarm history item.

*/ inline AlarmHistoryItem& WithHistoryItemType(HistoryItemType&& value) { SetHistoryItemType(std::move(value)); return *this;} /** *

A summary of the alarm history, in text format.

*/ inline const Aws::String& GetHistorySummary() const{ return m_historySummary; } /** *

A summary of the alarm history, in text format.

*/ inline bool HistorySummaryHasBeenSet() const { return m_historySummaryHasBeenSet; } /** *

A summary of the alarm history, in text format.

*/ inline void SetHistorySummary(const Aws::String& value) { m_historySummaryHasBeenSet = true; m_historySummary = value; } /** *

A summary of the alarm history, in text format.

*/ inline void SetHistorySummary(Aws::String&& value) { m_historySummaryHasBeenSet = true; m_historySummary = std::move(value); } /** *

A summary of the alarm history, in text format.

*/ inline void SetHistorySummary(const char* value) { m_historySummaryHasBeenSet = true; m_historySummary.assign(value); } /** *

A summary of the alarm history, in text format.

*/ inline AlarmHistoryItem& WithHistorySummary(const Aws::String& value) { SetHistorySummary(value); return *this;} /** *

A summary of the alarm history, in text format.

*/ inline AlarmHistoryItem& WithHistorySummary(Aws::String&& value) { SetHistorySummary(std::move(value)); return *this;} /** *

A summary of the alarm history, in text format.

*/ inline AlarmHistoryItem& WithHistorySummary(const char* value) { SetHistorySummary(value); return *this;} /** *

Data about the alarm, in JSON format.

*/ inline const Aws::String& GetHistoryData() const{ return m_historyData; } /** *

Data about the alarm, in JSON format.

*/ inline bool HistoryDataHasBeenSet() const { return m_historyDataHasBeenSet; } /** *

Data about the alarm, in JSON format.

*/ inline void SetHistoryData(const Aws::String& value) { m_historyDataHasBeenSet = true; m_historyData = value; } /** *

Data about the alarm, in JSON format.

*/ inline void SetHistoryData(Aws::String&& value) { m_historyDataHasBeenSet = true; m_historyData = std::move(value); } /** *

Data about the alarm, in JSON format.

*/ inline void SetHistoryData(const char* value) { m_historyDataHasBeenSet = true; m_historyData.assign(value); } /** *

Data about the alarm, in JSON format.

*/ inline AlarmHistoryItem& WithHistoryData(const Aws::String& value) { SetHistoryData(value); return *this;} /** *

Data about the alarm, in JSON format.

*/ inline AlarmHistoryItem& WithHistoryData(Aws::String&& value) { SetHistoryData(std::move(value)); return *this;} /** *

Data about the alarm, in JSON format.

*/ inline AlarmHistoryItem& WithHistoryData(const char* value) { SetHistoryData(value); return *this;} private: Aws::String m_alarmName; bool m_alarmNameHasBeenSet = false; AlarmType m_alarmType; bool m_alarmTypeHasBeenSet = false; Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; HistoryItemType m_historyItemType; bool m_historyItemTypeHasBeenSet = false; Aws::String m_historySummary; bool m_historySummaryHasBeenSet = false; Aws::String m_historyData; bool m_historyDataHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws