/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace CodeGuruProfiler { namespace Model { /** *

The structure representing the BatchGetFrameMetricDataResponse.

See * Also:

AWS * API Reference

*/ class AWS_CODEGURUPROFILER_API BatchGetFrameMetricDataResult { public: BatchGetFrameMetricDataResult(); BatchGetFrameMetricDataResult(const Aws::AmazonWebServiceResult& result); BatchGetFrameMetricDataResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The end time of the time period for the returned time series values. This is * specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The end time of the time period for the returned time series values. This is * specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } /** *

The end time of the time period for the returned time series values. This is * specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } /** *

The end time of the time period for the returned time series values. This is * specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline BatchGetFrameMetricDataResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The end time of the time period for the returned time series values. This is * specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline BatchGetFrameMetricDataResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline const Aws::Vector& GetEndTimes() const{ return m_endTimes; } /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline void SetEndTimes(const Aws::Vector& value) { m_endTimes = value; } /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline void SetEndTimes(Aws::Vector&& value) { m_endTimes = std::move(value); } /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline BatchGetFrameMetricDataResult& WithEndTimes(const Aws::Vector& value) { SetEndTimes(value); return *this;} /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline BatchGetFrameMetricDataResult& WithEndTimes(Aws::Vector&& value) { SetEndTimes(std::move(value)); return *this;} /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline BatchGetFrameMetricDataResult& AddEndTimes(const TimestampStructure& value) { m_endTimes.push_back(value); return *this; } /** *

List of instances, or time steps, in the time series. For example, if the * period is one day (PT24H)), and the * resolution is five minutes (PT5M), then there are 288 * endTimes in the list that are each five minutes appart.

*/ inline BatchGetFrameMetricDataResult& AddEndTimes(TimestampStructure&& value) { m_endTimes.push_back(std::move(value)); return *this; } /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline const Aws::Vector& GetFrameMetricData() const{ return m_frameMetricData; } /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline void SetFrameMetricData(const Aws::Vector& value) { m_frameMetricData = value; } /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline void SetFrameMetricData(Aws::Vector&& value) { m_frameMetricData = std::move(value); } /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline BatchGetFrameMetricDataResult& WithFrameMetricData(const Aws::Vector& value) { SetFrameMetricData(value); return *this;} /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline BatchGetFrameMetricDataResult& WithFrameMetricData(Aws::Vector&& value) { SetFrameMetricData(std::move(value)); return *this;} /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline BatchGetFrameMetricDataResult& AddFrameMetricData(const FrameMetricDatum& value) { m_frameMetricData.push_back(value); return *this; } /** *

Details of the metrics to request a time series of values. The metric * includes the name of the frame, the aggregation type to calculate the metric * value for the frame, and the thread states to use to get the count for the * metric value of the frame.

*/ inline BatchGetFrameMetricDataResult& AddFrameMetricData(FrameMetricDatum&& value) { m_frameMetricData.push_back(std::move(value)); return *this; } /** *

Resolution or granularity of the profile data used to generate the time * series. This is the value used to jump through time steps in a time series. * There are 3 valid values.

  • P1D — 1 day

  • *
  • PT1H — 1 hour

  • PT5M — 5 * minutes

*/ inline const AggregationPeriod& GetResolution() const{ return m_resolution; } /** *

Resolution or granularity of the profile data used to generate the time * series. This is the value used to jump through time steps in a time series. * There are 3 valid values.

  • P1D — 1 day

  • *
  • PT1H — 1 hour

  • PT5M — 5 * minutes

*/ inline void SetResolution(const AggregationPeriod& value) { m_resolution = value; } /** *

Resolution or granularity of the profile data used to generate the time * series. This is the value used to jump through time steps in a time series. * There are 3 valid values.

  • P1D — 1 day

  • *
  • PT1H — 1 hour

  • PT5M — 5 * minutes

*/ inline void SetResolution(AggregationPeriod&& value) { m_resolution = std::move(value); } /** *

Resolution or granularity of the profile data used to generate the time * series. This is the value used to jump through time steps in a time series. * There are 3 valid values.

  • P1D — 1 day

  • *
  • PT1H — 1 hour

  • PT5M — 5 * minutes

*/ inline BatchGetFrameMetricDataResult& WithResolution(const AggregationPeriod& value) { SetResolution(value); return *this;} /** *

Resolution or granularity of the profile data used to generate the time * series. This is the value used to jump through time steps in a time series. * There are 3 valid values.

  • P1D — 1 day

  • *
  • PT1H — 1 hour

  • PT5M — 5 * minutes

*/ inline BatchGetFrameMetricDataResult& WithResolution(AggregationPeriod&& value) { SetResolution(std::move(value)); return *this;} /** *

The start time of the time period for the returned time series values. This * is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The start time of the time period for the returned time series values. This * is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } /** *

The start time of the time period for the returned time series values. This * is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } /** *

The start time of the time period for the returned time series values. This * is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline BatchGetFrameMetricDataResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The start time of the time period for the returned time series values. This * is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z * represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

*/ inline BatchGetFrameMetricDataResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline const Aws::Map>& GetUnprocessedEndTimes() const{ return m_unprocessedEndTimes; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline void SetUnprocessedEndTimes(const Aws::Map>& value) { m_unprocessedEndTimes = value; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline void SetUnprocessedEndTimes(Aws::Map>&& value) { m_unprocessedEndTimes = std::move(value); } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& WithUnprocessedEndTimes(const Aws::Map>& value) { SetUnprocessedEndTimes(value); return *this;} /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& WithUnprocessedEndTimes(Aws::Map>&& value) { SetUnprocessedEndTimes(std::move(value)); return *this;} /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(const Aws::String& key, const Aws::Vector& value) { m_unprocessedEndTimes.emplace(key, value); return *this; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(Aws::String&& key, const Aws::Vector& value) { m_unprocessedEndTimes.emplace(std::move(key), value); return *this; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(const Aws::String& key, Aws::Vector&& value) { m_unprocessedEndTimes.emplace(key, std::move(value)); return *this; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(Aws::String&& key, Aws::Vector&& value) { m_unprocessedEndTimes.emplace(std::move(key), std::move(value)); return *this; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(const char* key, Aws::Vector&& value) { m_unprocessedEndTimes.emplace(key, std::move(value)); return *this; } /** *

List of instances which remained unprocessed. This will create a missing time * step in the list of end times.

*/ inline BatchGetFrameMetricDataResult& AddUnprocessedEndTimes(const char* key, const Aws::Vector& value) { m_unprocessedEndTimes.emplace(key, value); return *this; } private: Aws::Utils::DateTime m_endTime; Aws::Vector m_endTimes; Aws::Vector m_frameMetricData; AggregationPeriod m_resolution; Aws::Utils::DateTime m_startTime; Aws::Map> m_unprocessedEndTimes; }; } // namespace Model } // namespace CodeGuruProfiler } // namespace Aws