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

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

See * Also:

AWS * API Reference

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

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline const Aws::String& GetAlarmRoleArn() const{ return m_alarmRoleArn; } /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline bool AlarmRoleArnHasBeenSet() const { return m_alarmRoleArnHasBeenSet; } /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline void SetAlarmRoleArn(const Aws::String& value) { m_alarmRoleArnHasBeenSet = true; m_alarmRoleArn = value; } /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline void SetAlarmRoleArn(Aws::String&& value) { m_alarmRoleArnHasBeenSet = true; m_alarmRoleArn = std::move(value); } /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline void SetAlarmRoleArn(const char* value) { m_alarmRoleArnHasBeenSet = true; m_alarmRoleArn.assign(value); } /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline Alarms& WithAlarmRoleArn(const Aws::String& value) { SetAlarmRoleArn(value); return *this;} /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline Alarms& WithAlarmRoleArn(Aws::String&& value) { SetAlarmRoleArn(std::move(value)); return *this;} /** *

The ARN * of the IAM role that allows the alarm to perform actions and access Amazon Web * Services resources and services, such as IoT Events.

*/ inline Alarms& WithAlarmRoleArn(const char* value) { SetAlarmRoleArn(value); return *this;} /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline const Aws::String& GetNotificationLambdaArn() const{ return m_notificationLambdaArn; } /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline bool NotificationLambdaArnHasBeenSet() const { return m_notificationLambdaArnHasBeenSet; } /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline void SetNotificationLambdaArn(const Aws::String& value) { m_notificationLambdaArnHasBeenSet = true; m_notificationLambdaArn = value; } /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline void SetNotificationLambdaArn(Aws::String&& value) { m_notificationLambdaArnHasBeenSet = true; m_notificationLambdaArn = std::move(value); } /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline void SetNotificationLambdaArn(const char* value) { m_notificationLambdaArnHasBeenSet = true; m_notificationLambdaArn.assign(value); } /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline Alarms& WithNotificationLambdaArn(const Aws::String& value) { SetNotificationLambdaArn(value); return *this;} /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline Alarms& WithNotificationLambdaArn(Aws::String&& value) { SetNotificationLambdaArn(std::move(value)); return *this;} /** *

The ARN * of the Lambda function that manages alarm notifications. For more information, * see Managing * alarm notifications in the IoT Events Developer Guide.

*/ inline Alarms& WithNotificationLambdaArn(const char* value) { SetNotificationLambdaArn(value); return *this;} private: Aws::String m_alarmRoleArn; bool m_alarmRoleArnHasBeenSet = false; Aws::String m_notificationLambdaArn; bool m_notificationLambdaArnHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws