Class: AWSCDK::CloudWatch::CfnAlarm::MetricDataQueryProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_watch/cfn_alarm.rb

Overview

The MetricDataQuery property type specifies the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data.

Any expression used must return a single time series. For more information, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, account_id: nil, expression: nil, label: nil, metric_stat: nil, period: nil, return_data: nil) ⇒ MetricDataQueryProperty

Returns a new instance of MetricDataQueryProperty.

Parameters:

  • id (String)

    A short name used to tie this object to the results in the response.

  • account_id (String, nil) (defaults to: nil)

    The ID of the account where the metrics are located, if this is a cross-account alarm.

  • expression (String, nil) (defaults to: nil)

    The math expression to be performed on the returned data, if this object is performing a math expression.

  • label (String, nil) (defaults to: nil)

    A human-readable label for this metric or expression.

  • metric_stat (AWSCDK::IResolvable, AWSCDK::CloudWatch::CfnAlarm::MetricStatProperty, nil) (defaults to: nil)

    The metric to be returned, along with statistics, period, and units.

  • period (Numeric, nil) (defaults to: nil)

    The granularity, in seconds, of the returned data points.

  • return_data (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    This option indicates whether to return the timestamps and raw data values of this metric.



996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
# File 'cloud_watch/cfn_alarm.rb', line 996

def initialize(id:, account_id: nil, expression: nil, label: nil, metric_stat: nil, period: nil, return_data: nil)
  @id = id
  Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  @account_id = 
  Jsii::Type.check_type(@account_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accountId") unless @account_id.nil?
  @expression = expression
  Jsii::Type.check_type(@expression, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "expression") unless @expression.nil?
  @label = label
  Jsii::Type.check_type(@label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "label") unless @label.nil?
  @metric_stat = metric_stat.is_a?(Hash) ? ::AWSCDK::CloudWatch::CfnAlarm::MetricStatProperty.new(**metric_stat.transform_keys(&:to_sym)) : metric_stat
  Jsii::Type.check_type(@metric_stat, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZHdhdGNoLkNmbkFsYXJtLk1ldHJpY1N0YXRQcm9wZXJ0eSJ9XX19")), "metricStat") unless @metric_stat.nil?
  @period = period
  Jsii::Type.check_type(@period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "period") unless @period.nil?
  @return_data = return_data
  Jsii::Type.check_type(@return_data, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "returnData") unless @return_data.nil?
end

Instance Attribute Details

#account_idString? (readonly)

The ID of the account where the metrics are located, if this is a cross-account alarm.



1024
1025
1026
# File 'cloud_watch/cfn_alarm.rb', line 1024

def 
  @account_id
end

#expressionString? (readonly)

The math expression to be performed on the returned data, if this object is performing a math expression.

This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide .

Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.



1033
1034
1035
# File 'cloud_watch/cfn_alarm.rb', line 1033

def expression
  @expression
end

#idString (readonly)

A short name used to tie this object to the results in the response.

This name must be unique within a single call to GetMetricData . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.



1019
1020
1021
# File 'cloud_watch/cfn_alarm.rb', line 1019

def id
  @id
end

#labelString? (readonly)

A human-readable label for this metric or expression.

This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.



1040
1041
1042
# File 'cloud_watch/cfn_alarm.rb', line 1040

def label
  @label
end

#metric_statAWSCDK::IResolvable, ... (readonly)

The metric to be returned, along with statistics, period, and units.

Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

Within one MetricDataQuery object, you must specify either Expression or MetricStat but not both.



1049
1050
1051
# File 'cloud_watch/cfn_alarm.rb', line 1049

def metric_stat
  @metric_stat
end

#periodNumeric? (readonly)

The granularity, in seconds, of the returned data points.

For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData operation that includes a StorageResolution of 1 second .



1056
1057
1058
# File 'cloud_watch/cfn_alarm.rb', line 1056

def period
  @period
end

#return_dataBoolean, ... (readonly)

This option indicates whether to return the timestamps and raw data values of this metric.

When you create an alarm based on a metric math expression, specify True for this value for only the one math expression that the alarm is based on. You must specify False for ReturnData for all the other metrics and expressions used in the alarm.

This field is required.



1065
1066
1067
# File 'cloud_watch/cfn_alarm.rb', line 1065

def return_data
  @return_data
end

Class Method Details

.jsii_propertiesObject



1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
# File 'cloud_watch/cfn_alarm.rb', line 1067

def self.jsii_properties
  {
    :id => "id",
    :account_id => "accountId",
    :expression => "expression",
    :label => "label",
    :metric_stat => "metricStat",
    :period => "period",
    :return_data => "returnData",
  }
end

Instance Method Details

#to_jsiiObject



1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
# File 'cloud_watch/cfn_alarm.rb', line 1079

def to_jsii
  result = {}
  result.merge!({
    "id" => @id,
    "accountId" => @account_id,
    "expression" => @expression,
    "label" => @label,
    "metricStat" => @metric_stat,
    "period" => @period,
    "returnData" => @return_data,
  })
  result.compact
end