/** * 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 #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoTEvents { namespace Model { class DescribeAlarmModelResult { public: AWS_IOTEVENTS_API DescribeAlarmModelResult(); AWS_IOTEVENTS_API DescribeAlarmModelResult(const Aws::AmazonWebServiceResult& result); AWS_IOTEVENTS_API DescribeAlarmModelResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The time the alarm model was created, in the Unix epoch format.

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

The time the alarm model was created, in the Unix epoch format.

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

The time the alarm model was created, in the Unix epoch format.

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

The time the alarm model was created, in the Unix epoch format.

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

The time the alarm model was created, in the Unix epoch format.

*/ inline DescribeAlarmModelResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline const Aws::String& GetAlarmModelArn() const{ return m_alarmModelArn; } /** *

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

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

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

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

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline void SetAlarmModelArn(const char* value) { m_alarmModelArn.assign(value); } /** *

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithAlarmModelArn(const Aws::String& value) { SetAlarmModelArn(value); return *this;} /** *

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithAlarmModelArn(Aws::String&& value) { SetAlarmModelArn(std::move(value)); return *this;} /** *

The ARN of the alarm model. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithAlarmModelArn(const char* value) { SetAlarmModelArn(value); return *this;} /** *

The version of the alarm model.

*/ inline const Aws::String& GetAlarmModelVersion() const{ return m_alarmModelVersion; } /** *

The version of the alarm model.

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

The version of the alarm model.

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

The version of the alarm model.

*/ inline void SetAlarmModelVersion(const char* value) { m_alarmModelVersion.assign(value); } /** *

The version of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelVersion(const Aws::String& value) { SetAlarmModelVersion(value); return *this;} /** *

The version of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelVersion(Aws::String&& value) { SetAlarmModelVersion(std::move(value)); return *this;} /** *

The version of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelVersion(const char* value) { SetAlarmModelVersion(value); return *this;} /** *

The time the alarm model was last updated, in the Unix epoch format.

*/ inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; } /** *

The time the alarm model was last updated, in the Unix epoch format.

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

The time the alarm model was last updated, in the Unix epoch format.

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

The time the alarm model was last updated, in the Unix epoch format.

*/ inline DescribeAlarmModelResult& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;} /** *

The time the alarm model was last updated, in the Unix epoch format.

*/ inline DescribeAlarmModelResult& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;} /** *

The status of the alarm model. The status can be one of the following * values:

  • ACTIVE - The alarm model is active and * it's ready to evaluate data.

  • ACTIVATING - AWS * IoT Events is activating your alarm model. Activating an alarm model can take up * to a few minutes.

  • INACTIVE - The alarm model is * inactive, so it isn't ready to evaluate data. Check your alarm model information * and update the alarm model.

  • FAILED - You * couldn't create or update the alarm model. Check your alarm model information * and try again.

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

The status of the alarm model. The status can be one of the following * values:

  • ACTIVE - The alarm model is active and * it's ready to evaluate data.

  • ACTIVATING - AWS * IoT Events is activating your alarm model. Activating an alarm model can take up * to a few minutes.

  • INACTIVE - The alarm model is * inactive, so it isn't ready to evaluate data. Check your alarm model information * and update the alarm model.

  • FAILED - You * couldn't create or update the alarm model. Check your alarm model information * and try again.

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

The status of the alarm model. The status can be one of the following * values:

  • ACTIVE - The alarm model is active and * it's ready to evaluate data.

  • ACTIVATING - AWS * IoT Events is activating your alarm model. Activating an alarm model can take up * to a few minutes.

  • INACTIVE - The alarm model is * inactive, so it isn't ready to evaluate data. Check your alarm model information * and update the alarm model.

  • FAILED - You * couldn't create or update the alarm model. Check your alarm model information * and try again.

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

The status of the alarm model. The status can be one of the following * values:

  • ACTIVE - The alarm model is active and * it's ready to evaluate data.

  • ACTIVATING - AWS * IoT Events is activating your alarm model. Activating an alarm model can take up * to a few minutes.

  • INACTIVE - The alarm model is * inactive, so it isn't ready to evaluate data. Check your alarm model information * and update the alarm model.

  • FAILED - You * couldn't create or update the alarm model. Check your alarm model information * and try again.

*/ inline DescribeAlarmModelResult& WithStatus(const AlarmModelVersionStatus& value) { SetStatus(value); return *this;} /** *

The status of the alarm model. The status can be one of the following * values:

  • ACTIVE - The alarm model is active and * it's ready to evaluate data.

  • ACTIVATING - AWS * IoT Events is activating your alarm model. Activating an alarm model can take up * to a few minutes.

  • INACTIVE - The alarm model is * inactive, so it isn't ready to evaluate data. Check your alarm model information * and update the alarm model.

  • FAILED - You * couldn't create or update the alarm model. Check your alarm model information * and try again.

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

Contains information about the status of the alarm model.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

Contains information about the status of the alarm model.

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

Contains information about the status of the alarm model.

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

Contains information about the status of the alarm model.

*/ inline void SetStatusMessage(const char* value) { m_statusMessage.assign(value); } /** *

Contains information about the status of the alarm model.

*/ inline DescribeAlarmModelResult& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

