7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/lightsail/model/ResourceLocation.h>
11#include <aws/lightsail/model/ResourceType.h>
12#include <aws/lightsail/model/MonitoredResourceInfo.h>
13#include <aws/lightsail/model/ComparisonOperator.h>
14#include <aws/lightsail/model/TreatMissingData.h>
15#include <aws/lightsail/model/MetricStatistic.h>
16#include <aws/lightsail/model/MetricName.h>
17#include <aws/lightsail/model/AlarmState.h>
18#include <aws/lightsail/model/MetricUnit.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
20#include <aws/lightsail/model/ContactProtocol.h>
49 AWS_LIGHTSAIL_API
Alarm() =
default;
61 template<
typename NameT = Aws::String>
62 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
63 template<
typename NameT = Aws::String>
73 template<
typename ArnT = Aws::String>
74 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
75 template<
typename ArnT = Aws::String>
85 template<
typename CreatedAtT = Aws::Utils::DateTime>
86 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
87 template<
typename CreatedAtT = Aws::Utils::DateTime>
97 template<
typename LocationT = ResourceLocation>
98 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
99 template<
typename LocationT = ResourceLocation>
121 template<
typename SupportCodeT = Aws::String>
122 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet =
true; m_supportCode = std::forward<SupportCodeT>(value); }
123 template<
typename SupportCodeT = Aws::String>
134 template<
typename MonitoredResourceInfoT = MonitoredResourceInfo>
135 void SetMonitoredResourceInfo(MonitoredResourceInfoT&& value) { m_monitoredResourceInfoHasBeenSet =
true; m_monitoredResourceInfo = std::forward<MonitoredResourceInfoT>(value); }
136 template<
typename MonitoredResourceInfoT = MonitoredResourceInfo>
158 inline void SetEvaluationPeriods(
int value) { m_evaluationPeriodsHasBeenSet =
true; m_evaluationPeriods = value; }
168 inline void SetPeriod(
int value) { m_periodHasBeenSet =
true; m_period = value; }
178 inline void SetThreshold(
double value) { m_thresholdHasBeenSet =
true; m_threshold = value; }
189 inline void SetDatapointsToAlarm(
int value) { m_datapointsToAlarmHasBeenSet =
true; m_datapointsToAlarm = value; }
278 template<
typename ContactProtocolsT = Aws::Vector<ContactProtocol>>
279 void SetContactProtocols(ContactProtocolsT&& value) { m_contactProtocolsHasBeenSet =
true; m_contactProtocols = std::forward<ContactProtocolsT>(value); }
280 template<
typename ContactProtocolsT = Aws::Vector<ContactProtocol>>
291 template<
typename NotificationTriggersT = Aws::Vector<AlarmState>>
292 void SetNotificationTriggers(NotificationTriggersT&& value) { m_notificationTriggersHasBeenSet =
true; m_notificationTriggers = std::forward<NotificationTriggersT>(value); }
293 template<
typename NotificationTriggersT = Aws::Vector<AlarmState>>
304 inline void SetNotificationEnabled(
bool value) { m_notificationEnabledHasBeenSet =
true; m_notificationEnabled = value; }
310 bool m_nameHasBeenSet =
false;
313 bool m_arnHasBeenSet =
false;
316 bool m_createdAtHasBeenSet =
false;
318 ResourceLocation m_location;
319 bool m_locationHasBeenSet =
false;
322 bool m_resourceTypeHasBeenSet =
false;
325 bool m_supportCodeHasBeenSet =
false;
327 MonitoredResourceInfo m_monitoredResourceInfo;
328 bool m_monitoredResourceInfoHasBeenSet =
false;
331 bool m_comparisonOperatorHasBeenSet =
false;
333 int m_evaluationPeriods{0};
334 bool m_evaluationPeriodsHasBeenSet =
false;
337 bool m_periodHasBeenSet =
false;
339 double m_threshold{0.0};
340 bool m_thresholdHasBeenSet =
false;
342 int m_datapointsToAlarm{0};
343 bool m_datapointsToAlarmHasBeenSet =
false;
346 bool m_treatMissingDataHasBeenSet =
false;
349 bool m_statisticHasBeenSet =
false;
352 bool m_metricNameHasBeenSet =
false;
355 bool m_stateHasBeenSet =
false;
358 bool m_unitHasBeenSet =
false;
361 bool m_contactProtocolsHasBeenSet =
false;
364 bool m_notificationTriggersHasBeenSet =
false;
366 bool m_notificationEnabled{
false};
367 bool m_notificationEnabledHasBeenSet =
false;
void SetSupportCode(SupportCodeT &&value)
bool CreatedAtHasBeenSet() const
void SetThreshold(double value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
ResourceType GetResourceType() const
Alarm & WithArn(ArnT &&value)
Alarm & WithContactProtocols(ContactProtocolsT &&value)
double GetThreshold() const
void SetContactProtocols(ContactProtocolsT &&value)
bool GetNotificationEnabled() const
bool ThresholdHasBeenSet() const
Alarm & AddContactProtocols(ContactProtocol value)
Alarm & WithUnit(MetricUnit value)
void SetResourceType(ResourceType value)
Alarm & WithMonitoredResourceInfo(MonitoredResourceInfoT &&value)
bool LocationHasBeenSet() const
ComparisonOperator GetComparisonOperator() const
void SetCreatedAt(CreatedAtT &&value)
Alarm & WithCreatedAt(CreatedAtT &&value)
void SetNotificationEnabled(bool value)
const Aws::String & GetName() const
void SetArn(ArnT &&value)
MetricStatistic GetStatistic() const
bool TreatMissingDataHasBeenSet() const
const Aws::Vector< AlarmState > & GetNotificationTriggers() const
void SetMetricName(MetricName value)
Alarm & WithPeriod(int value)
void SetLocation(LocationT &&value)
Alarm & AddNotificationTriggers(AlarmState value)
void SetPeriod(int value)
bool MetricNameHasBeenSet() const
int GetDatapointsToAlarm() const
bool NameHasBeenSet() const
void SetDatapointsToAlarm(int value)
Alarm & WithNotificationEnabled(bool value)
AWS_LIGHTSAIL_API Alarm(Aws::Utils::Json::JsonView jsonValue)
Alarm & WithName(NameT &&value)
bool DatapointsToAlarmHasBeenSet() const
const MonitoredResourceInfo & GetMonitoredResourceInfo() const
bool UnitHasBeenSet() const
bool EvaluationPeriodsHasBeenSet() const
Alarm & WithNotificationTriggers(NotificationTriggersT &&value)
bool ResourceTypeHasBeenSet() const
void SetNotificationTriggers(NotificationTriggersT &&value)
void SetComparisonOperator(ComparisonOperator value)
Alarm & WithComparisonOperator(ComparisonOperator value)
Alarm & WithMetricName(MetricName value)
void SetEvaluationPeriods(int value)
void SetName(NameT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
const Aws::String & GetSupportCode() const
int GetEvaluationPeriods() const
Alarm & WithSupportCode(SupportCodeT &&value)
MetricUnit GetUnit() const
AWS_LIGHTSAIL_API Alarm()=default
void SetState(AlarmState value)
Alarm & WithEvaluationPeriods(int value)
void SetStatistic(MetricStatistic value)
Alarm & WithThreshold(double value)
bool ArnHasBeenSet() const
const Aws::Vector< ContactProtocol > & GetContactProtocols() const
bool StatisticHasBeenSet() const
Alarm & WithStatistic(MetricStatistic value)
void SetTreatMissingData(TreatMissingData value)
bool ComparisonOperatorHasBeenSet() const
Alarm & WithLocation(LocationT &&value)
bool MonitoredResourceInfoHasBeenSet() const
Alarm & WithResourceType(ResourceType value)
bool NotificationEnabledHasBeenSet() const
const Aws::String & GetArn() const
AWS_LIGHTSAIL_API Alarm & operator=(Aws::Utils::Json::JsonView jsonValue)
Alarm & WithDatapointsToAlarm(int value)
bool NotificationTriggersHasBeenSet() const
bool SupportCodeHasBeenSet() const
void SetMonitoredResourceInfo(MonitoredResourceInfoT &&value)
void SetUnit(MetricUnit value)
bool PeriodHasBeenSet() const
TreatMissingData GetTreatMissingData() const
const ResourceLocation & GetLocation() const
AlarmState GetState() const
Alarm & WithTreatMissingData(TreatMissingData value)
bool StateHasBeenSet() const
MetricName GetMetricName() const
bool ContactProtocolsHasBeenSet() const
Alarm & WithState(AlarmState value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue