/** * 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 QuickSight { namespace Model { /** *

The scale setup options for a numeric axis display.

This is a union * type structure. For this structure to be valid, only one of the attributes can * be defined.

See Also:

AWS * API Reference

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

The linear axis scale setup.

*/ inline const AxisLinearScale& GetLinear() const{ return m_linear; } /** *

The linear axis scale setup.

*/ inline bool LinearHasBeenSet() const { return m_linearHasBeenSet; } /** *

The linear axis scale setup.

*/ inline void SetLinear(const AxisLinearScale& value) { m_linearHasBeenSet = true; m_linear = value; } /** *

The linear axis scale setup.

*/ inline void SetLinear(AxisLinearScale&& value) { m_linearHasBeenSet = true; m_linear = std::move(value); } /** *

The linear axis scale setup.

*/ inline AxisScale& WithLinear(const AxisLinearScale& value) { SetLinear(value); return *this;} /** *

The linear axis scale setup.

*/ inline AxisScale& WithLinear(AxisLinearScale&& value) { SetLinear(std::move(value)); return *this;} /** *

The logarithmic axis scale setup.

*/ inline const AxisLogarithmicScale& GetLogarithmic() const{ return m_logarithmic; } /** *

The logarithmic axis scale setup.

*/ inline bool LogarithmicHasBeenSet() const { return m_logarithmicHasBeenSet; } /** *

The logarithmic axis scale setup.

*/ inline void SetLogarithmic(const AxisLogarithmicScale& value) { m_logarithmicHasBeenSet = true; m_logarithmic = value; } /** *

The logarithmic axis scale setup.

*/ inline void SetLogarithmic(AxisLogarithmicScale&& value) { m_logarithmicHasBeenSet = true; m_logarithmic = std::move(value); } /** *

The logarithmic axis scale setup.

*/ inline AxisScale& WithLogarithmic(const AxisLogarithmicScale& value) { SetLogarithmic(value); return *this;} /** *

The logarithmic axis scale setup.

*/ inline AxisScale& WithLogarithmic(AxisLogarithmicScale&& value) { SetLogarithmic(std::move(value)); return *this;} private: AxisLinearScale m_linear; bool m_linearHasBeenSet = false; AxisLogarithmicScale m_logarithmic; bool m_logarithmicHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws