/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace RDS { namespace Model { /** *

Option settings are the actual settings being applied or configured for that * option. It is used when you modify an option group or describe option groups. * For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called * SQLNET.ENCRYPTION_SERVER that can have several different values.

See * Also:

AWS * API Reference

*/ class OptionSetting { public: AWS_RDS_API OptionSetting(); AWS_RDS_API OptionSetting(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API OptionSetting& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_RDS_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the option that has settings that you can set.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the option that has settings that you can set.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the option that has settings that you can set.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the option that has settings that you can set.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the option that has settings that you can set.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the option that has settings that you can set.

*/ inline OptionSetting& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the option that has settings that you can set.

*/ inline OptionSetting& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the option that has settings that you can set.

*/ inline OptionSetting& WithName(const char* value) { SetName(value); return *this;} /** *

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The current value of the option setting.

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

The default value of the option setting.

*/ inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } /** *

The default value of the option setting.

*/ inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } /** *

The default value of the option setting.

*/ inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } /** *

The default value of the option setting.

*/ inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } /** *

The default value of the option setting.

*/ inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } /** *

The default value of the option setting.

*/ inline OptionSetting& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} /** *

The default value of the option setting.

*/ inline OptionSetting& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} /** *

The default value of the option setting.

*/ inline OptionSetting& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} /** *

The description of the option setting.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the option setting.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the option setting.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the option setting.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the option setting.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the option setting.

*/ inline OptionSetting& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the option setting.

*/ inline OptionSetting& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the option setting.

*/ inline OptionSetting& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The DB engine specific parameter type.

*/ inline const Aws::String& GetApplyType() const{ return m_applyType; } /** *

The DB engine specific parameter type.

*/ inline bool ApplyTypeHasBeenSet() const { return m_applyTypeHasBeenSet; } /** *

The DB engine specific parameter type.

*/ inline void SetApplyType(const Aws::String& value) { m_applyTypeHasBeenSet = true; m_applyType = value; } /** *

The DB engine specific parameter type.

*/ inline void SetApplyType(Aws::String&& value) { m_applyTypeHasBeenSet = true; m_applyType = std::move(value); } /** *

The DB engine specific parameter type.

*/ inline void SetApplyType(const char* value) { m_applyTypeHasBeenSet = true; m_applyType.assign(value); } /** *

The DB engine specific parameter type.

*/ inline OptionSetting& WithApplyType(const Aws::String& value) { SetApplyType(value); return *this;} /** *

The DB engine specific parameter type.

*/ inline OptionSetting& WithApplyType(Aws::String&& value) { SetApplyType(std::move(value)); return *this;} /** *

The DB engine specific parameter type.

*/ inline OptionSetting& WithApplyType(const char* value) { SetApplyType(value); return *this;} /** *

The data type of the option setting.

*/ inline const Aws::String& GetDataType() const{ return m_dataType; } /** *

The data type of the option setting.

*/ inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } /** *

The data type of the option setting.

*/ inline void SetDataType(const Aws::String& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } /** *

The data type of the option setting.

*/ inline void SetDataType(Aws::String&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } /** *

The data type of the option setting.

*/ inline void SetDataType(const char* value) { m_dataTypeHasBeenSet = true; m_dataType.assign(value); } /** *

The data type of the option setting.

*/ inline OptionSetting& WithDataType(const Aws::String& value) { SetDataType(value); return *this;} /** *

The data type of the option setting.

*/ inline OptionSetting& WithDataType(Aws::String&& value) { SetDataType(std::move(value)); return *this;} /** *

The data type of the option setting.

*/ inline OptionSetting& WithDataType(const char* value) { SetDataType(value); return *this;} /** *

The allowed values of the option setting.

*/ inline const Aws::String& GetAllowedValues() const{ return m_allowedValues; } /** *

The allowed values of the option setting.

*/ inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; } /** *

The allowed values of the option setting.

*/ inline void SetAllowedValues(const Aws::String& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = value; } /** *

The allowed values of the option setting.

*/ inline void SetAllowedValues(Aws::String&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = std::move(value); } /** *

The allowed values of the option setting.

*/ inline void SetAllowedValues(const char* value) { m_allowedValuesHasBeenSet = true; m_allowedValues.assign(value); } /** *

The allowed values of the option setting.

*/ inline OptionSetting& WithAllowedValues(const Aws::String& value) { SetAllowedValues(value); return *this;} /** *

The allowed values of the option setting.

*/ inline OptionSetting& WithAllowedValues(Aws::String&& value) { SetAllowedValues(std::move(value)); return *this;} /** *

The allowed values of the option setting.

*/ inline OptionSetting& WithAllowedValues(const char* value) { SetAllowedValues(value); return *this;} /** *

A Boolean value that, when true, indicates the option setting can be modified * from the default.

*/ inline bool GetIsModifiable() const{ return m_isModifiable; } /** *

A Boolean value that, when true, indicates the option setting can be modified * from the default.

*/ inline bool IsModifiableHasBeenSet() const { return m_isModifiableHasBeenSet; } /** *

A Boolean value that, when true, indicates the option setting can be modified * from the default.

*/ inline void SetIsModifiable(bool value) { m_isModifiableHasBeenSet = true; m_isModifiable = value; } /** *

A Boolean value that, when true, indicates the option setting can be modified * from the default.

*/ inline OptionSetting& WithIsModifiable(bool value) { SetIsModifiable(value); return *this;} /** *

Indicates if the option setting is part of a collection.

*/ inline bool GetIsCollection() const{ return m_isCollection; } /** *

Indicates if the option setting is part of a collection.

*/ inline bool IsCollectionHasBeenSet() const { return m_isCollectionHasBeenSet; } /** *

Indicates if the option setting is part of a collection.

*/ inline void SetIsCollection(bool value) { m_isCollectionHasBeenSet = true; m_isCollection = value; } /** *

Indicates if the option setting is part of a collection.

*/ inline OptionSetting& WithIsCollection(bool value) { SetIsCollection(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; Aws::String m_defaultValue; bool m_defaultValueHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_applyType; bool m_applyTypeHasBeenSet = false; Aws::String m_dataType; bool m_dataTypeHasBeenSet = false; Aws::String m_allowedValues; bool m_allowedValuesHasBeenSet = false; bool m_isModifiable; bool m_isModifiableHasBeenSet = false; bool m_isCollection; bool m_isCollectionHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws