/** * 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 { /** *

An object that describes the details for a specified dimension.

See * Also:

AWS * API Reference

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

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline DimensionKeyDetail& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline DimensionKeyDetail& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The value of the dimension detail data. Depending on the return status, this * value is either the full or truncated SQL query for the following * dimensions:

  • db.query.statement (Amazon * DocumentDB)

  • db.sql.statement (Amazon RDS and * Aurora)

*/ inline DimensionKeyDetail& WithValue(const char* value) { SetValue(value); return *this;} /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline const Aws::String& GetDimension() const{ return m_dimension; } /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline bool DimensionHasBeenSet() const { return m_dimensionHasBeenSet; } /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline void SetDimension(const Aws::String& value) { m_dimensionHasBeenSet = true; m_dimension = value; } /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline void SetDimension(Aws::String&& value) { m_dimensionHasBeenSet = true; m_dimension = std::move(value); } /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline void SetDimension(const char* value) { m_dimensionHasBeenSet = true; m_dimension.assign(value); } /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline DimensionKeyDetail& WithDimension(const Aws::String& value) { SetDimension(value); return *this;} /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline DimensionKeyDetail& WithDimension(Aws::String&& value) { SetDimension(std::move(value)); return *this;} /** *

The full name of the dimension. The full name includes the group name and key * name. The following values are valid:

  • * db.query.statement (Amazon DocumentDB)

  • * db.sql.statement (Amazon RDS and Aurora)

*/ inline DimensionKeyDetail& WithDimension(const char* value) { SetDimension(value); return *this;} /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline const DetailStatus& GetStatus() const{ return m_status; } /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline void SetStatus(const DetailStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline void SetStatus(DetailStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline DimensionKeyDetail& WithStatus(const DetailStatus& value) { SetStatus(value); return *this;} /** *

The status of the dimension detail data. Possible values include the * following:

  • AVAILABLE - The dimension detail data * is ready to be retrieved.

  • PROCESSING - The * dimension detail data isn't ready to be retrieved because more processing time * is required. If the requested detail data has the status * PROCESSING, Performance Insights returns the truncated query.

    *
  • UNAVAILABLE - The dimension detail data could not be * collected successfully.

*/ inline DimensionKeyDetail& WithStatus(DetailStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_value; bool m_valueHasBeenSet = false; Aws::String m_dimension; bool m_dimensionHasBeenSet = false; DetailStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace PI } // namespace Aws