/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 control of a parameter that users can interact with in a dashboard or an * analysis.

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

A control from a date parameter that specifies date and time.

*/ inline const ParameterDateTimePickerControl& GetDateTimePicker() const{ return m_dateTimePicker; } /** *

A control from a date parameter that specifies date and time.

*/ inline bool DateTimePickerHasBeenSet() const { return m_dateTimePickerHasBeenSet; } /** *

A control from a date parameter that specifies date and time.

*/ inline void SetDateTimePicker(const ParameterDateTimePickerControl& value) { m_dateTimePickerHasBeenSet = true; m_dateTimePicker = value; } /** *

A control from a date parameter that specifies date and time.

*/ inline void SetDateTimePicker(ParameterDateTimePickerControl&& value) { m_dateTimePickerHasBeenSet = true; m_dateTimePicker = std::move(value); } /** *

A control from a date parameter that specifies date and time.

*/ inline ParameterControl& WithDateTimePicker(const ParameterDateTimePickerControl& value) { SetDateTimePicker(value); return *this;} /** *

A control from a date parameter that specifies date and time.

*/ inline ParameterControl& WithDateTimePicker(ParameterDateTimePickerControl&& value) { SetDateTimePicker(std::move(value)); return *this;} /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline const ParameterListControl& GetList() const{ return m_list; } /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline bool ListHasBeenSet() const { return m_listHasBeenSet; } /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline void SetList(const ParameterListControl& value) { m_listHasBeenSet = true; m_list = value; } /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline void SetList(ParameterListControl&& value) { m_listHasBeenSet = true; m_list = std::move(value); } /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline ParameterControl& WithList(const ParameterListControl& value) { SetList(value); return *this;} /** *

A control to display a list with buttons or boxes that are used to select * either a single value or multiple values.

*/ inline ParameterControl& WithList(ParameterListControl&& value) { SetList(std::move(value)); return *this;} /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline const ParameterDropDownControl& GetDropdown() const{ return m_dropdown; } /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline bool DropdownHasBeenSet() const { return m_dropdownHasBeenSet; } /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline void SetDropdown(const ParameterDropDownControl& value) { m_dropdownHasBeenSet = true; m_dropdown = value; } /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline void SetDropdown(ParameterDropDownControl&& value) { m_dropdownHasBeenSet = true; m_dropdown = std::move(value); } /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline ParameterControl& WithDropdown(const ParameterDropDownControl& value) { SetDropdown(value); return *this;} /** *

A control to display a dropdown list with buttons that are used to select a * single value.

*/ inline ParameterControl& WithDropdown(ParameterDropDownControl&& value) { SetDropdown(std::move(value)); return *this;} /** *

A control to display a text box that is used to enter a single entry.

*/ inline const ParameterTextFieldControl& GetTextField() const{ return m_textField; } /** *

A control to display a text box that is used to enter a single entry.

*/ inline bool TextFieldHasBeenSet() const { return m_textFieldHasBeenSet; } /** *

A control to display a text box that is used to enter a single entry.

*/ inline void SetTextField(const ParameterTextFieldControl& value) { m_textFieldHasBeenSet = true; m_textField = value; } /** *

A control to display a text box that is used to enter a single entry.

*/ inline void SetTextField(ParameterTextFieldControl&& value) { m_textFieldHasBeenSet = true; m_textField = std::move(value); } /** *

A control to display a text box that is used to enter a single entry.

*/ inline ParameterControl& WithTextField(const ParameterTextFieldControl& value) { SetTextField(value); return *this;} /** *

A control to display a text box that is used to enter a single entry.

*/ inline ParameterControl& WithTextField(ParameterTextFieldControl&& value) { SetTextField(std::move(value)); return *this;} /** *

A control to display a text box that is used to enter multiple entries.

*/ inline const ParameterTextAreaControl& GetTextArea() const{ return m_textArea; } /** *

A control to display a text box that is used to enter multiple entries.

*/ inline bool TextAreaHasBeenSet() const { return m_textAreaHasBeenSet; } /** *

A control to display a text box that is used to enter multiple entries.

*/ inline void SetTextArea(const ParameterTextAreaControl& value) { m_textAreaHasBeenSet = true; m_textArea = value; } /** *

A control to display a text box that is used to enter multiple entries.

*/ inline void SetTextArea(ParameterTextAreaControl&& value) { m_textAreaHasBeenSet = true; m_textArea = std::move(value); } /** *

A control to display a text box that is used to enter multiple entries.

*/ inline ParameterControl& WithTextArea(const ParameterTextAreaControl& value) { SetTextArea(value); return *this;} /** *

A control to display a text box that is used to enter multiple entries.

*/ inline ParameterControl& WithTextArea(ParameterTextAreaControl&& value) { SetTextArea(std::move(value)); return *this;} /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline const ParameterSliderControl& GetSlider() const{ return m_slider; } /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline bool SliderHasBeenSet() const { return m_sliderHasBeenSet; } /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline void SetSlider(const ParameterSliderControl& value) { m_sliderHasBeenSet = true; m_slider = value; } /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline void SetSlider(ParameterSliderControl&& value) { m_sliderHasBeenSet = true; m_slider = std::move(value); } /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline ParameterControl& WithSlider(const ParameterSliderControl& value) { SetSlider(value); return *this;} /** *

A control to display a horizontal toggle bar. This is used to change a value * by sliding the toggle.

*/ inline ParameterControl& WithSlider(ParameterSliderControl&& value) { SetSlider(std::move(value)); return *this;} private: ParameterDateTimePickerControl m_dateTimePicker; bool m_dateTimePickerHasBeenSet = false; ParameterListControl m_list; bool m_listHasBeenSet = false; ParameterDropDownControl m_dropdown; bool m_dropdownHasBeenSet = false; ParameterTextFieldControl m_textField; bool m_textFieldHasBeenSet = false; ParameterTextAreaControl m_textArea; bool m_textAreaHasBeenSet = false; ParameterSliderControl m_slider; bool m_sliderHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws