/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CloudWatch { namespace Model { /** */ class GetInsightRuleReportRequest : public CloudWatchRequest { public: AWS_CLOUDWATCH_API GetInsightRuleReportRequest(); // 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 "GetInsightRuleReport"; } AWS_CLOUDWATCH_API Aws::String SerializePayload() const override; protected: AWS_CLOUDWATCH_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the rule that you want to see data from.

*/ inline const Aws::String& GetRuleName() const{ return m_ruleName; } /** *

The name of the rule that you want to see data from.

*/ inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } /** *

The name of the rule that you want to see data from.

*/ inline void SetRuleName(const Aws::String& value) { m_ruleNameHasBeenSet = true; m_ruleName = value; } /** *

The name of the rule that you want to see data from.

*/ inline void SetRuleName(Aws::String&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::move(value); } /** *

The name of the rule that you want to see data from.

*/ inline void SetRuleName(const char* value) { m_ruleNameHasBeenSet = true; m_ruleName.assign(value); } /** *

The name of the rule that you want to see data from.

*/ inline GetInsightRuleReportRequest& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;} /** *

The name of the rule that you want to see data from.

*/ inline GetInsightRuleReportRequest& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;} /** *

The name of the rule that you want to see data from.

*/ inline GetInsightRuleReportRequest& WithRuleName(const char* value) { SetRuleName(value); return *this;} /** *

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The start time of the data to use in the report. When used in a raw HTTP * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The end time of the data to use in the report. When used in a raw HTTP Query * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, * 2019-07-01T23:59:59.

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

The period, in seconds, to use for the statistics in the * InsightRuleMetricDatapoint results.

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

The period, in seconds, to use for the statistics in the * InsightRuleMetricDatapoint results.

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

The period, in seconds, to use for the statistics in the * InsightRuleMetricDatapoint results.

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

The period, in seconds, to use for the statistics in the * InsightRuleMetricDatapoint results.

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

The maximum number of contributors to include in the report. The range is 1 * to 100. If you omit this, the default of 10 is used.

*/ inline int GetMaxContributorCount() const{ return m_maxContributorCount; } /** *

The maximum number of contributors to include in the report. The range is 1 * to 100. If you omit this, the default of 10 is used.

*/ inline bool MaxContributorCountHasBeenSet() const { return m_maxContributorCountHasBeenSet; } /** *

The maximum number of contributors to include in the report. The range is 1 * to 100. If you omit this, the default of 10 is used.

*/ inline void SetMaxContributorCount(int value) { m_maxContributorCountHasBeenSet = true; m_maxContributorCount = value; } /** *

The maximum number of contributors to include in the report. The range is 1 * to 100. If you omit this, the default of 10 is used.

*/ inline GetInsightRuleReportRequest& WithMaxContributorCount(int value) { SetMaxContributorCount(value); return *this;} /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline const Aws::Vector& GetMetrics() const{ return m_metrics; } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline void SetMetrics(const Aws::Vector& value) { m_metricsHasBeenSet = true; m_metrics = value; } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline void SetMetrics(Aws::Vector&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline GetInsightRuleReportRequest& WithMetrics(const Aws::Vector& value) { SetMetrics(value); return *this;} /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline GetInsightRuleReportRequest& WithMetrics(Aws::Vector&& value) { SetMetrics(std::move(value)); return *this;} /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline GetInsightRuleReportRequest& AddMetrics(const Aws::String& value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline GetInsightRuleReportRequest& AddMetrics(Aws::String&& value) { m_metricsHasBeenSet = true; m_metrics.push_back(std::move(value)); return *this; } /** *

Specifies which metrics to use for aggregation of contributor values for the * report. You can specify one or more of the following metrics:

  • * UniqueContributors -- the number of unique contributors for each * data point.

  • MaxContributorValue -- the value of * the top contributor for each data point. The identity of the contributor might * change for each data point in the graph.

    If this rule aggregates by * COUNT, the top contributor for each data point is the contributor with the most * occurrences in that period. If the rule aggregates by SUM, the top contributor * is the contributor with the highest sum in the log field specified by the rule's * Value, during that period.

  • * SampleCount -- the number of data points matched by the rule.

    *
  • Sum -- the sum of the values from all contributors * during the time period represented by that data point.

  • * Minimum -- the minimum value from a single observation during the * time period represented by that data point.

  • * Maximum -- the maximum value from a single observation during the * time period represented by that data point.

  • * Average -- the average value from all contributors during the time * period represented by that data point.

*/ inline GetInsightRuleReportRequest& AddMetrics(const char* value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline const Aws::String& GetOrderBy() const{ return m_orderBy; } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline bool OrderByHasBeenSet() const { return m_orderByHasBeenSet; } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline void SetOrderBy(const Aws::String& value) { m_orderByHasBeenSet = true; m_orderBy = value; } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline void SetOrderBy(Aws::String&& value) { m_orderByHasBeenSet = true; m_orderBy = std::move(value); } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline void SetOrderBy(const char* value) { m_orderByHasBeenSet = true; m_orderBy.assign(value); } /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline GetInsightRuleReportRequest& WithOrderBy(const Aws::String& value) { SetOrderBy(value); return *this;} /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline GetInsightRuleReportRequest& WithOrderBy(Aws::String&& value) { SetOrderBy(std::move(value)); return *this;} /** *

Determines what statistic to use to rank the contributors. Valid values are * SUM and MAXIMUM.

*/ inline GetInsightRuleReportRequest& WithOrderBy(const char* value) { SetOrderBy(value); return *this;} private: Aws::String m_ruleName; bool m_ruleNameHasBeenSet = 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; int m_maxContributorCount; bool m_maxContributorCountHasBeenSet = false; Aws::Vector m_metrics; bool m_metricsHasBeenSet = false; Aws::String m_orderBy; bool m_orderByHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws