/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Available option.See Also:
AWS
* API Reference
The name of the option.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the option.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the option.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the option.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the option.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the option.
*/ inline OptionGroupOption& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the option.
*/ inline OptionGroupOption& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the option.
*/ inline OptionGroupOption& WithName(const char* value) { SetName(value); return *this;} /** *The description of the option.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the option.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the option.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the option.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the option.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the option.
*/ inline OptionGroupOption& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the option.
*/ inline OptionGroupOption& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the option.
*/ inline OptionGroupOption& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The name of the engine that this option can be applied to.
*/ inline const Aws::String& GetEngineName() const{ return m_engineName; } /** *The name of the engine that this option can be applied to.
*/ inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; } /** *The name of the engine that this option can be applied to.
*/ inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; } /** *The name of the engine that this option can be applied to.
*/ inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); } /** *The name of the engine that this option can be applied to.
*/ inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); } /** *The name of the engine that this option can be applied to.
*/ inline OptionGroupOption& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;} /** *The name of the engine that this option can be applied to.
*/ inline OptionGroupOption& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;} /** *The name of the engine that this option can be applied to.
*/ inline OptionGroupOption& WithEngineName(const char* value) { SetEngineName(value); return *this;} /** *Indicates the major engine version that the option is available for.
*/ inline const Aws::String& GetMajorEngineVersion() const{ return m_majorEngineVersion; } /** *Indicates the major engine version that the option is available for.
*/ inline bool MajorEngineVersionHasBeenSet() const { return m_majorEngineVersionHasBeenSet; } /** *Indicates the major engine version that the option is available for.
*/ inline void SetMajorEngineVersion(const Aws::String& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = value; } /** *Indicates the major engine version that the option is available for.
*/ inline void SetMajorEngineVersion(Aws::String&& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = std::move(value); } /** *Indicates the major engine version that the option is available for.
*/ inline void SetMajorEngineVersion(const char* value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion.assign(value); } /** *Indicates the major engine version that the option is available for.
*/ inline OptionGroupOption& WithMajorEngineVersion(const Aws::String& value) { SetMajorEngineVersion(value); return *this;} /** *Indicates the major engine version that the option is available for.
*/ inline OptionGroupOption& WithMajorEngineVersion(Aws::String&& value) { SetMajorEngineVersion(std::move(value)); return *this;} /** *Indicates the major engine version that the option is available for.
*/ inline OptionGroupOption& WithMajorEngineVersion(const char* value) { SetMajorEngineVersion(value); return *this;} /** *The minimum required engine version for the option to be applied.
*/ inline const Aws::String& GetMinimumRequiredMinorEngineVersion() const{ return m_minimumRequiredMinorEngineVersion; } /** *The minimum required engine version for the option to be applied.
*/ inline bool MinimumRequiredMinorEngineVersionHasBeenSet() const { return m_minimumRequiredMinorEngineVersionHasBeenSet; } /** *The minimum required engine version for the option to be applied.
*/ inline void SetMinimumRequiredMinorEngineVersion(const Aws::String& value) { m_minimumRequiredMinorEngineVersionHasBeenSet = true; m_minimumRequiredMinorEngineVersion = value; } /** *The minimum required engine version for the option to be applied.
*/ inline void SetMinimumRequiredMinorEngineVersion(Aws::String&& value) { m_minimumRequiredMinorEngineVersionHasBeenSet = true; m_minimumRequiredMinorEngineVersion = std::move(value); } /** *The minimum required engine version for the option to be applied.
*/ inline void SetMinimumRequiredMinorEngineVersion(const char* value) { m_minimumRequiredMinorEngineVersionHasBeenSet = true; m_minimumRequiredMinorEngineVersion.assign(value); } /** *The minimum required engine version for the option to be applied.
*/ inline OptionGroupOption& WithMinimumRequiredMinorEngineVersion(const Aws::String& value) { SetMinimumRequiredMinorEngineVersion(value); return *this;} /** *The minimum required engine version for the option to be applied.
*/ inline OptionGroupOption& WithMinimumRequiredMinorEngineVersion(Aws::String&& value) { SetMinimumRequiredMinorEngineVersion(std::move(value)); return *this;} /** *The minimum required engine version for the option to be applied.
*/ inline OptionGroupOption& WithMinimumRequiredMinorEngineVersion(const char* value) { SetMinimumRequiredMinorEngineVersion(value); return *this;} /** *Specifies whether the option requires a port.
*/ inline bool GetPortRequired() const{ return m_portRequired; } /** *Specifies whether the option requires a port.
*/ inline bool PortRequiredHasBeenSet() const { return m_portRequiredHasBeenSet; } /** *Specifies whether the option requires a port.
*/ inline void SetPortRequired(bool value) { m_portRequiredHasBeenSet = true; m_portRequired = value; } /** *Specifies whether the option requires a port.
*/ inline OptionGroupOption& WithPortRequired(bool value) { SetPortRequired(value); return *this;} /** *If the option requires a port, specifies the default port for the option.
*/ inline int GetDefaultPort() const{ return m_defaultPort; } /** *If the option requires a port, specifies the default port for the option.
*/ inline bool DefaultPortHasBeenSet() const { return m_defaultPortHasBeenSet; } /** *If the option requires a port, specifies the default port for the option.
*/ inline void SetDefaultPort(int value) { m_defaultPortHasBeenSet = true; m_defaultPort = value; } /** *If the option requires a port, specifies the default port for the option.
*/ inline OptionGroupOption& WithDefaultPort(int value) { SetDefaultPort(value); return *this;} /** *The options that are prerequisites for this option.
*/ inline const Aws::VectorThe options that are prerequisites for this option.
*/ inline bool OptionsDependedOnHasBeenSet() const { return m_optionsDependedOnHasBeenSet; } /** *The options that are prerequisites for this option.
*/ inline void SetOptionsDependedOn(const Aws::VectorThe options that are prerequisites for this option.
*/ inline void SetOptionsDependedOn(Aws::VectorThe options that are prerequisites for this option.
*/ inline OptionGroupOption& WithOptionsDependedOn(const Aws::VectorThe options that are prerequisites for this option.
*/ inline OptionGroupOption& WithOptionsDependedOn(Aws::VectorThe options that are prerequisites for this option.
*/ inline OptionGroupOption& AddOptionsDependedOn(const Aws::String& value) { m_optionsDependedOnHasBeenSet = true; m_optionsDependedOn.push_back(value); return *this; } /** *The options that are prerequisites for this option.
*/ inline OptionGroupOption& AddOptionsDependedOn(Aws::String&& value) { m_optionsDependedOnHasBeenSet = true; m_optionsDependedOn.push_back(std::move(value)); return *this; } /** *The options that are prerequisites for this option.
*/ inline OptionGroupOption& AddOptionsDependedOn(const char* value) { m_optionsDependedOnHasBeenSet = true; m_optionsDependedOn.push_back(value); return *this; } /** *The options that conflict with this option.
*/ inline const Aws::VectorThe options that conflict with this option.
*/ inline bool OptionsConflictsWithHasBeenSet() const { return m_optionsConflictsWithHasBeenSet; } /** *The options that conflict with this option.
*/ inline void SetOptionsConflictsWith(const Aws::VectorThe options that conflict with this option.
*/ inline void SetOptionsConflictsWith(Aws::VectorThe options that conflict with this option.
*/ inline OptionGroupOption& WithOptionsConflictsWith(const Aws::VectorThe options that conflict with this option.
*/ inline OptionGroupOption& WithOptionsConflictsWith(Aws::VectorThe options that conflict with this option.
*/ inline OptionGroupOption& AddOptionsConflictsWith(const Aws::String& value) { m_optionsConflictsWithHasBeenSet = true; m_optionsConflictsWith.push_back(value); return *this; } /** *The options that conflict with this option.
*/ inline OptionGroupOption& AddOptionsConflictsWith(Aws::String&& value) { m_optionsConflictsWithHasBeenSet = true; m_optionsConflictsWith.push_back(std::move(value)); return *this; } /** *The options that conflict with this option.
*/ inline OptionGroupOption& AddOptionsConflictsWith(const char* value) { m_optionsConflictsWithHasBeenSet = true; m_optionsConflictsWith.push_back(value); return *this; } /** *Persistent options can't be removed from an option group while DB instances * are associated with the option group. If you disassociate all DB instances from * the option group, your can remove the persistent option from the option * group.
*/ inline bool GetPersistent() const{ return m_persistent; } /** *Persistent options can't be removed from an option group while DB instances * are associated with the option group. If you disassociate all DB instances from * the option group, your can remove the persistent option from the option * group.
*/ inline bool PersistentHasBeenSet() const { return m_persistentHasBeenSet; } /** *Persistent options can't be removed from an option group while DB instances * are associated with the option group. If you disassociate all DB instances from * the option group, your can remove the persistent option from the option * group.
*/ inline void SetPersistent(bool value) { m_persistentHasBeenSet = true; m_persistent = value; } /** *Persistent options can't be removed from an option group while DB instances * are associated with the option group. If you disassociate all DB instances from * the option group, your can remove the persistent option from the option * group.
*/ inline OptionGroupOption& WithPersistent(bool value) { SetPersistent(value); return *this;} /** *Permanent options can never be removed from an option group. An option group * containing a permanent option can't be removed from a DB instance.
*/ inline bool GetPermanent() const{ return m_permanent; } /** *Permanent options can never be removed from an option group. An option group * containing a permanent option can't be removed from a DB instance.
*/ inline bool PermanentHasBeenSet() const { return m_permanentHasBeenSet; } /** *Permanent options can never be removed from an option group. An option group * containing a permanent option can't be removed from a DB instance.
*/ inline void SetPermanent(bool value) { m_permanentHasBeenSet = true; m_permanent = value; } /** *Permanent options can never be removed from an option group. An option group * containing a permanent option can't be removed from a DB instance.
*/ inline OptionGroupOption& WithPermanent(bool value) { SetPermanent(value); return *this;} /** *If true, you must enable the Auto Minor Version Upgrade setting for your DB * instance before you can use this option. You can enable Auto Minor Version * Upgrade when you first create your DB instance, or by modifying your DB instance * later.
*/ inline bool GetRequiresAutoMinorEngineVersionUpgrade() const{ return m_requiresAutoMinorEngineVersionUpgrade; } /** *If true, you must enable the Auto Minor Version Upgrade setting for your DB * instance before you can use this option. You can enable Auto Minor Version * Upgrade when you first create your DB instance, or by modifying your DB instance * later.
*/ inline bool RequiresAutoMinorEngineVersionUpgradeHasBeenSet() const { return m_requiresAutoMinorEngineVersionUpgradeHasBeenSet; } /** *If true, you must enable the Auto Minor Version Upgrade setting for your DB * instance before you can use this option. You can enable Auto Minor Version * Upgrade when you first create your DB instance, or by modifying your DB instance * later.
*/ inline void SetRequiresAutoMinorEngineVersionUpgrade(bool value) { m_requiresAutoMinorEngineVersionUpgradeHasBeenSet = true; m_requiresAutoMinorEngineVersionUpgrade = value; } /** *If true, you must enable the Auto Minor Version Upgrade setting for your DB * instance before you can use this option. You can enable Auto Minor Version * Upgrade when you first create your DB instance, or by modifying your DB instance * later.
*/ inline OptionGroupOption& WithRequiresAutoMinorEngineVersionUpgrade(bool value) { SetRequiresAutoMinorEngineVersionUpgrade(value); return *this;} /** *If true, you can only use this option with a DB instance that is in a * VPC.
*/ inline bool GetVpcOnly() const{ return m_vpcOnly; } /** *If true, you can only use this option with a DB instance that is in a * VPC.
*/ inline bool VpcOnlyHasBeenSet() const { return m_vpcOnlyHasBeenSet; } /** *If true, you can only use this option with a DB instance that is in a * VPC.
*/ inline void SetVpcOnly(bool value) { m_vpcOnlyHasBeenSet = true; m_vpcOnly = value; } /** *If true, you can only use this option with a DB instance that is in a * VPC.
*/ inline OptionGroupOption& WithVpcOnly(bool value) { SetVpcOnly(value); return *this;} /** *If true, you can change the option to an earlier version of the option. This * only applies to options that have different versions available.
*/ inline bool GetSupportsOptionVersionDowngrade() const{ return m_supportsOptionVersionDowngrade; } /** *If true, you can change the option to an earlier version of the option. This * only applies to options that have different versions available.
*/ inline bool SupportsOptionVersionDowngradeHasBeenSet() const { return m_supportsOptionVersionDowngradeHasBeenSet; } /** *If true, you can change the option to an earlier version of the option. This * only applies to options that have different versions available.
*/ inline void SetSupportsOptionVersionDowngrade(bool value) { m_supportsOptionVersionDowngradeHasBeenSet = true; m_supportsOptionVersionDowngrade = value; } /** *If true, you can change the option to an earlier version of the option. This * only applies to options that have different versions available.
*/ inline OptionGroupOption& WithSupportsOptionVersionDowngrade(bool value) { SetSupportsOptionVersionDowngrade(value); return *this;} /** *The option settings that are available (and the default value) for each * option in an option group.
*/ inline const Aws::VectorThe option settings that are available (and the default value) for each * option in an option group.
*/ inline bool OptionGroupOptionSettingsHasBeenSet() const { return m_optionGroupOptionSettingsHasBeenSet; } /** *The option settings that are available (and the default value) for each * option in an option group.
*/ inline void SetOptionGroupOptionSettings(const Aws::VectorThe option settings that are available (and the default value) for each * option in an option group.
*/ inline void SetOptionGroupOptionSettings(Aws::VectorThe option settings that are available (and the default value) for each * option in an option group.
*/ inline OptionGroupOption& WithOptionGroupOptionSettings(const Aws::VectorThe option settings that are available (and the default value) for each * option in an option group.
*/ inline OptionGroupOption& WithOptionGroupOptionSettings(Aws::VectorThe option settings that are available (and the default value) for each * option in an option group.
*/ inline OptionGroupOption& AddOptionGroupOptionSettings(const OptionGroupOptionSetting& value) { m_optionGroupOptionSettingsHasBeenSet = true; m_optionGroupOptionSettings.push_back(value); return *this; } /** *The option settings that are available (and the default value) for each * option in an option group.
*/ inline OptionGroupOption& AddOptionGroupOptionSettings(OptionGroupOptionSetting&& value) { m_optionGroupOptionSettingsHasBeenSet = true; m_optionGroupOptionSettings.push_back(std::move(value)); return *this; } /** *The versions that are available for the option.
*/ inline const Aws::VectorThe versions that are available for the option.
*/ inline bool OptionGroupOptionVersionsHasBeenSet() const { return m_optionGroupOptionVersionsHasBeenSet; } /** *The versions that are available for the option.
*/ inline void SetOptionGroupOptionVersions(const Aws::VectorThe versions that are available for the option.
*/ inline void SetOptionGroupOptionVersions(Aws::VectorThe versions that are available for the option.
*/ inline OptionGroupOption& WithOptionGroupOptionVersions(const Aws::VectorThe versions that are available for the option.
*/ inline OptionGroupOption& WithOptionGroupOptionVersions(Aws::VectorThe versions that are available for the option.
*/ inline OptionGroupOption& AddOptionGroupOptionVersions(const OptionVersion& value) { m_optionGroupOptionVersionsHasBeenSet = true; m_optionGroupOptionVersions.push_back(value); return *this; } /** *The versions that are available for the option.
*/ inline OptionGroupOption& AddOptionGroupOptionVersions(OptionVersion&& value) { m_optionGroupOptionVersionsHasBeenSet = true; m_optionGroupOptionVersions.push_back(std::move(value)); return *this; } /** *Specifies whether the option can be copied across Amazon Web Services * accounts.
*/ inline bool GetCopyableCrossAccount() const{ return m_copyableCrossAccount; } /** *Specifies whether the option can be copied across Amazon Web Services * accounts.
*/ inline bool CopyableCrossAccountHasBeenSet() const { return m_copyableCrossAccountHasBeenSet; } /** *Specifies whether the option can be copied across Amazon Web Services * accounts.
*/ inline void SetCopyableCrossAccount(bool value) { m_copyableCrossAccountHasBeenSet = true; m_copyableCrossAccount = value; } /** *Specifies whether the option can be copied across Amazon Web Services * accounts.
*/ inline OptionGroupOption& WithCopyableCrossAccount(bool value) { SetCopyableCrossAccount(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_engineName; bool m_engineNameHasBeenSet = false; Aws::String m_majorEngineVersion; bool m_majorEngineVersionHasBeenSet = false; Aws::String m_minimumRequiredMinorEngineVersion; bool m_minimumRequiredMinorEngineVersionHasBeenSet = false; bool m_portRequired; bool m_portRequiredHasBeenSet = false; int m_defaultPort; bool m_defaultPortHasBeenSet = false; Aws::Vector