/** * 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 CreateOptionGroupRequest : public RDSRequest { public: AWS_RDS_API CreateOptionGroupRequest(); // 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 "CreateOptionGroup"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the option group to be created.

Constraints:

*
  • Must be 1 to 255 letters, numbers, or hyphens

  • *

    First character must be a letter

  • Can't end with a hyphen or * contain two consecutive hyphens

Example: * myoptiongroup

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

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline const Aws::String& GetEngineName() const{ return m_engineName; } /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; } /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; } /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); } /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); } /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline CreateOptionGroupRequest& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;} /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline CreateOptionGroupRequest& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;} /** *

Specifies the name of the engine that this option group should be associated * with.

Valid Values:

  • mariadb

  • *
  • mysql

  • oracle-ee

    *
  • oracle-ee-cdb

  • * oracle-se2

  • oracle-se2-cdb

    *
  • postgres

  • * sqlserver-ee

  • sqlserver-se

    *
  • sqlserver-ex

  • * sqlserver-web

*/ inline CreateOptionGroupRequest& WithEngineName(const char* value) { SetEngineName(value); return *this;} /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline const Aws::String& GetMajorEngineVersion() const{ return m_majorEngineVersion; } /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline bool MajorEngineVersionHasBeenSet() const { return m_majorEngineVersionHasBeenSet; } /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline void SetMajorEngineVersion(const Aws::String& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = value; } /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline void SetMajorEngineVersion(Aws::String&& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = std::move(value); } /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline void SetMajorEngineVersion(const char* value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion.assign(value); } /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline CreateOptionGroupRequest& WithMajorEngineVersion(const Aws::String& value) { SetMajorEngineVersion(value); return *this;} /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline CreateOptionGroupRequest& WithMajorEngineVersion(Aws::String&& value) { SetMajorEngineVersion(std::move(value)); return *this;} /** *

Specifies the major version of the engine that this option group should be * associated with.

*/ inline CreateOptionGroupRequest& WithMajorEngineVersion(const char* value) { SetMajorEngineVersion(value); return *this;} /** *

The description of the option group.

*/ inline const Aws::String& GetOptionGroupDescription() const{ return m_optionGroupDescription; } /** *

The description of the option group.

*/ inline bool OptionGroupDescriptionHasBeenSet() const { return m_optionGroupDescriptionHasBeenSet; } /** *

The description of the option group.

*/ inline void SetOptionGroupDescription(const Aws::String& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = value; } /** *

The description of the option group.

*/ inline void SetOptionGroupDescription(Aws::String&& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = std::move(value); } /** *

The description of the option group.

*/ inline void SetOptionGroupDescription(const char* value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription.assign(value); } /** *

The description of the option group.

*/ inline CreateOptionGroupRequest& WithOptionGroupDescription(const Aws::String& value) { SetOptionGroupDescription(value); return *this;} /** *

The description of the option group.

*/ inline CreateOptionGroupRequest& WithOptionGroupDescription(Aws::String&& value) { SetOptionGroupDescription(std::move(value)); return *this;} /** *

The description of the option group.

*/ inline CreateOptionGroupRequest& WithOptionGroupDescription(const char* value) { SetOptionGroupDescription(value); return *this;} /** *

Tags to assign to the option group.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Tags to assign to the option group.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Tags to assign to the option group.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Tags to assign to the option group.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Tags to assign to the option group.

*/ inline CreateOptionGroupRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Tags to assign to the option group.

*/ inline CreateOptionGroupRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Tags to assign to the option group.

*/ inline CreateOptionGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Tags to assign to the option group.

*/ inline CreateOptionGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet = false; Aws::String m_engineName; bool m_engineNameHasBeenSet = false; Aws::String m_majorEngineVersion; bool m_majorEngineVersionHasBeenSet = false; Aws::String m_optionGroupDescription; bool m_optionGroupDescriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws