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

Specifies an alarm and associates it with the specified metric or metric math * expression.

See Also:

AWS * API Reference

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

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline bool GetActionsEnabled() const{ return m_actionsEnabled; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline bool ActionsEnabledHasBeenSet() const { return m_actionsEnabledHasBeenSet; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline void SetActionsEnabled(bool value) { m_actionsEnabledHasBeenSet = true; m_actionsEnabled = value; } /** *

Indicates whether actions should be executed during any changes to the alarm * state.

*/ inline AwsCloudWatchAlarmDetails& WithActionsEnabled(bool value) { SetActionsEnabled(value); return *this;} /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline const Aws::Vector& GetAlarmActions() const{ return m_alarmActions; } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline bool AlarmActionsHasBeenSet() const { return m_alarmActionsHasBeenSet; } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline void SetAlarmActions(const Aws::Vector& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = value; } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline void SetAlarmActions(Aws::Vector&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = std::move(value); } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmActions(const Aws::Vector& value) { SetAlarmActions(value); return *this;} /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmActions(Aws::Vector&& value) { SetAlarmActions(std::move(value)); return *this;} /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline AwsCloudWatchAlarmDetails& AddAlarmActions(const Aws::String& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline AwsCloudWatchAlarmDetails& AddAlarmActions(Aws::String&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(std::move(value)); return *this; } /** *

The list of actions, specified as Amazon Resource Names (ARNs) to execute * when this alarm transitions into an ALARM state from any other * state.

*/ inline AwsCloudWatchAlarmDetails& AddAlarmActions(const char* value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; } /** *

The ARN of the alarm.

*/ inline const Aws::String& GetAlarmArn() const{ return m_alarmArn; } /** *

The ARN of the alarm.

*/ inline bool AlarmArnHasBeenSet() const { return m_alarmArnHasBeenSet; } /** *

The ARN of the alarm.

*/ inline void SetAlarmArn(const Aws::String& value) { m_alarmArnHasBeenSet = true; m_alarmArn = value; } /** *

The ARN of the alarm.

*/ inline void SetAlarmArn(Aws::String&& value) { m_alarmArnHasBeenSet = true; m_alarmArn = std::move(value); } /** *

The ARN of the alarm.

*/ inline void SetAlarmArn(const char* value) { m_alarmArnHasBeenSet = true; m_alarmArn.assign(value); } /** *

The ARN of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmArn(const Aws::String& value) { SetAlarmArn(value); return *this;} /** *

The ARN of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmArn(Aws::String&& value) { SetAlarmArn(std::move(value)); return *this;} /** *

The ARN of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmArn(const char* value) { SetAlarmArn(value); return *this;} /** *

The time stamp of the last update to the alarm configuration.

*/ inline const Aws::String& GetAlarmConfigurationUpdatedTimestamp() const{ return m_alarmConfigurationUpdatedTimestamp; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline bool AlarmConfigurationUpdatedTimestampHasBeenSet() const { return m_alarmConfigurationUpdatedTimestampHasBeenSet; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline void SetAlarmConfigurationUpdatedTimestamp(const Aws::String& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = value; } /** *

The time stamp of the last update to the alarm configuration.

*/ inline void SetAlarmConfigurationUpdatedTimestamp(Aws::String&& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = std::move(value); } /** *

The time stamp of the last update to the alarm configuration.

*/ inline void SetAlarmConfigurationUpdatedTimestamp(const char* value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp.assign(value); } /** *

The time stamp of the last update to the alarm configuration.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmConfigurationUpdatedTimestamp(const Aws::String& value) { SetAlarmConfigurationUpdatedTimestamp(value); return *this;} /** *

The time stamp of the last update to the alarm configuration.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmConfigurationUpdatedTimestamp(Aws::String&& value) { SetAlarmConfigurationUpdatedTimestamp(std::move(value)); return *this;} /** *

The time stamp of the last update to the alarm configuration.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmConfigurationUpdatedTimestamp(const char* value) { SetAlarmConfigurationUpdatedTimestamp(value); return *this;} /** *

The description of the alarm.

*/ inline const Aws::String& GetAlarmDescription() const{ return m_alarmDescription; } /** *

The description of the alarm.

*/ inline bool AlarmDescriptionHasBeenSet() const { return m_alarmDescriptionHasBeenSet; } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(const Aws::String& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = value; } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(Aws::String&& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = std::move(value); } /** *

The description of the alarm.

*/ inline void SetAlarmDescription(const char* value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription.assign(value); } /** *

The description of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmDescription(const Aws::String& value) { SetAlarmDescription(value); return *this;} /** *

The description of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmDescription(Aws::String&& value) { SetAlarmDescription(std::move(value)); return *this;} /** *

The description of the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmDescription(const char* value) { SetAlarmDescription(value); return *this;} /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline const Aws::String& GetAlarmName() const{ return m_alarmName; } /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; } /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; } /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); } /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); } /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;} /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;} /** *

The name of the alarm. If you don't specify a name, CloudFront generates a * unique physical ID and uses that ID for the alarm name.

*/ inline AwsCloudWatchAlarmDetails& WithAlarmName(const char* value) { SetAlarmName(value); return *this;} /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline const Aws::String& GetComparisonOperator() const{ return m_comparisonOperator; } /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline void SetComparisonOperator(const Aws::String& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline void SetComparisonOperator(Aws::String&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline void SetComparisonOperator(const char* value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator.assign(value); } /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline AwsCloudWatchAlarmDetails& WithComparisonOperator(const Aws::String& value) { SetComparisonOperator(value); return *this;} /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline AwsCloudWatchAlarmDetails& WithComparisonOperator(Aws::String&& value) { SetComparisonOperator(std::move(value)); return *this;} /** *

The arithmetic operation to use when comparing the specified statistic and * threshold. The specified statistic value is used as the first operand.

*/ inline AwsCloudWatchAlarmDetails& WithComparisonOperator(const char* value) { SetComparisonOperator(value); return *this;} /** *

The number of datapoints that must be breaching to trigger the alarm.

*/ inline int GetDatapointsToAlarm() const{ return m_datapointsToAlarm; } /** *

The number of datapoints that must be breaching to trigger the alarm.

*/ inline bool DatapointsToAlarmHasBeenSet() const { return m_datapointsToAlarmHasBeenSet; } /** *

The number of datapoints that must be breaching to trigger the alarm.

*/ inline void SetDatapointsToAlarm(int value) { m_datapointsToAlarmHasBeenSet = true; m_datapointsToAlarm = value; } /** *

The number of datapoints that must be breaching to trigger the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithDatapointsToAlarm(int value) { SetDatapointsToAlarm(value); return *this;} /** *

The dimensions for the metric associated with the alarm.

*/ inline const Aws::Vector& GetDimensions() const{ return m_dimensions; } /** *

The dimensions for the metric associated with the alarm.

*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

The dimensions for the metric associated with the alarm.

*/ inline void SetDimensions(const Aws::Vector& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

The dimensions for the metric associated with the alarm.

*/ inline void SetDimensions(Aws::Vector&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

The dimensions for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithDimensions(const Aws::Vector& value) { SetDimensions(value); return *this;} /** *

The dimensions for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithDimensions(Aws::Vector&& value) { SetDimensions(std::move(value)); return *this;} /** *

The dimensions for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& AddDimensions(const AwsCloudWatchAlarmDimensionsDetails& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } /** *

The dimensions for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& AddDimensions(AwsCloudWatchAlarmDimensionsDetails&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline const Aws::String& GetEvaluateLowSampleCountPercentile() const{ return m_evaluateLowSampleCountPercentile; } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline bool EvaluateLowSampleCountPercentileHasBeenSet() const { return m_evaluateLowSampleCountPercentileHasBeenSet; } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline void SetEvaluateLowSampleCountPercentile(const Aws::String& value) { m_evaluateLowSampleCountPercentileHasBeenSet = true; m_evaluateLowSampleCountPercentile = value; } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline void SetEvaluateLowSampleCountPercentile(Aws::String&& value) { m_evaluateLowSampleCountPercentileHasBeenSet = true; m_evaluateLowSampleCountPercentile = std::move(value); } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline void SetEvaluateLowSampleCountPercentile(const char* value) { m_evaluateLowSampleCountPercentileHasBeenSet = true; m_evaluateLowSampleCountPercentile.assign(value); } /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline AwsCloudWatchAlarmDetails& WithEvaluateLowSampleCountPercentile(const Aws::String& value) { SetEvaluateLowSampleCountPercentile(value); return *this;} /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline AwsCloudWatchAlarmDetails& WithEvaluateLowSampleCountPercentile(Aws::String&& value) { SetEvaluateLowSampleCountPercentile(std::move(value)); return *this;} /** *

Used only for alarms based on percentiles. If ignore, the alarm * state does not change during periods with too few data points to be * statistically significant. If evaluate or this parameter is not * used, the alarm is always evaluated and possibly changes state no matter how * many data points are available.

*/ inline AwsCloudWatchAlarmDetails& WithEvaluateLowSampleCountPercentile(const char* value) { SetEvaluateLowSampleCountPercentile(value); return *this;} /** *

The number of periods over which data is compared to the specified threshold. *

*/ inline int GetEvaluationPeriods() const{ return m_evaluationPeriods; } /** *

The number of periods over which data is compared to the specified threshold. *

*/ inline bool EvaluationPeriodsHasBeenSet() const { return m_evaluationPeriodsHasBeenSet; } /** *

The number of periods over which data is compared to the specified threshold. *

*/ inline void SetEvaluationPeriods(int value) { m_evaluationPeriodsHasBeenSet = true; m_evaluationPeriods = value; } /** *

The number of periods over which data is compared to the specified threshold. *

*/ inline AwsCloudWatchAlarmDetails& WithEvaluationPeriods(int value) { SetEvaluationPeriods(value); return *this;} /** *

The percentile statistic for the metric associated with the alarm.

*/ inline const Aws::String& GetExtendedStatistic() const{ return m_extendedStatistic; } /** *

The percentile statistic for the metric associated with the alarm.

*/ inline bool ExtendedStatisticHasBeenSet() const { return m_extendedStatisticHasBeenSet; } /** *

The percentile statistic for the metric associated with the alarm.

*/ inline void SetExtendedStatistic(const Aws::String& value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic = value; } /** *

The percentile statistic for the metric associated with the alarm.

*/ inline void SetExtendedStatistic(Aws::String&& value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic = std::move(value); } /** *

The percentile statistic for the metric associated with the alarm.

*/ inline void SetExtendedStatistic(const char* value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic.assign(value); } /** *

The percentile statistic for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithExtendedStatistic(const Aws::String& value) { SetExtendedStatistic(value); return *this;} /** *

The percentile statistic for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithExtendedStatistic(Aws::String&& value) { SetExtendedStatistic(std::move(value)); return *this;} /** *

The percentile statistic for the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithExtendedStatistic(const char* value) { SetExtendedStatistic(value); return *this;} /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline const Aws::Vector& GetInsufficientDataActions() const{ return m_insufficientDataActions; } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline bool InsufficientDataActionsHasBeenSet() const { return m_insufficientDataActionsHasBeenSet; } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline void SetInsufficientDataActions(const Aws::Vector& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = value; } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline void SetInsufficientDataActions(Aws::Vector&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = std::move(value); } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& WithInsufficientDataActions(const Aws::Vector& value) { SetInsufficientDataActions(value); return *this;} /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& WithInsufficientDataActions(Aws::Vector&& value) { SetInsufficientDataActions(std::move(value)); return *this;} /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddInsufficientDataActions(const Aws::String& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddInsufficientDataActions(Aws::String&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(std::move(value)); return *this; } /** *

The actions to execute when this alarm transitions to the * INSUFFICIENT_DATA state from any other state. Each action is * specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddInsufficientDataActions(const char* value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline const Aws::String& GetMetricName() const{ return m_metricName; } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline AwsCloudWatchAlarmDetails& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline AwsCloudWatchAlarmDetails& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} /** *

The name of the metric associated with the alarm. This is required for an * alarm based on a metric. For an alarm based on a math expression, you use * Metrics instead and you can't specify MetricName.

*/ inline AwsCloudWatchAlarmDetails& WithMetricName(const char* value) { SetMetricName(value); return *this;} /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline AwsCloudWatchAlarmDetails& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline AwsCloudWatchAlarmDetails& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace of the metric associated with the alarm. This is required for * an alarm based on a metric. For an alarm based on a math expression, you can't * specify Namespace and you use Metrics instead.

*/ inline AwsCloudWatchAlarmDetails& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline const Aws::Vector& GetOkActions() const{ return m_okActions; } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline bool OkActionsHasBeenSet() const { return m_okActionsHasBeenSet; } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline void SetOkActions(const Aws::Vector& value) { m_okActionsHasBeenSet = true; m_okActions = value; } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline void SetOkActions(Aws::Vector&& value) { m_okActionsHasBeenSet = true; m_okActions = std::move(value); } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& WithOkActions(const Aws::Vector& value) { SetOkActions(value); return *this;} /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& WithOkActions(Aws::Vector&& value) { SetOkActions(std::move(value)); return *this;} /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddOkActions(const Aws::String& value) { m_okActionsHasBeenSet = true; m_okActions.push_back(value); return *this; } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddOkActions(Aws::String&& value) { m_okActionsHasBeenSet = true; m_okActions.push_back(std::move(value)); return *this; } /** *

The actions to execute when this alarm transitions to the OK * state from any other state. Each action is specified as an ARN.

*/ inline AwsCloudWatchAlarmDetails& AddOkActions(const char* value) { m_okActionsHasBeenSet = true; m_okActions.push_back(value); return *this; } /** *

The period, in seconds, over which the statistic is applied. This is required * for an alarm based on a metric.

*/ inline int GetPeriod() const{ return m_period; } /** *

The period, in seconds, over which the statistic is applied. This is required * for an alarm based on a metric.

*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *

The period, in seconds, over which the statistic is applied. This is required * for an alarm based on a metric.

*/ inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } /** *

The period, in seconds, over which the statistic is applied. This is required * for an alarm based on a metric.

*/ inline AwsCloudWatchAlarmDetails& WithPeriod(int value) { SetPeriod(value); return *this;} /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline const Aws::String& GetStatistic() const{ return m_statistic; } /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; } /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline void SetStatistic(const Aws::String& value) { m_statisticHasBeenSet = true; m_statistic = value; } /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline void SetStatistic(Aws::String&& value) { m_statisticHasBeenSet = true; m_statistic = std::move(value); } /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline void SetStatistic(const char* value) { m_statisticHasBeenSet = true; m_statistic.assign(value); } /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline AwsCloudWatchAlarmDetails& WithStatistic(const Aws::String& value) { SetStatistic(value); return *this;} /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline AwsCloudWatchAlarmDetails& WithStatistic(Aws::String&& value) { SetStatistic(std::move(value)); return *this;} /** *

The statistic for the metric associated with the alarm, other than * percentile. For percentile statistics, use ExtendedStatistic.

*

For an alarm based on a metric, you must specify either * Statistic or ExtendedStatistic but not both.

*

For an alarm based on a math expression, you can't specify * Statistic. Instead, you use Metrics.

*/ inline AwsCloudWatchAlarmDetails& WithStatistic(const char* value) { SetStatistic(value); return *this;} /** *

The value to compare with the specified statistic.

*/ inline double GetThreshold() const{ return m_threshold; } /** *

The value to compare with the specified statistic.

*/ inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } /** *

The value to compare with the specified statistic.

*/ inline void SetThreshold(double value) { m_thresholdHasBeenSet = true; m_threshold = value; } /** *

The value to compare with the specified statistic.

*/ inline AwsCloudWatchAlarmDetails& WithThreshold(double value) { SetThreshold(value); return *this;} /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline const Aws::String& GetThresholdMetricId() const{ return m_thresholdMetricId; } /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline bool ThresholdMetricIdHasBeenSet() const { return m_thresholdMetricIdHasBeenSet; } /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline void SetThresholdMetricId(const Aws::String& value) { m_thresholdMetricIdHasBeenSet = true; m_thresholdMetricId = value; } /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline void SetThresholdMetricId(Aws::String&& value) { m_thresholdMetricIdHasBeenSet = true; m_thresholdMetricId = std::move(value); } /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline void SetThresholdMetricId(const char* value) { m_thresholdMetricIdHasBeenSet = true; m_thresholdMetricId.assign(value); } /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline AwsCloudWatchAlarmDetails& WithThresholdMetricId(const Aws::String& value) { SetThresholdMetricId(value); return *this;} /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline AwsCloudWatchAlarmDetails& WithThresholdMetricId(Aws::String&& value) { SetThresholdMetricId(std::move(value)); return *this;} /** *

n an alarm based on an anomaly detection model, this is the ID of the * ANOMALY_DETECTION_BAND function used as the threshold for the * alarm.

*/ inline AwsCloudWatchAlarmDetails& WithThresholdMetricId(const char* value) { SetThresholdMetricId(value); return *this;} /** *

Sets how this alarm is to handle missing data points.

*/ inline const Aws::String& GetTreatMissingData() const{ return m_treatMissingData; } /** *

Sets how this alarm is to handle missing data points.

*/ inline bool TreatMissingDataHasBeenSet() const { return m_treatMissingDataHasBeenSet; } /** *

Sets how this alarm is to handle missing data points.

*/ inline void SetTreatMissingData(const Aws::String& value) { m_treatMissingDataHasBeenSet = true; m_treatMissingData = value; } /** *

Sets how this alarm is to handle missing data points.

*/ inline void SetTreatMissingData(Aws::String&& value) { m_treatMissingDataHasBeenSet = true; m_treatMissingData = std::move(value); } /** *

Sets how this alarm is to handle missing data points.

*/ inline void SetTreatMissingData(const char* value) { m_treatMissingDataHasBeenSet = true; m_treatMissingData.assign(value); } /** *

Sets how this alarm is to handle missing data points.

*/ inline AwsCloudWatchAlarmDetails& WithTreatMissingData(const Aws::String& value) { SetTreatMissingData(value); return *this;} /** *

Sets how this alarm is to handle missing data points.

*/ inline AwsCloudWatchAlarmDetails& WithTreatMissingData(Aws::String&& value) { SetTreatMissingData(std::move(value)); return *this;} /** *

Sets how this alarm is to handle missing data points.

*/ inline AwsCloudWatchAlarmDetails& WithTreatMissingData(const char* value) { SetTreatMissingData(value); return *this;} /** *

The unit of the metric associated with the alarm.

*/ inline const Aws::String& GetUnit() const{ return m_unit; } /** *

The unit of the metric associated with the alarm.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

The unit of the metric associated with the alarm.

*/ inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

The unit of the metric associated with the alarm.

*/ inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

The unit of the metric associated with the alarm.

*/ inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } /** *

The unit of the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} /** *

The unit of the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} /** *

The unit of the metric associated with the alarm.

*/ inline AwsCloudWatchAlarmDetails& WithUnit(const char* value) { SetUnit(value); return *this;} private: bool m_actionsEnabled; bool m_actionsEnabledHasBeenSet = false; Aws::Vector m_alarmActions; bool m_alarmActionsHasBeenSet = false; Aws::String m_alarmArn; bool m_alarmArnHasBeenSet = false; Aws::String m_alarmConfigurationUpdatedTimestamp; bool m_alarmConfigurationUpdatedTimestampHasBeenSet = false; Aws::String m_alarmDescription; bool m_alarmDescriptionHasBeenSet = false; Aws::String m_alarmName; bool m_alarmNameHasBeenSet = false; Aws::String m_comparisonOperator; bool m_comparisonOperatorHasBeenSet = false; int m_datapointsToAlarm; bool m_datapointsToAlarmHasBeenSet = false; Aws::Vector m_dimensions; bool m_dimensionsHasBeenSet = false; Aws::String m_evaluateLowSampleCountPercentile; bool m_evaluateLowSampleCountPercentileHasBeenSet = false; int m_evaluationPeriods; bool m_evaluationPeriodsHasBeenSet = false; Aws::String m_extendedStatistic; bool m_extendedStatisticHasBeenSet = false; Aws::Vector m_insufficientDataActions; bool m_insufficientDataActionsHasBeenSet = false; Aws::String m_metricName; bool m_metricNameHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::Vector m_okActions; bool m_okActionsHasBeenSet = false; int m_period; bool m_periodHasBeenSet = false; Aws::String m_statistic; bool m_statisticHasBeenSet = false; double m_threshold; bool m_thresholdHasBeenSet = false; Aws::String m_thresholdMetricId; bool m_thresholdMetricIdHasBeenSet = false; Aws::String m_treatMissingData; bool m_treatMissingDataHasBeenSet = false; Aws::String m_unit; bool m_unitHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws