/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace QuickSight { namespace Model { /** *

The declaration definition of a parameter.

For more information, see * Parameters * in Amazon QuickSight in the Amazon QuickSight User Guide.

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 ParameterDeclaration { public: AWS_QUICKSIGHT_API ParameterDeclaration(); AWS_QUICKSIGHT_API ParameterDeclaration(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API ParameterDeclaration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A parameter declaration for the String data type.

*/ inline const StringParameterDeclaration& GetStringParameterDeclaration() const{ return m_stringParameterDeclaration; } /** *

A parameter declaration for the String data type.

*/ inline bool StringParameterDeclarationHasBeenSet() const { return m_stringParameterDeclarationHasBeenSet; } /** *

A parameter declaration for the String data type.

*/ inline void SetStringParameterDeclaration(const StringParameterDeclaration& value) { m_stringParameterDeclarationHasBeenSet = true; m_stringParameterDeclaration = value; } /** *

A parameter declaration for the String data type.

*/ inline void SetStringParameterDeclaration(StringParameterDeclaration&& value) { m_stringParameterDeclarationHasBeenSet = true; m_stringParameterDeclaration = std::move(value); } /** *

A parameter declaration for the String data type.

*/ inline ParameterDeclaration& WithStringParameterDeclaration(const StringParameterDeclaration& value) { SetStringParameterDeclaration(value); return *this;} /** *

A parameter declaration for the String data type.

*/ inline ParameterDeclaration& WithStringParameterDeclaration(StringParameterDeclaration&& value) { SetStringParameterDeclaration(std::move(value)); return *this;} /** *

A parameter declaration for the Decimal data type.

*/ inline const DecimalParameterDeclaration& GetDecimalParameterDeclaration() const{ return m_decimalParameterDeclaration; } /** *

A parameter declaration for the Decimal data type.

*/ inline bool DecimalParameterDeclarationHasBeenSet() const { return m_decimalParameterDeclarationHasBeenSet; } /** *

A parameter declaration for the Decimal data type.

*/ inline void SetDecimalParameterDeclaration(const DecimalParameterDeclaration& value) { m_decimalParameterDeclarationHasBeenSet = true; m_decimalParameterDeclaration = value; } /** *

A parameter declaration for the Decimal data type.

*/ inline void SetDecimalParameterDeclaration(DecimalParameterDeclaration&& value) { m_decimalParameterDeclarationHasBeenSet = true; m_decimalParameterDeclaration = std::move(value); } /** *

A parameter declaration for the Decimal data type.

*/ inline ParameterDeclaration& WithDecimalParameterDeclaration(const DecimalParameterDeclaration& value) { SetDecimalParameterDeclaration(value); return *this;} /** *

A parameter declaration for the Decimal data type.

*/ inline ParameterDeclaration& WithDecimalParameterDeclaration(DecimalParameterDeclaration&& value) { SetDecimalParameterDeclaration(std::move(value)); return *this;} /** *

A parameter declaration for the Integer data type.

*/ inline const IntegerParameterDeclaration& GetIntegerParameterDeclaration() const{ return m_integerParameterDeclaration; } /** *

A parameter declaration for the Integer data type.

*/ inline bool IntegerParameterDeclarationHasBeenSet() const { return m_integerParameterDeclarationHasBeenSet; } /** *

A parameter declaration for the Integer data type.

*/ inline void SetIntegerParameterDeclaration(const IntegerParameterDeclaration& value) { m_integerParameterDeclarationHasBeenSet = true; m_integerParameterDeclaration = value; } /** *

A parameter declaration for the Integer data type.

*/ inline void SetIntegerParameterDeclaration(IntegerParameterDeclaration&& value) { m_integerParameterDeclarationHasBeenSet = true; m_integerParameterDeclaration = std::move(value); } /** *

A parameter declaration for the Integer data type.

*/ inline ParameterDeclaration& WithIntegerParameterDeclaration(const IntegerParameterDeclaration& value) { SetIntegerParameterDeclaration(value); return *this;} /** *

A parameter declaration for the Integer data type.

*/ inline ParameterDeclaration& WithIntegerParameterDeclaration(IntegerParameterDeclaration&& value) { SetIntegerParameterDeclaration(std::move(value)); return *this;} /** *

A parameter declaration for the DateTime data type.

*/ inline const DateTimeParameterDeclaration& GetDateTimeParameterDeclaration() const{ return m_dateTimeParameterDeclaration; } /** *

A parameter declaration for the DateTime data type.

*/ inline bool DateTimeParameterDeclarationHasBeenSet() const { return m_dateTimeParameterDeclarationHasBeenSet; } /** *

A parameter declaration for the DateTime data type.

*/ inline void SetDateTimeParameterDeclaration(const DateTimeParameterDeclaration& value) { m_dateTimeParameterDeclarationHasBeenSet = true; m_dateTimeParameterDeclaration = value; } /** *

A parameter declaration for the DateTime data type.

*/ inline void SetDateTimeParameterDeclaration(DateTimeParameterDeclaration&& value) { m_dateTimeParameterDeclarationHasBeenSet = true; m_dateTimeParameterDeclaration = std::move(value); } /** *

A parameter declaration for the DateTime data type.

*/ inline ParameterDeclaration& WithDateTimeParameterDeclaration(const DateTimeParameterDeclaration& value) { SetDateTimeParameterDeclaration(value); return *this;} /** *

A parameter declaration for the DateTime data type.

*/ inline ParameterDeclaration& WithDateTimeParameterDeclaration(DateTimeParameterDeclaration&& value) { SetDateTimeParameterDeclaration(std::move(value)); return *this;} private: StringParameterDeclaration m_stringParameterDeclaration; bool m_stringParameterDeclarationHasBeenSet = false; DecimalParameterDeclaration m_decimalParameterDeclaration; bool m_decimalParameterDeclarationHasBeenSet = false; IntegerParameterDeclaration m_integerParameterDeclaration; bool m_integerParameterDeclarationHasBeenSet = false; DateTimeParameterDeclaration m_dateTimeParameterDeclaration; bool m_dateTimeParameterDeclarationHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws