/** * 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 RDS { namespace Model { /** *

See Also:

AWS * API Reference

*/ class ModifyOptionGroupRequest : public RDSRequest { public: AWS_RDS_API ModifyOptionGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ModifyOptionGroup"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; } /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; } /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; } /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); } /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); } /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline ModifyOptionGroupRequest& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;} /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline ModifyOptionGroupRequest& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;} /** *

The name of the option group to be modified.

Permanent options, such * as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance once it * is associated with a DB instance

*/ inline ModifyOptionGroupRequest& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;} /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline const Aws::Vector& GetOptionsToInclude() const{ return m_optionsToInclude; } /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline bool OptionsToIncludeHasBeenSet() const { return m_optionsToIncludeHasBeenSet; } /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline void SetOptionsToInclude(const Aws::Vector& value) { m_optionsToIncludeHasBeenSet = true; m_optionsToInclude = value; } /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline void SetOptionsToInclude(Aws::Vector&& value) { m_optionsToIncludeHasBeenSet = true; m_optionsToInclude = std::move(value); } /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline ModifyOptionGroupRequest& WithOptionsToInclude(const Aws::Vector& value) { SetOptionsToInclude(value); return *this;} /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline ModifyOptionGroupRequest& WithOptionsToInclude(Aws::Vector&& value) { SetOptionsToInclude(std::move(value)); return *this;} /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline ModifyOptionGroupRequest& AddOptionsToInclude(const OptionConfiguration& value) { m_optionsToIncludeHasBeenSet = true; m_optionsToInclude.push_back(value); return *this; } /** *

Options in this list are added to the option group or, if already present, * the specified configuration is used to update the existing configuration.

*/ inline ModifyOptionGroupRequest& AddOptionsToInclude(OptionConfiguration&& value) { m_optionsToIncludeHasBeenSet = true; m_optionsToInclude.push_back(std::move(value)); return *this; } /** *

Options in this list are removed from the option group.

*/ inline const Aws::Vector& GetOptionsToRemove() const{ return m_optionsToRemove; } /** *

Options in this list are removed from the option group.

*/ inline bool OptionsToRemoveHasBeenSet() const { return m_optionsToRemoveHasBeenSet; } /** *

Options in this list are removed from the option group.

*/ inline void SetOptionsToRemove(const Aws::Vector& value) { m_optionsToRemoveHasBeenSet = true; m_optionsToRemove = value; } /** *

Options in this list are removed from the option group.

*/ inline void SetOptionsToRemove(Aws::Vector&& value) { m_optionsToRemoveHasBeenSet = true; m_optionsToRemove = std::move(value); } /** *

Options in this list are removed from the option group.

*/ inline ModifyOptionGroupRequest& WithOptionsToRemove(const Aws::Vector& value) { SetOptionsToRemove(value); return *this;} /** *

Options in this list are removed from the option group.

*/ inline ModifyOptionGroupRequest& WithOptionsToRemove(Aws::Vector&& value) { SetOptionsToRemove(std::move(value)); return *this;} /** *

Options in this list are removed from the option group.

*/ inline ModifyOptionGroupRequest& AddOptionsToRemove(const Aws::String& value) { m_optionsToRemoveHasBeenSet = true; m_optionsToRemove.push_back(value); return *this; } /** *

Options in this list are removed from the option group.

*/ inline ModifyOptionGroupRequest& AddOptionsToRemove(Aws::String&& value) { m_optionsToRemoveHasBeenSet = true; m_optionsToRemove.push_back(std::move(value)); return *this; } /** *

Options in this list are removed from the option group.

*/ inline ModifyOptionGroupRequest& AddOptionsToRemove(const char* value) { m_optionsToRemoveHasBeenSet = true; m_optionsToRemove.push_back(value); return *this; } /** *

A value that indicates whether to apply the change immediately or during the * next maintenance window for each instance associated with the option group.

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

A value that indicates whether to apply the change immediately or during the * next maintenance window for each instance associated with the option group.

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

A value that indicates whether to apply the change immediately or during the * next maintenance window for each instance associated with the option group.

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

A value that indicates whether to apply the change immediately or during the * next maintenance window for each instance associated with the option group.

*/ inline ModifyOptionGroupRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} private: Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet = false; Aws::Vector m_optionsToInclude; bool m_optionsToIncludeHasBeenSet = false; Aws::Vector m_optionsToRemove; bool m_optionsToRemoveHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws