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