Contains information about the status of the alarm model.

*/ inline DescribeAlarmModelResult& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

Contains information about the status of the alarm model.

*/ inline DescribeAlarmModelResult& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

The name of the alarm model.

*/ inline const Aws::String& GetAlarmModelName() const{ return m_alarmModelName; } /** *

The name of the alarm model.

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

The name of the alarm model.

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

The name of the alarm model.

*/ inline void SetAlarmModelName(const char* value) { m_alarmModelName.assign(value); } /** *

The name of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelName(const Aws::String& value) { SetAlarmModelName(value); return *this;} /** *

The name of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelName(Aws::String&& value) { SetAlarmModelName(std::move(value)); return *this;} /** *

The name of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelName(const char* value) { SetAlarmModelName(value); return *this;} /** *

The description of the alarm model.

*/ inline const Aws::String& GetAlarmModelDescription() const{ return m_alarmModelDescription; } /** *

The description of the alarm model.

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

The description of the alarm model.

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

The description of the alarm model.

*/ inline void SetAlarmModelDescription(const char* value) { m_alarmModelDescription.assign(value); } /** *

The description of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelDescription(const Aws::String& value) { SetAlarmModelDescription(value); return *this;} /** *

The description of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelDescription(Aws::String&& value) { SetAlarmModelDescription(std::move(value)); return *this;} /** *

The description of the alarm model.

*/ inline DescribeAlarmModelResult& WithAlarmModelDescription(const char* value) { SetAlarmModelDescription(value); return *this;} /** *

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

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

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

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

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline void SetRoleArn(const char* value) { m_roleArn.assign(value); } /** *

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role that allows the alarm to perform actions and access * AWS resources. For more information, see Amazon * Resource Names (ARNs) in the AWS General Reference.

*/ inline DescribeAlarmModelResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

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

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

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

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

*/ inline void SetKey(const char* value) { m_key.assign(value); } /** *

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

*/ inline DescribeAlarmModelResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

*/ inline DescribeAlarmModelResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs * associated with this key to the alarm.

