/** * 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 { namespace IoTEvents { namespace Model { /** */ class UpdateAlarmModelRequest : public IoTEventsRequest { public: AWS_IOTEVENTS_API UpdateAlarmModelRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateAlarmModel"; } AWS_IOTEVENTS_API Aws::String SerializePayload() const override; /** *

The name of the alarm model.

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

The name of the alarm model.

*/ inline bool AlarmModelNameHasBeenSet() const { return m_alarmModelNameHasBeenSet; } /** *

The name of the alarm model.

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

The name of the alarm model.

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

The name of the alarm model.

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

The name of the alarm model.

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

The name of the alarm model.

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

The name of the alarm model.

*/ inline UpdateAlarmModelRequest& 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 bool AlarmModelDescriptionHasBeenSet() const { return m_alarmModelDescriptionHasBeenSet; } /** *

The description of the alarm model.

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

The description of the alarm model.

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

The description of the alarm model.

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

The description of the alarm model.

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

The description of the alarm model.

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

The description of the alarm model.

*/ inline UpdateAlarmModelRequest& 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 bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

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_roleArnHasBeenSet = true; 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_roleArnHasBeenSet = true; 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_roleArnHasBeenSet = true; 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 UpdateAlarmModelRequest& 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 UpdateAlarmModelRequest& 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 UpdateAlarmModelRequest& WithRoleArn(const char* value) { SetRoleArn(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 bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } /** *

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

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

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

*/ inline UpdateAlarmModelRequest& 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 bool AlarmRuleHasBeenSet() const { return m_alarmRuleHasBeenSet; } /** *

Defines when your alarm is invoked.

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

Defines when your alarm is invoked.

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

Defines when your alarm is invoked.

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

Defines when your alarm is invoked.

*/ inline UpdateAlarmModelRequest& 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 bool AlarmNotificationHasBeenSet() const { return m_alarmNotificationHasBeenSet; } /** *

Contains information about one or more notification actions.

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

Contains information about one or more notification actions.

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

Contains information about one or more notification actions.

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

Contains information about one or more notification actions.

*/ inline UpdateAlarmModelRequest& 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 bool AlarmEventActionsHasBeenSet() const { return m_alarmEventActionsHasBeenSet; } /** *

Contains information about one or more alarm actions.

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

Contains information about one or more alarm actions.

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

Contains information about one or more alarm actions.

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

Contains information about one or more alarm actions.

*/ inline UpdateAlarmModelRequest& 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 bool AlarmCapabilitiesHasBeenSet() const { return m_alarmCapabilitiesHasBeenSet; } /** *

Contains the configuration information of alarm state changes.

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

Contains the configuration information of alarm state changes.

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

Contains the configuration information of alarm state changes.

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

Contains the configuration information of alarm state changes.

*/ inline UpdateAlarmModelRequest& WithAlarmCapabilities(AlarmCapabilities&& value) { SetAlarmCapabilities(std::move(value)); return *this;} private: Aws::String m_alarmModelName; bool m_alarmModelNameHasBeenSet = false; Aws::String m_alarmModelDescription; bool m_alarmModelDescriptionHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; int m_severity; bool m_severityHasBeenSet = false; AlarmRule m_alarmRule; bool m_alarmRuleHasBeenSet = false; AlarmNotification m_alarmNotification; bool m_alarmNotificationHasBeenSet = false; AlarmEventActions m_alarmEventActions; bool m_alarmEventActionsHasBeenSet = false; AlarmCapabilities m_alarmCapabilities; bool m_alarmCapabilitiesHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws