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

A logical grouping of Performance Insights metrics for a related subject * area. For example, the db.sql dimension group consists of the * following dimensions: db.sql.id, db.sql.db_id, * db.sql.statement, and * db.sql.tokenized_id.

See Also:

AWS * API Reference

*/ class AWS_PI_API DimensionGroup { public: DimensionGroup(); DimensionGroup(Aws::Utils::Json::JsonView jsonValue); DimensionGroup& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline const Aws::String& GetGroup() const{ return m_group; } /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline DimensionGroup& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline DimensionGroup& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} /** *

The name of the dimension group. Valid values are:

  • * db.user

  • db.host

  • *

    db.sql

  • db.sql_tokenized

    *
  • db.wait_event

  • * db.wait_event_type

*/ inline DimensionGroup& WithGroup(const char* value) { SetGroup(value); return *this;} /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline const Aws::Vector& GetDimensions() const{ return m_dimensions; } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline void SetDimensions(const Aws::Vector& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline void SetDimensions(Aws::Vector&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline DimensionGroup& WithDimensions(const Aws::Vector& value) { SetDimensions(value); return *this;} /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline DimensionGroup& WithDimensions(Aws::Vector&& value) { SetDimensions(std::move(value)); return *this;} /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline DimensionGroup& AddDimensions(const Aws::String& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline DimensionGroup& AddDimensions(Aws::String&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } /** *

A list of specific dimensions from a dimension group. If this parameter is * not present, then it signifies that all of the dimensions in the group were * requested, or are present in the response.

Valid values for elements in * the Dimensions array are:

  • db.user.id

  • *
  • db.user.name

  • db.host.id

  • *

    db.host.name

  • db.sql.id

  • db.sql.db_id

    *
  • db.sql.statement

  • db.sql.tokenized_id

  • *
  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • *
  • db.sql_tokenized.statement

  • db.wait_event.name

    *
  • db.wait_event.type

  • db.wait_event_type.name

    *
*/ inline DimensionGroup& AddDimensions(const char* value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } /** *

The maximum number of items to fetch for this dimension group.

*/ inline int GetLimit() const{ return m_limit; } /** *

The maximum number of items to fetch for this dimension group.

*/ inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } /** *

The maximum number of items to fetch for this dimension group.

*/ inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } /** *

The maximum number of items to fetch for this dimension group.

*/ inline DimensionGroup& WithLimit(int value) { SetLimit(value); return *this;} private: Aws::String m_group; bool m_groupHasBeenSet; Aws::Vector m_dimensions; bool m_dimensionsHasBeenSet; int m_limit; bool m_limitHasBeenSet; }; } // namespace Model } // namespace PI } // namespace Aws