This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/model/BatchGetFrameMetricDataRequest.h

402 lines
19 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/codeguruprofiler/CodeGuruProfiler_EXPORTS.h>
#include <aws/codeguruprofiler/CodeGuruProfilerRequest.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/codeguruprofiler/model/AggregationPeriod.h>
#include <aws/codeguruprofiler/model/FrameMetric.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace CodeGuruProfiler
{
namespace Model
{
/**
* <p>The structure representing the BatchGetFrameMetricDataRequest.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricDataRequest">AWS
* API Reference</a></p>
*/
class AWS_CODEGURUPROFILER_API BatchGetFrameMetricDataRequest : public CodeGuruProfilerRequest
{
public:
BatchGetFrameMetricDataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "BatchGetFrameMetricData"; }
Aws::String SerializePayload() const override;
void AddQueryStringParameters(Aws::Http::URI& uri) const override;
/**
* <p> 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. </p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p> 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. </p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p> 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. </p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p> 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. </p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p> 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. </p>
*/
inline BatchGetFrameMetricDataRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p> 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. </p>
*/
inline BatchGetFrameMetricDataRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline const Aws::Vector<FrameMetric>& GetFrameMetrics() const{ return m_frameMetrics; }
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline bool FrameMetricsHasBeenSet() const { return m_frameMetricsHasBeenSet; }
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline void SetFrameMetrics(const Aws::Vector<FrameMetric>& value) { m_frameMetricsHasBeenSet = true; m_frameMetrics = value; }
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline void SetFrameMetrics(Aws::Vector<FrameMetric>&& value) { m_frameMetricsHasBeenSet = true; m_frameMetrics = std::move(value); }
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline BatchGetFrameMetricDataRequest& WithFrameMetrics(const Aws::Vector<FrameMetric>& value) { SetFrameMetrics(value); return *this;}
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline BatchGetFrameMetricDataRequest& WithFrameMetrics(Aws::Vector<FrameMetric>&& value) { SetFrameMetrics(std::move(value)); return *this;}
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline BatchGetFrameMetricDataRequest& AddFrameMetrics(const FrameMetric& value) { m_frameMetricsHasBeenSet = true; m_frameMetrics.push_back(value); return *this; }
/**
* <p> The details of the metrics that are used 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.</p>
*/
inline BatchGetFrameMetricDataRequest& AddFrameMetrics(FrameMetric&& value) { m_frameMetricsHasBeenSet = true; m_frameMetrics.push_back(std::move(value)); return *this; }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline const Aws::String& GetPeriod() const{ return m_period; }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline void SetPeriod(const Aws::String& value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline void SetPeriod(Aws::String&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline void SetPeriod(const char* value) { m_periodHasBeenSet = true; m_period.assign(value); }
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline BatchGetFrameMetricDataRequest& WithPeriod(const Aws::String& value) { SetPeriod(value); return *this;}
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline BatchGetFrameMetricDataRequest& WithPeriod(Aws::String&& value) { SetPeriod(std::move(value)); return *this;}
/**
* <p> The duration of the frame metrics used to return the time series values.
* Specify using the ISO 8601 format. The maximum period duration is one day
* (<code>PT24H</code> or <code>P1D</code>). </p>
*/
inline BatchGetFrameMetricDataRequest& WithPeriod(const char* value) { SetPeriod(value); return *this;}
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline const Aws::String& GetProfilingGroupName() const{ return m_profilingGroupName; }
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline bool ProfilingGroupNameHasBeenSet() const { return m_profilingGroupNameHasBeenSet; }
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline void SetProfilingGroupName(const Aws::String& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = value; }
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline void SetProfilingGroupName(Aws::String&& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = std::move(value); }
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline void SetProfilingGroupName(const char* value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName.assign(value); }
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline BatchGetFrameMetricDataRequest& WithProfilingGroupName(const Aws::String& value) { SetProfilingGroupName(value); return *this;}
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline BatchGetFrameMetricDataRequest& WithProfilingGroupName(Aws::String&& value) { SetProfilingGroupName(std::move(value)); return *this;}
/**
* <p> The name of the profiling group associated with the the frame metrics used
* to return the time series values. </p>
*/
inline BatchGetFrameMetricDataRequest& WithProfilingGroupName(const char* value) { SetProfilingGroupName(value); return *this;}
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline BatchGetFrameMetricDataRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p> The start time of the time period for the frame metrics used to return the
* 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. </p>
*/
inline BatchGetFrameMetricDataRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline const AggregationPeriod& GetTargetResolution() const{ return m_targetResolution; }
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline bool TargetResolutionHasBeenSet() const { return m_targetResolutionHasBeenSet; }
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline void SetTargetResolution(const AggregationPeriod& value) { m_targetResolutionHasBeenSet = true; m_targetResolution = value; }
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline void SetTargetResolution(AggregationPeriod&& value) { m_targetResolutionHasBeenSet = true; m_targetResolution = std::move(value); }
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline BatchGetFrameMetricDataRequest& WithTargetResolution(const AggregationPeriod& value) { SetTargetResolution(value); return *this;}
/**
* <p>The requested resolution of time steps for the returned time series of
* values. If the requested target resolution is not available due to data not
* being retained we provide a best effort result by falling back to the most
* granular available resolution after the target resolution. There are 3 valid
* values. </p> <ul> <li> <p> <code>P1D</code> — 1 day </p> </li> <li> <p>
* <code>PT1H</code> — 1 hour </p> </li> <li> <p> <code>PT5M</code> — 5 minutes
* </p> </li> </ul>
*/
inline BatchGetFrameMetricDataRequest& WithTargetResolution(AggregationPeriod&& value) { SetTargetResolution(std::move(value)); return *this;}
private:
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
Aws::Vector<FrameMetric> m_frameMetrics;
bool m_frameMetricsHasBeenSet;
Aws::String m_period;
bool m_periodHasBeenSet;
Aws::String m_profilingGroupName;
bool m_profilingGroupNameHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
AggregationPeriod m_targetResolution;
bool m_targetResolutionHasBeenSet;
};
} // namespace Model
} // namespace CodeGuruProfiler
} // namespace Aws