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

Contains the configuration information of alarm state changes.

See * Also:

AWS * API Reference

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

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline const InitializationConfiguration& GetInitializationConfiguration() const{ return m_initializationConfiguration; } /** *

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline bool InitializationConfigurationHasBeenSet() const { return m_initializationConfigurationHasBeenSet; } /** *

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline void SetInitializationConfiguration(const InitializationConfiguration& value) { m_initializationConfigurationHasBeenSet = true; m_initializationConfiguration = value; } /** *

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline void SetInitializationConfiguration(InitializationConfiguration&& value) { m_initializationConfigurationHasBeenSet = true; m_initializationConfiguration = std::move(value); } /** *

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline AlarmCapabilities& WithInitializationConfiguration(const InitializationConfiguration& value) { SetInitializationConfiguration(value); return *this;} /** *

Specifies the default alarm state. The configuration applies to all alarms * that were created based on this alarm model.

*/ inline AlarmCapabilities& WithInitializationConfiguration(InitializationConfiguration&& value) { SetInitializationConfiguration(std::move(value)); return *this;} /** *

Specifies whether to get notified for alarm state changes.

*/ inline const AcknowledgeFlow& GetAcknowledgeFlow() const{ return m_acknowledgeFlow; } /** *

Specifies whether to get notified for alarm state changes.

*/ inline bool AcknowledgeFlowHasBeenSet() const { return m_acknowledgeFlowHasBeenSet; } /** *

Specifies whether to get notified for alarm state changes.

*/ inline void SetAcknowledgeFlow(const AcknowledgeFlow& value) { m_acknowledgeFlowHasBeenSet = true; m_acknowledgeFlow = value; } /** *

Specifies whether to get notified for alarm state changes.

*/ inline void SetAcknowledgeFlow(AcknowledgeFlow&& value) { m_acknowledgeFlowHasBeenSet = true; m_acknowledgeFlow = std::move(value); } /** *

Specifies whether to get notified for alarm state changes.

*/ inline AlarmCapabilities& WithAcknowledgeFlow(const AcknowledgeFlow& value) { SetAcknowledgeFlow(value); return *this;} /** *

Specifies whether to get notified for alarm state changes.

*/ inline AlarmCapabilities& WithAcknowledgeFlow(AcknowledgeFlow&& value) { SetAcknowledgeFlow(std::move(value)); return *this;} private: InitializationConfiguration m_initializationConfiguration; bool m_initializationConfigurationHasBeenSet = false; AcknowledgeFlow m_acknowledgeFlow; bool m_acknowledgeFlowHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws