Class: AWSCDK::CloudWatch::CfnAlarm::MetricDataQueryProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CloudWatch::CfnAlarm::MetricDataQueryProperty
- 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
-
#account_id ⇒ String?
readonly
The ID of the account where the metrics are located, if this is a cross-account alarm.
-
#expression ⇒ String?
readonly
The math expression to be performed on the returned data, if this object is performing a math expression.
-
#id ⇒ String
readonly
A short name used to tie this object to the results in the response.
-
#label ⇒ String?
readonly
A human-readable label for this metric or expression.
-
#metric_stat ⇒ AWSCDK::IResolvable, ...
readonly
The metric to be returned, along with statistics, period, and units.
-
#period ⇒ Numeric?
readonly
The granularity, in seconds, of the returned data points.
-
#return_data ⇒ Boolean, ...
readonly
This option indicates whether to return the timestamps and raw data values of this metric.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(id:, account_id: nil, expression: nil, label: nil, metric_stat: nil, period: nil, return_data: nil) ⇒ MetricDataQueryProperty
constructor
A new instance of MetricDataQueryProperty.
- #to_jsii ⇒ Object
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.
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 = 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_id ⇒ String? (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 @account_id end |
#expression ⇒ String? (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 |
#id ⇒ String (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 |
#label ⇒ String? (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_stat ⇒ AWSCDK::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 |
#period ⇒ Numeric? (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_data ⇒ Boolean, ... (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_properties ⇒ Object
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_jsii ⇒ Object
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 |