You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CloudWatch::Types::PutMetricAlarmInput

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb

Overview

Note:

When making an API call, you may pass PutMetricAlarmInput data as a hash:

{
  alarm_name: "AlarmName", # required
  alarm_description: "AlarmDescription",
  actions_enabled: false,
  ok_actions: ["ResourceName"],
  alarm_actions: ["ResourceName"],
  insufficient_data_actions: ["ResourceName"],
  metric_name: "MetricName", # required
  namespace: "Namespace", # required
  statistic: "SampleCount", # accepts SampleCount, Average, Sum, Minimum, Maximum
  extended_statistic: "ExtendedStatistic",
  dimensions: [
    {
      name: "DimensionName", # required
      value: "DimensionValue", # required
    },
  ],
  period: 1, # required
  unit: "Seconds", # accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
  evaluation_periods: 1, # required
  datapoints_to_alarm: 1,
  threshold: 1.0, # required
  comparison_operator: "GreaterThanOrEqualToThreshold", # required, accepts GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold
  treat_missing_data: "TreatMissingData",
  evaluate_low_sample_count_percentile: "EvaluateLowSampleCountPercentile",
}

Instance Attribute Summary collapse

Instance Attribute Details

#actions_enabledBoolean

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

Returns:

  • (Boolean)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#alarm_actionsArray<String>

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Returns:

  • (Array<String>)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#alarm_descriptionString

The description for the alarm.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#alarm_nameString

The name for the alarm. This name must be unique within the AWS account.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#comparison_operatorString

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

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#datapoints_to_alarmInteger

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

Returns:

  • (Integer)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#dimensionsArray<Types::Dimension>

The dimensions for the metric associated with the alarm.

Returns:



1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#evaluate_low_sample_count_percentileString

Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#evaluation_periodsInteger

The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

Returns:

  • (Integer)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#extended_statisticString

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100. When you call PutMetricAlarm, you must specify either Statistic or ExtendedStatistic, but not both.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#insufficient_data_actionsArray<String>

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Returns:

  • (Array<String>)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#metric_nameString

The name for the metric associated with the alarm.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#namespaceString

The namespace for the metric associated with the alarm.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#ok_actionsArray<String>

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id\}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Returns:

  • (Array<String>)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#periodInteger

The period, in seconds, over which the specified statistic is applied. Valid values are 10, 30, and any multiple of 60.

Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a Period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

Returns:

  • (Integer)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#statisticString

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm, you must specify either Statistic or ExtendedStatistic, but not both.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#thresholdFloat

The value against which the specified statistic is compared.

Returns:

  • (Float)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#treat_missing_dataString

Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

Valid Values: breaching | notBreaching | ignore | missing

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end

#unitString

The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

If you specify a unit, you must use a unit that is appropriate for the metric. Otherwise, the CloudWatch alarm can get stuck in the INSUFFICIENT DATA state.

Returns:

  • (String)


1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'gems/aws-sdk-cloudwatch/lib/aws-sdk-cloudwatch/types.rb', line 1318

class PutMetricAlarmInput < Struct.new(
  :alarm_name,
  :alarm_description,
  :actions_enabled,
  :ok_actions,
  :alarm_actions,
  :insufficient_data_actions,
  :metric_name,
  :namespace,
  :statistic,
  :extended_statistic,
  :dimensions,
  :period,
  :unit,
  :evaluation_periods,
  :datapoints_to_alarm,
  :threshold,
  :comparison_operator,
  :treat_missing_data,
  :evaluate_low_sample_count_percentile)
  include Aws::Structure
end