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

Contains the details of an Amazon Neptune DB subnet group.

This data * type is used as a response element in the DescribeDBSubnetGroups * action.

See Also:

AWS * API Reference

*/ class DBSubnetGroup { public: AWS_NEPTUNE_API DBSubnetGroup(); AWS_NEPTUNE_API DBSubnetGroup(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_NEPTUNE_API DBSubnetGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_NEPTUNE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_NEPTUNE_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the DB subnet group.

*/ inline const Aws::String& GetDBSubnetGroupName() const{ return m_dBSubnetGroupName; } /** *

The name of the DB subnet group.

*/ inline bool DBSubnetGroupNameHasBeenSet() const { return m_dBSubnetGroupNameHasBeenSet; } /** *

The name of the DB subnet group.

*/ inline void SetDBSubnetGroupName(const Aws::String& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = value; } /** *

The name of the DB subnet group.

*/ inline void SetDBSubnetGroupName(Aws::String&& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = std::move(value); } /** *

The name of the DB subnet group.

*/ inline void SetDBSubnetGroupName(const char* value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName.assign(value); } /** *

The name of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupName(const Aws::String& value) { SetDBSubnetGroupName(value); return *this;} /** *

The name of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupName(Aws::String&& value) { SetDBSubnetGroupName(std::move(value)); return *this;} /** *

The name of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupName(const char* value) { SetDBSubnetGroupName(value); return *this;} /** *

Provides the description of the DB subnet group.

*/ inline const Aws::String& GetDBSubnetGroupDescription() const{ return m_dBSubnetGroupDescription; } /** *

Provides the description of the DB subnet group.

*/ inline bool DBSubnetGroupDescriptionHasBeenSet() const { return m_dBSubnetGroupDescriptionHasBeenSet; } /** *

Provides the description of the DB subnet group.

*/ inline void SetDBSubnetGroupDescription(const Aws::String& value) { m_dBSubnetGroupDescriptionHasBeenSet = true; m_dBSubnetGroupDescription = value; } /** *

Provides the description of the DB subnet group.

*/ inline void SetDBSubnetGroupDescription(Aws::String&& value) { m_dBSubnetGroupDescriptionHasBeenSet = true; m_dBSubnetGroupDescription = std::move(value); } /** *

Provides the description of the DB subnet group.

*/ inline void SetDBSubnetGroupDescription(const char* value) { m_dBSubnetGroupDescriptionHasBeenSet = true; m_dBSubnetGroupDescription.assign(value); } /** *

Provides the description of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupDescription(const Aws::String& value) { SetDBSubnetGroupDescription(value); return *this;} /** *

Provides the description of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupDescription(Aws::String&& value) { SetDBSubnetGroupDescription(std::move(value)); return *this;} /** *

Provides the description of the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupDescription(const char* value) { SetDBSubnetGroupDescription(value); return *this;} /** *

Provides the VpcId of the DB subnet group.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

Provides the VpcId of the DB subnet group.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

Provides the VpcId of the DB subnet group.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

Provides the VpcId of the DB subnet group.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

Provides the VpcId of the DB subnet group.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

Provides the VpcId of the DB subnet group.

*/ inline DBSubnetGroup& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

Provides the VpcId of the DB subnet group.

*/ inline DBSubnetGroup& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

Provides the VpcId of the DB subnet group.

*/ inline DBSubnetGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

Provides the status of the DB subnet group.

*/ inline const Aws::String& GetSubnetGroupStatus() const{ return m_subnetGroupStatus; } /** *

Provides the status of the DB subnet group.

*/ inline bool SubnetGroupStatusHasBeenSet() const { return m_subnetGroupStatusHasBeenSet; } /** *

Provides the status of the DB subnet group.

*/ inline void SetSubnetGroupStatus(const Aws::String& value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus = value; } /** *

Provides the status of the DB subnet group.

*/ inline void SetSubnetGroupStatus(Aws::String&& value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus = std::move(value); } /** *

Provides the status of the DB subnet group.

*/ inline void SetSubnetGroupStatus(const char* value) { m_subnetGroupStatusHasBeenSet = true; m_subnetGroupStatus.assign(value); } /** *

Provides the status of the DB subnet group.

*/ inline DBSubnetGroup& WithSubnetGroupStatus(const Aws::String& value) { SetSubnetGroupStatus(value); return *this;} /** *

Provides the status of the DB subnet group.

*/ inline DBSubnetGroup& WithSubnetGroupStatus(Aws::String&& value) { SetSubnetGroupStatus(std::move(value)); return *this;} /** *

Provides the status of the DB subnet group.

*/ inline DBSubnetGroup& WithSubnetGroupStatus(const char* value) { SetSubnetGroupStatus(value); return *this;} /** *

Contains a list of Subnet elements.

*/ inline const Aws::Vector& GetSubnets() const{ return m_subnets; } /** *

Contains a list of Subnet elements.

*/ inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; } /** *

Contains a list of Subnet elements.

*/ inline void SetSubnets(const Aws::Vector& value) { m_subnetsHasBeenSet = true; m_subnets = value; } /** *

Contains a list of Subnet elements.

*/ inline void SetSubnets(Aws::Vector&& value) { m_subnetsHasBeenSet = true; m_subnets = std::move(value); } /** *

Contains a list of Subnet elements.

*/ inline DBSubnetGroup& WithSubnets(const Aws::Vector& value) { SetSubnets(value); return *this;} /** *

Contains a list of Subnet elements.

*/ inline DBSubnetGroup& WithSubnets(Aws::Vector&& value) { SetSubnets(std::move(value)); return *this;} /** *

Contains a list of Subnet elements.

*/ inline DBSubnetGroup& AddSubnets(const Subnet& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *

Contains a list of Subnet elements.

*/ inline DBSubnetGroup& AddSubnets(Subnet&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline const Aws::String& GetDBSubnetGroupArn() const{ return m_dBSubnetGroupArn; } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline bool DBSubnetGroupArnHasBeenSet() const { return m_dBSubnetGroupArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline void SetDBSubnetGroupArn(const Aws::String& value) { m_dBSubnetGroupArnHasBeenSet = true; m_dBSubnetGroupArn = value; } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline void SetDBSubnetGroupArn(Aws::String&& value) { m_dBSubnetGroupArnHasBeenSet = true; m_dBSubnetGroupArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline void SetDBSubnetGroupArn(const char* value) { m_dBSubnetGroupArnHasBeenSet = true; m_dBSubnetGroupArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupArn(const Aws::String& value) { SetDBSubnetGroupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupArn(Aws::String&& value) { SetDBSubnetGroupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the DB subnet group.

*/ inline DBSubnetGroup& WithDBSubnetGroupArn(const char* value) { SetDBSubnetGroupArn(value); return *this;} private: Aws::String m_dBSubnetGroupName; bool m_dBSubnetGroupNameHasBeenSet = false; Aws::String m_dBSubnetGroupDescription; bool m_dBSubnetGroupDescriptionHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::String m_subnetGroupStatus; bool m_subnetGroupStatusHasBeenSet = false; Aws::Vector m_subnets; bool m_subnetsHasBeenSet = false; Aws::String m_dBSubnetGroupArn; bool m_dBSubnetGroupArnHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws