This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-rds/include/aws/rds/model/OptionGroup.h

437 lines
17 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/rds/RDS_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/rds/model/Option.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace RDS
{
namespace Model
{
/**
* <p/><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroup">AWS API
* Reference</a></p>
*/
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;
/**
* <p>Specifies the name of the option group.</p>
*/
inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; }
/**
* <p>Specifies the name of the option group.</p>
*/
inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; }
/**
* <p>Specifies the name of the option group.</p>
*/
inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; }
/**
* <p>Specifies the name of the option group.</p>
*/
inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); }
/**
* <p>Specifies the name of the option group.</p>
*/
inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); }
/**
* <p>Specifies the name of the option group.</p>
*/
inline OptionGroup& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;}
/**
* <p>Specifies the name of the option group.</p>
*/
inline OptionGroup& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;}
/**
* <p>Specifies the name of the option group.</p>
*/
inline OptionGroup& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;}
/**
* <p>Provides a description of the option group.</p>
*/
inline const Aws::String& GetOptionGroupDescription() const{ return m_optionGroupDescription; }
/**
* <p>Provides a description of the option group.</p>
*/
inline bool OptionGroupDescriptionHasBeenSet() const { return m_optionGroupDescriptionHasBeenSet; }
/**
* <p>Provides a description of the option group.</p>
*/
inline void SetOptionGroupDescription(const Aws::String& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = value; }
/**
* <p>Provides a description of the option group.</p>
*/
inline void SetOptionGroupDescription(Aws::String&& value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription = std::move(value); }
/**
* <p>Provides a description of the option group.</p>
*/
inline void SetOptionGroupDescription(const char* value) { m_optionGroupDescriptionHasBeenSet = true; m_optionGroupDescription.assign(value); }
/**
* <p>Provides a description of the option group.</p>
*/
inline OptionGroup& WithOptionGroupDescription(const Aws::String& value) { SetOptionGroupDescription(value); return *this;}
/**
* <p>Provides a description of the option group.</p>
*/
inline OptionGroup& WithOptionGroupDescription(Aws::String&& value) { SetOptionGroupDescription(std::move(value)); return *this;}
/**
* <p>Provides a description of the option group.</p>
*/
inline OptionGroup& WithOptionGroupDescription(const char* value) { SetOptionGroupDescription(value); return *this;}
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline const Aws::String& GetEngineName() const{ return m_engineName; }
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; }
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; }
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); }
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); }
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline OptionGroup& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;}
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline OptionGroup& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;}
/**
* <p>Indicates the name of the engine that this option group can be applied
* to.</p>
*/
inline OptionGroup& WithEngineName(const char* value) { SetEngineName(value); return *this;}
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline const Aws::String& GetMajorEngineVersion() const{ return m_majorEngineVersion; }
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline bool MajorEngineVersionHasBeenSet() const { return m_majorEngineVersionHasBeenSet; }
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline void SetMajorEngineVersion(const Aws::String& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = value; }
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline void SetMajorEngineVersion(Aws::String&& value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion = std::move(value); }
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline void SetMajorEngineVersion(const char* value) { m_majorEngineVersionHasBeenSet = true; m_majorEngineVersion.assign(value); }
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline OptionGroup& WithMajorEngineVersion(const Aws::String& value) { SetMajorEngineVersion(value); return *this;}
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline OptionGroup& WithMajorEngineVersion(Aws::String&& value) { SetMajorEngineVersion(std::move(value)); return *this;}
/**
* <p>Indicates the major engine version associated with this option group.</p>
*/
inline OptionGroup& WithMajorEngineVersion(const char* value) { SetMajorEngineVersion(value); return *this;}
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline const Aws::Vector<Option>& GetOptions() const{ return m_options; }
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline void SetOptions(const Aws::Vector<Option>& value) { m_optionsHasBeenSet = true; m_options = value; }
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline void SetOptions(Aws::Vector<Option>&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); }
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline OptionGroup& WithOptions(const Aws::Vector<Option>& value) { SetOptions(value); return *this;}
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline OptionGroup& WithOptions(Aws::Vector<Option>&& value) { SetOptions(std::move(value)); return *this;}
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline OptionGroup& AddOptions(const Option& value) { m_optionsHasBeenSet = true; m_options.push_back(value); return *this; }
/**
* <p>Indicates what options are available in the option group.</p>
*/
inline OptionGroup& AddOptions(Option&& value) { m_optionsHasBeenSet = true; m_options.push_back(std::move(value)); return *this; }
/**
* <p>Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value <code>true</code> indicates the option group can be applied
* to both VPC and non-VPC instances. </p>
*/
inline bool GetAllowsVpcAndNonVpcInstanceMemberships() const{ return m_allowsVpcAndNonVpcInstanceMemberships; }
/**
* <p>Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value <code>true</code> indicates the option group can be applied
* to both VPC and non-VPC instances. </p>
*/
inline bool AllowsVpcAndNonVpcInstanceMembershipsHasBeenSet() const { return m_allowsVpcAndNonVpcInstanceMembershipsHasBeenSet; }
/**
* <p>Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value <code>true</code> indicates the option group can be applied
* to both VPC and non-VPC instances. </p>
*/
inline void SetAllowsVpcAndNonVpcInstanceMemberships(bool value) { m_allowsVpcAndNonVpcInstanceMembershipsHasBeenSet = true; m_allowsVpcAndNonVpcInstanceMemberships = value; }
/**
* <p>Indicates whether this option group can be applied to both VPC and non-VPC
* instances. The value <code>true</code> indicates the option group can be applied
* to both VPC and non-VPC instances. </p>
*/
inline OptionGroup& WithAllowsVpcAndNonVpcInstanceMemberships(bool value) { SetAllowsVpcAndNonVpcInstanceMemberships(value); return *this;}
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline const Aws::String& GetVpcId() const{ return m_vpcId; }
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); }
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline OptionGroup& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline OptionGroup& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;}
/**
* <p>If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <code>false</code>, this
* field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is
* <code>true</code> 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. </p>
*/
inline OptionGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline const Aws::String& GetOptionGroupArn() const{ return m_optionGroupArn; }
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline bool OptionGroupArnHasBeenSet() const { return m_optionGroupArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline void SetOptionGroupArn(const Aws::String& value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn = value; }
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline void SetOptionGroupArn(Aws::String&& value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline void SetOptionGroupArn(const char* value) { m_optionGroupArnHasBeenSet = true; m_optionGroupArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline OptionGroup& WithOptionGroupArn(const Aws::String& value) { SetOptionGroupArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
inline OptionGroup& WithOptionGroupArn(Aws::String&& value) { SetOptionGroupArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the option group.</p>
*/
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<Option> 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