/**
* 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 Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace RDS
{
namespace Model
{
/**
*
See Also: AWS API
* Reference
*/
class AWS_RDS_API OptionGroup
{
public:
OptionGroup();
OptionGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
OptionGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* Specifies the name of the option group.
*/
inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; }
/**
* Specifies the name of the option group.
*/
inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; }
/**
* Specifies the name of the option group.
*/
inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; }
/**
* Specifies the name of the option group.
*/
inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); }
/**
* Specifies the name of the option group.
*/
inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); }
/**
* Specifies the name of the option group.
*/
inline OptionGroup& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;}
/**
* Specifies the name of the option group.
*/
inline OptionGroup& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;}
/**
* Specifies the name of the option group.
*/
inline OptionGroup& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;}
/**
* Provides a description of the option group.
*/
inline const Aws::String& GetOptionGroupDescription() const{ return m_optionGroupDescription; }
/**
* Provides a description of the option group.
*/
inline bool OptionGroupDescriptionHasBeenSet() const { return m_optionGroupDescriptionHasBeenSet; }
/**
* Provides a description of the option group.
*/
inline void SetOptionGroupDescription(const Aws::String& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = value; }
/**
* Provides a description of the option group.
*/
inline void SetOptionGroupDescription(Aws::String&& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = std::move(value); }
/**
* Provides a description of the option group.
*/
inline void SetOptionGroupDescription(const char* value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription.assign(value); }
/**
* Provides a description of the option group.
*/
inline OptionGroup& WithOptionGroupDescription(const Aws::String& value) { SetOptionGroupDescription(value); return *this;}
/**
* Provides a description of the option group.
*/
inline OptionGroup& WithOptionGroupDescription(Aws::String&& value) { SetOptionGroupDescription(std::move(value)); return *this;}
/**
* Provides a description of the option group.
*/
inline OptionGroup& WithOptionGroupDescription(const char* value) { SetOptionGroupDescription(value); return *this;}
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline const Aws::String& GetEngineName() const{ return m_engineName; }
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; }
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; }
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); }
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); }
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline OptionGroup& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;}
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline OptionGroup& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;}
/**
* Indicates the name of the engine that this option group can be applied
* to.
*/
inline OptionGroup& WithEngineName(const char* value) { SetEngineName(value); return *this;}
/**
* Indicates the major engine version associated with this option group.
*/
inline const Aws::String& GetMajorEngineVersion() const{ return m_majorEngineVersion; }
/**
* Indicates the major engine version associated with this option group.
*/
inline bool MajorEngineVersionHasBeenSet() const { return m_majorEngineVersionHasBeenSet; }
/**
* Indicates the major engine version associated with this option group.
*/
inline void SetMajorEngineVersion(const Aws::String& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = value; }
/**
* Indicates the major engine version associated with this option group.
*/
inline void SetMajorEngineVersion(Aws::String&& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = std::move(value); }
/**
* Indicates the major engine version associated with this option group.
*/
inline void SetMajorEngineVersion(const char* value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion.assign(value); }
/**
* Indicates the major engine version associated with this option group.
*/
inline OptionGroup& WithMajorEngineVersion(const Aws::String& value) { SetMajorEngineVersion(value); return *this;}
/**
* Indicates the major engine version associated with this option group.
*/
inline OptionGroup& WithMajorEngineVersion(Aws::String&& value) { SetMajorEngineVersion(std::move(value)); return *this;}
/**
* Indicates the major engine version associated with this option group.
*/
inline OptionGroup& WithMajorEngineVersion(const char* value) { SetMajorEngineVersion(value); return *this;}
/**
* Indicates what options are available in the option group.
*/
inline const Aws::Vector& GetOptions() const{ return m_options; }
/**
* Indicates what options are available in the option group.
*/
inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
/**
* Indicates what options are available in the option group.
*/
inline void SetOptions(const Aws::Vector & value) { m_optionsHasBeenSet = true; m_options = value; }
/**
* Indicates what options are available in the option group.
*/
inline void SetOptions(Aws::Vector && value) { m_optionsHasBeenSet = true; m_options = std::move(value); }
/**
* Indicates what options are available in the option group.
*/
inline OptionGroup& WithOptions(const Aws::Vector & value) { SetOptions(value); return *this;}
/**
* Indicates what options are available in the option group.
*/
inline OptionGroup& WithOptions(Aws::Vector && value) { SetOptions(std::move(value)); return *this;}
/**
* Indicates what options are available in the option group.
*/
inline OptionGroup& AddOptions(const Option& value) { m_optionsHasBeenSet = true; m_options.push_back(value); return *this; }
/**
* Indicates what options are available in the option group.
*/
inline OptionGroup& AddOptions(Option&& value) { m_optionsHasBeenSet = true; m_options.push_back(std::move(value)); return *this; }
/**
* Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value true indicates the option group can be applied
* to both VPC and non-VPC instances.
*/
inline bool GetAllowsVpcAndNonVpcInstanceMemberships() const{ return m_allowsVpcAndNonVpcInstanceMemberships; }
/**
* Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value true indicates the option group can be applied
* to both VPC and non-VPC instances.
*/
inline bool AllowsVpcAndNonVpcInstanceMembershipsHasBeenSet() const { return m_allowsVpcAndNonVpcInstanceMembershipsHasBeenSet; }
/**
* Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value true indicates the option group can be applied
* to both VPC and non-VPC instances.
*/
inline void SetAllowsVpcAndNonVpcInstanceMemberships(bool value) { m_allowsVpcAndNonVpcInstanceMembershipsHasBeenSet = true; m_allowsVpcAndNonVpcInstanceMemberships = value; }
/**
* Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value true indicates the option group can be applied
* to both VPC and non-VPC instances.
*/
inline OptionGroup& WithAllowsVpcAndNonVpcInstanceMemberships(bool value) { SetAllowsVpcAndNonVpcInstanceMemberships(value); return *this;}
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline const Aws::String& GetVpcId() const{ return m_vpcId; }
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); }
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline OptionGroup& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline OptionGroup& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;}
/**
* If AllowsVpcAndNonVpcInstanceMemberships is false, this
* field is blank. If AllowsVpcAndNonVpcInstanceMemberships is
* true and this field is blank, then this option group can be applied
* to both VPC and non-VPC instances. If this field contains a value, then this
* option group can only be applied to instances that are in the VPC indicated by
* this field.
*/
inline OptionGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;}
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline const Aws::String& GetOptionGroupArn() const{ return m_optionGroupArn; }
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline bool OptionGroupArnHasBeenSet() const { return m_optionGroupArnHasBeenSet; }
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline void SetOptionGroupArn(const Aws::String& value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn = value; }
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline void SetOptionGroupArn(Aws::String&& value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn = std::move(value); }
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline void SetOptionGroupArn(const char* value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn.assign(value); }
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline OptionGroup& WithOptionGroupArn(const Aws::String& value) { SetOptionGroupArn(value); return *this;}
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline OptionGroup& WithOptionGroupArn(Aws::String&& value) { SetOptionGroupArn(std::move(value)); return *this;}
/**
* The Amazon Resource Name (ARN) for the option group.
*/
inline OptionGroup& WithOptionGroupArn(const char* value) { SetOptionGroupArn(value); return *this;}
private:
Aws::String m_optionGroupName;
bool m_optionGroupNameHasBeenSet;
Aws::String m_optionGroupDescription;
bool m_optionGroupDescriptionHasBeenSet;
Aws::String m_engineName;
bool m_engineNameHasBeenSet;
Aws::String m_majorEngineVersion;
bool m_majorEngineVersionHasBeenSet;
Aws::Vector m_options;
bool m_optionsHasBeenSet;
bool m_allowsVpcAndNonVpcInstanceMemberships;
bool m_allowsVpcAndNonVpcInstanceMembershipsHasBeenSet;
Aws::String m_vpcId;
bool m_vpcIdHasBeenSet;
Aws::String m_optionGroupArn;
bool m_optionGroupArnHasBeenSet;
};
} // namespace Model
} // namespace RDS
} // namespace Aws