*/ inline DescribeAlarmModelResult& WithKey(const char* value) { SetKey(value); return *this;} /** *

A non-negative integer that reflects the severity level of the alarm.

*/ inline int GetSeverity() const{ return m_severity; } /** *

A non-negative integer that reflects the severity level of the alarm.

*/ inline void SetSeverity(int value) { m_severity = value; } /** *

A non-negative integer that reflects the severity level of the alarm.

*/ inline DescribeAlarmModelResult& WithSeverity(int value) { SetSeverity(value); return *this;} /** *

Defines when your alarm is invoked.

*/ inline const AlarmRule& GetAlarmRule() const{ return m_alarmRule; } /** *

Defines when your alarm is invoked.

*/ inline void SetAlarmRule(const AlarmRule& value) { m_alarmRule = value; } /** *

Defines when your alarm is invoked.

*/ inline void SetAlarmRule(AlarmRule&& value) { m_alarmRule = std::move(value); } /** *

Defines when your alarm is invoked.

*/ inline DescribeAlarmModelResult& WithAlarmRule(const AlarmRule& value) { SetAlarmRule(value); return *this;} /** *

Defines when your alarm is invoked.

*/ inline DescribeAlarmModelResult& WithAlarmRule(AlarmRule&& value) { SetAlarmRule(std::move(value)); return *this;} /** *

Contains information about one or more notification actions.

*/ inline const AlarmNotification& GetAlarmNotification() const{ return m_alarmNotification; } /** *

Contains information about one or more notification actions.

*/ inline void SetAlarmNotification(const AlarmNotification& value) { m_alarmNotification = value; } /** *

Contains information about one or more notification actions.

*/ inline void SetAlarmNotification(AlarmNotification&& value) { m_alarmNotification = std::move(value); } /** *

Contains information about one or more notification actions.

*/ inline DescribeAlarmModelResult& WithAlarmNotification(const AlarmNotification& value) { SetAlarmNotification(value); return *this;} /** *

Contains information about one or more notification actions.

*/ inline DescribeAlarmModelResult& WithAlarmNotification(AlarmNotification&& value) { SetAlarmNotification(std::move(value)); return *this;} /** *

Contains information about one or more alarm actions.

*/ inline const AlarmEventActions& GetAlarmEventActions() const{ return m_alarmEventActions; } /** *

Contains information about one or more alarm actions.

*/ inline void SetAlarmEventActions(const AlarmEventActions& value) { m_alarmEventActions = value; } /** *

Contains information about one or more alarm actions.

*/ inline void SetAlarmEventActions(AlarmEventActions&& value) { m_alarmEventActions = std::move(value); } /** *

Contains information about one or more alarm actions.

*/ inline DescribeAlarmModelResult& WithAlarmEventActions(const AlarmEventActions& value) { SetAlarmEventActions(value); return *this;} /** *

Contains information about one or more alarm actions.

*/ inline DescribeAlarmModelResult& WithAlarmEventActions(AlarmEventActions&& value) { SetAlarmEventActions(std::move(value)); return *this;} /** *

Contains the configuration information of alarm state changes.

*/ inline const AlarmCapabilities& GetAlarmCapabilities() const{ return m_alarmCapabilities; } /** *

Contains the configuration information of alarm state changes.

*/ inline void SetAlarmCapabilities(const AlarmCapabilities& value) { m_alarmCapabilities = value; } /** *

Contains the configuration information of alarm state changes.

*/ inline void SetAlarmCapabilities(AlarmCapabilities&& value) { m_alarmCapabilities = std::move(value); } /** *

Contains the configuration information of alarm state changes.

*/ inline DescribeAlarmModelResult& WithAlarmCapabilities(const AlarmCapabilities& value) { SetAlarmCapabilities(value); return *this;} /** *

Contains the configuration information of alarm state changes.

*/ inline DescribeAlarmModelResult& WithAlarmCapabilities(AlarmCapabilities&& value) { SetAlarmCapabilities(std::move(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 DescribeAlarmModelResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeAlarmModelResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeAlarmModelResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::Utils::DateTime m_creationTime; Aws::String m_alarmModelArn; Aws::String m_alarmModelVersion; Aws::Utils::DateTime m_lastUpdateTime; AlarmModelVersionStatus m_status; Aws::String m_statusMessage; Aws::String m_alarmModelName; Aws::String m_alarmModelDescription; Aws::String m_roleArn; Aws::String m_key; int m_severity; AlarmRule m_alarmRule; AlarmNotification m_alarmNotification; AlarmEventActions m_alarmEventActions; AlarmCapabilities m_alarmCapabilities; Aws::String m_requestId; }; } // namespace Model } // namespace IoTEvents } // namespace Aws