Class GetMetricDataRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<GetMetricDataRequest.Builder,GetMetricDataRequest>

@Generated("software.amazon.awssdk:codegen") public final class GetMetricDataRequest extends CloudWatchRequest implements ToCopyableBuilder<GetMetricDataRequest.Builder,GetMetricDataRequest>
  • Method Details

    • hasMetricDataQueries

      public final boolean hasMetricDataQueries()
      For responses, this returns true if the service returned a value for the MetricDataQueries property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • metricDataQueries

      public final List<MetricDataQuery> metricDataQueries()

      The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMetricDataQueries() method.

      Returns:
      The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    • startTime

      public final Instant startTime()

      The time stamp indicating the earliest data to be returned.

      The value specified is inclusive; results include data points with the specified time stamp.

      CloudWatch rounds the specified time stamp as follows:

      • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

      • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

      • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

      If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

      For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.

      Returns:
      The time stamp indicating the earliest data to be returned.

      The value specified is inclusive; results include data points with the specified time stamp.

      CloudWatch rounds the specified time stamp as follows:

      • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

      • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

      • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

      If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

      For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.

    • endTime

      public final Instant endTime()

      The time stamp indicating the latest data to be returned.

      The value specified is exclusive; results include data points up to the specified time stamp.

      For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime.

      Returns:
      The time stamp indicating the latest data to be returned.

      The value specified is exclusive; results include data points up to the specified time stamp.

      For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime.

    • nextToken

      public final String nextToken()

      Include this value, if it was returned by the previous GetMetricData operation, to get the next set of data points.

      Returns:
      Include this value, if it was returned by the previous GetMetricData operation, to get the next set of data points.
    • scanBy

      public final ScanBy scanBy()

      The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

      If you omit this parameter, the default of TimestampDescending is used.

      If the service returns an enum value that is not available in the current SDK version, scanBy will return ScanBy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from scanByAsString().

      Returns:
      The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

      If you omit this parameter, the default of TimestampDescending is used.

      See Also:
    • scanByAsString

      public final String scanByAsString()

      The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

      If you omit this parameter, the default of TimestampDescending is used.

      If the service returns an enum value that is not available in the current SDK version, scanBy will return ScanBy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from scanByAsString().

      Returns:
      The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

      If you omit this parameter, the default of TimestampDescending is used.

      See Also:
    • maxDatapoints

      public final Integer maxDatapoints()

      The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used.

      Returns:
      The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used.
    • labelOptions

      public final LabelOptions labelOptions()

      This structure includes the Timezone parameter, which you can use to specify your time zone so that the labels of returned data display the correct time for your time zone.

      Returns:
      This structure includes the Timezone parameter, which you can use to specify your time zone so that the labels of returned data display the correct time for your time zone.
    • toBuilder

      public GetMetricDataRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<GetMetricDataRequest.Builder,GetMetricDataRequest>
      Specified by:
      toBuilder in class CloudWatchRequest
      Returns:
      a builder for type T
    • builder

      public static GetMetricDataRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends GetMetricDataRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.