/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudwatch.model; import java.io.Serializable; import javax.annotation.Generated; /** *

* This structure defines the metric to be returned, along with the statistics, period, and units. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class MetricStat implements Serializable, Cloneable { /** *

* The metric to return, including the metric name, namespace, and dimensions. *

*/ private Metric metric; /** *

* 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, 30, 60, or any multiple of 60. High-resolution * metrics are those metrics stored by a PutMetricData call that includes a * StorageResolution of 1 second. *

*

* If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify * the period as follows or no data points in that time range is returned: *

* */ private Integer period; /** *

* The statistic to return. It can include any CloudWatch statistic or extended statistic. *

*/ private String stat; /** *

* When you are using a Put operation, this defines what unit you want to use when storing the metric. *

*

* In a Get operation, if you omit Unit then all data that was collected with any unit is * returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you * specify a unit, the operation returns only data that was collected with that unit specified. If you specify a * unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform * unit conversions. *

*/ private String unit; /** *

* The metric to return, including the metric name, namespace, and dimensions. *

* * @param metric * The metric to return, including the metric name, namespace, and dimensions. */ public void setMetric(Metric metric) { this.metric = metric; } /** *

* The metric to return, including the metric name, namespace, and dimensions. *

* * @return The metric to return, including the metric name, namespace, and dimensions. */ public Metric getMetric() { return this.metric; } /** *

* The metric to return, including the metric name, namespace, and dimensions. *

* * @param metric * The metric to return, including the metric name, namespace, and dimensions. * @return Returns a reference to this object so that method calls can be chained together. */ public MetricStat withMetric(Metric metric) { setMetric(metric); return this; } /** *

* 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, 30, 60, or any multiple of 60. High-resolution * metrics are those metrics stored by a PutMetricData call that includes a * StorageResolution of 1 second. *

*

* If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify * the period as follows or no data points in that time range is returned: *

* * * @param period * 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, 30, 60, or any multiple of * 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a * StorageResolution of 1 second.

*

* If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must * specify the period as follows or no data points in that time range is returned: *

*