/** * 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 { namespace Lightsail { namespace Model { /** */ class GetBucketMetricDataRequest : public LightsailRequest { public: AWS_LIGHTSAIL_API GetBucketMetricDataRequest(); // 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 "GetBucketMetricData"; } AWS_LIGHTSAIL_API Aws::String SerializePayload() const override; AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the bucket for which to get metric data.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The name of the bucket for which to get metric data.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The name of the bucket for which to get metric data.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The name of the bucket for which to get metric data.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The name of the bucket for which to get metric data.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The name of the bucket for which to get metric data.

*/ inline GetBucketMetricDataRequest& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The name of the bucket for which to get metric data.

*/ inline GetBucketMetricDataRequest& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The name of the bucket for which to get metric data.

*/ inline GetBucketMetricDataRequest& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline const BucketMetricName& GetMetricName() const{ return m_metricName; } /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline void SetMetricName(const BucketMetricName& value) { m_metricNameHasBeenSet = true; m_metricName = value; } /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline void SetMetricName(BucketMetricName&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline GetBucketMetricDataRequest& WithMetricName(const BucketMetricName& value) { SetMetricName(value); return *this;} /** *

The metric for which you want to return information.

Valid bucket * metric names are listed below, along with the most useful statistics to include * in your request, and the published unit value.

These bucket * metrics are reported once per day.

  • * BucketSizeBytes - The amount of data in bytes stored in a * bucket. This value is calculated by summing the size of all objects in the * bucket (including object versions), including the size of all parts for all * incomplete multipart uploads to the bucket.

    Statistics: The most useful * statistic is Maximum.

    Unit: The published unit is * Bytes.

  • NumberOfObjects - * The total number of objects stored in a bucket. This value is calculated by * counting all objects in the bucket (including object versions) and the total * number of parts for all incomplete multipart uploads to the bucket.

    *

    Statistics: The most useful statistic is Average.

    Unit: * The published unit is Count.

*/ inline GetBucketMetricDataRequest& WithMetricName(BucketMetricName&& value) { SetMetricName(std::move(value)); return *this;} /** *

The timestamp indicating the earliest data to be returned.

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

The timestamp indicating the earliest data to be returned.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The timestamp indicating the earliest data to be returned.

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

The timestamp indicating the earliest data to be returned.

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

The timestamp indicating the earliest data to be returned.

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

The timestamp indicating the earliest data to be returned.

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

The timestamp indicating the latest data to be returned.

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

The timestamp indicating the latest data to be returned.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The timestamp indicating the latest data to be returned.

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

The timestamp indicating the latest data to be returned.

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

The timestamp indicating the latest data to be returned.

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

The timestamp indicating the latest data to be returned.

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

The granularity, in seconds, of the returned data points.

*

Bucket storage metrics are reported once per day. Therefore, you should * specify a period of 86400 seconds, which is the number of seconds in a day.

* */ inline int GetPeriod() const{ return m_period; } /** *

The granularity, in seconds, of the returned data points.

*

Bucket storage metrics are reported once per day. Therefore, you should * specify a period of 86400 seconds, which is the number of seconds in a day.

* */ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *

The granularity, in seconds, of the returned data points.

*

Bucket storage metrics are reported once per day. Therefore, you should * specify a period of 86400 seconds, which is the number of seconds in a day.

* */ inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } /** *

The granularity, in seconds, of the returned data points.

*

Bucket storage metrics are reported once per day. Therefore, you should * specify a period of 86400 seconds, which is the number of seconds in a day.

* */ inline GetBucketMetricDataRequest& WithPeriod(int value) { SetPeriod(value); return *this;} /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline const Aws::Vector& GetStatistics() const{ return m_statistics; } /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; } /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline void SetStatistics(const Aws::Vector& value) { m_statisticsHasBeenSet = true; m_statistics = value; } /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline void SetStatistics(Aws::Vector&& value) { m_statisticsHasBeenSet = true; m_statistics = std::move(value); } /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline GetBucketMetricDataRequest& WithStatistics(const Aws::Vector& value) { SetStatistics(value); return *this;} /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline GetBucketMetricDataRequest& WithStatistics(Aws::Vector&& value) { SetStatistics(std::move(value)); return *this;} /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline GetBucketMetricDataRequest& AddStatistics(const MetricStatistic& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(value); return *this; } /** *

The statistic for the metric.

The following statistics are * available:

  • Minimum - The lowest value observed * during the specified period. Use this value to determine low volumes of activity * for your application.

  • Maximum - The highest * value observed during the specified period. Use this value to determine high * volumes of activity for your application.

  • Sum - * The sum of all values submitted for the matching metric. You can use this * statistic to determine the total volume of a metric.

  • * Average - The value of Sum / SampleCount * during the specified period. By comparing this statistic with the * Minimum and Maximum values, you can determine the full * scope of a metric and how close the average use is to the Minimum * and Maximum values. This comparison helps you to know when to * increase or decrease your resources.

  • SampleCount * - The count, or number, of data points used for the statistical calculation.

    *
*/ inline GetBucketMetricDataRequest& AddStatistics(MetricStatistic&& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(std::move(value)); return *this; } /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline const MetricUnit& GetUnit() const{ return m_unit; } /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline void SetUnit(const MetricUnit& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline void SetUnit(MetricUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline GetBucketMetricDataRequest& WithUnit(const MetricUnit& value) { SetUnit(value); return *this;} /** *

The unit for the metric data request.

Valid units depend on the metric * data being requested. For the valid units with each available metric, see the * metricName parameter.

*/ inline GetBucketMetricDataRequest& WithUnit(MetricUnit&& value) { SetUnit(std::move(value)); return *this;} private: Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; BucketMetricName m_metricName; bool m_metricNameHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; int m_period; bool m_periodHasBeenSet = false; Aws::Vector m_statistics; bool m_statisticsHasBeenSet = false; MetricUnit m_unit; bool m_unitHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws