/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace RDS { namespace Model { /** *

Contains the details for an Amazon RDS DB security group.

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

See Also:

AWS * API Reference

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

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline DBSecurityGroup& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline DBSecurityGroup& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

Provides the Amazon Web Services ID of the owner of a specific DB security * group.

*/ inline DBSecurityGroup& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

Specifies the name of the DB security group.

*/ inline const Aws::String& GetDBSecurityGroupName() const{ return m_dBSecurityGroupName; } /** *

Specifies the name of the DB security group.

*/ inline bool DBSecurityGroupNameHasBeenSet() const { return m_dBSecurityGroupNameHasBeenSet; } /** *

Specifies the name of the DB security group.

*/ inline void SetDBSecurityGroupName(const Aws::String& value) { m_dBSecurityGroupNameHasBeenSet = true; m_dBSecurityGroupName = value; } /** *

Specifies the name of the DB security group.

*/ inline void SetDBSecurityGroupName(Aws::String&& value) { m_dBSecurityGroupNameHasBeenSet = true; m_dBSecurityGroupName = std::move(value); } /** *

Specifies the name of the DB security group.

*/ inline void SetDBSecurityGroupName(const char* value) { m_dBSecurityGroupNameHasBeenSet = true; m_dBSecurityGroupName.assign(value); } /** *

Specifies the name of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupName(const Aws::String& value) { SetDBSecurityGroupName(value); return *this;} /** *

Specifies the name of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupName(Aws::String&& value) { SetDBSecurityGroupName(std::move(value)); return *this;} /** *

Specifies the name of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupName(const char* value) { SetDBSecurityGroupName(value); return *this;} /** *

Provides the description of the DB security group.

*/ inline const Aws::String& GetDBSecurityGroupDescription() const{ return m_dBSecurityGroupDescription; } /** *

Provides the description of the DB security group.

*/ inline bool DBSecurityGroupDescriptionHasBeenSet() const { return m_dBSecurityGroupDescriptionHasBeenSet; } /** *

Provides the description of the DB security group.

*/ inline void SetDBSecurityGroupDescription(const Aws::String& value) { m_dBSecurityGroupDescriptionHasBeenSet = true; m_dBSecurityGroupDescription = value; } /** *

Provides the description of the DB security group.

*/ inline void SetDBSecurityGroupDescription(Aws::String&& value) { m_dBSecurityGroupDescriptionHasBeenSet = true; m_dBSecurityGroupDescription = std::move(value); } /** *

Provides the description of the DB security group.

*/ inline void SetDBSecurityGroupDescription(const char* value) { m_dBSecurityGroupDescriptionHasBeenSet = true; m_dBSecurityGroupDescription.assign(value); } /** *

Provides the description of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupDescription(const Aws::String& value) { SetDBSecurityGroupDescription(value); return *this;} /** *

Provides the description of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupDescription(Aws::String&& value) { SetDBSecurityGroupDescription(std::move(value)); return *this;} /** *

Provides the description of the DB security group.

*/ inline DBSecurityGroup& WithDBSecurityGroupDescription(const char* value) { SetDBSecurityGroupDescription(value); return *this;} /** *

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Provides the VpcId of the DB security group.

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

Contains a list of EC2SecurityGroup elements.

*/ inline const Aws::Vector& GetEC2SecurityGroups() const{ return m_eC2SecurityGroups; } /** *

Contains a list of EC2SecurityGroup elements.

*/ inline bool EC2SecurityGroupsHasBeenSet() const { return m_eC2SecurityGroupsHasBeenSet; } /** *

Contains a list of EC2SecurityGroup elements.

*/ inline void SetEC2SecurityGroups(const Aws::Vector& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups = value; } /** *

Contains a list of EC2SecurityGroup elements.

*/ inline void SetEC2SecurityGroups(Aws::Vector&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups = std::move(value); } /** *

Contains a list of EC2SecurityGroup elements.

*/ inline DBSecurityGroup& WithEC2SecurityGroups(const Aws::Vector& value) { SetEC2SecurityGroups(value); return *this;} /** *

Contains a list of EC2SecurityGroup elements.

*/ inline DBSecurityGroup& WithEC2SecurityGroups(Aws::Vector&& value) { SetEC2SecurityGroups(std::move(value)); return *this;} /** *

Contains a list of EC2SecurityGroup elements.

*/ inline DBSecurityGroup& AddEC2SecurityGroups(const EC2SecurityGroup& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups.push_back(value); return *this; } /** *

Contains a list of EC2SecurityGroup elements.

*/ inline DBSecurityGroup& AddEC2SecurityGroups(EC2SecurityGroup&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups.push_back(std::move(value)); return *this; } /** *

Contains a list of IPRange elements.

*/ inline const Aws::Vector& GetIPRanges() const{ return m_iPRanges; } /** *

Contains a list of IPRange elements.

*/ inline bool IPRangesHasBeenSet() const { return m_iPRangesHasBeenSet; } /** *

Contains a list of IPRange elements.

*/ inline void SetIPRanges(const Aws::Vector& value) { m_iPRangesHasBeenSet = true; m_iPRanges = value; } /** *

Contains a list of IPRange elements.

*/ inline void SetIPRanges(Aws::Vector&& value) { m_iPRangesHasBeenSet = true; m_iPRanges = std::move(value); } /** *

Contains a list of IPRange elements.

*/ inline DBSecurityGroup& WithIPRanges(const Aws::Vector& value) { SetIPRanges(value); return *this;} /** *

Contains a list of IPRange elements.

*/ inline DBSecurityGroup& WithIPRanges(Aws::Vector&& value) { SetIPRanges(std::move(value)); return *this;} /** *

Contains a list of IPRange elements.

*/ inline DBSecurityGroup& AddIPRanges(const IPRange& value) { m_iPRangesHasBeenSet = true; m_iPRanges.push_back(value); return *this; } /** *

Contains a list of IPRange elements.

*/ inline DBSecurityGroup& AddIPRanges(IPRange&& value) { m_iPRangesHasBeenSet = true; m_iPRanges.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetDBSecurityGroupArn() const{ return m_dBSecurityGroupArn; } /** *

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

*/ inline bool DBSecurityGroupArnHasBeenSet() const { return m_dBSecurityGroupArnHasBeenSet; } /** *

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

*/ inline void SetDBSecurityGroupArn(const Aws::String& value) { m_dBSecurityGroupArnHasBeenSet = true; m_dBSecurityGroupArn = value; } /** *

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

*/ inline void SetDBSecurityGroupArn(Aws::String&& value) { m_dBSecurityGroupArnHasBeenSet = true; m_dBSecurityGroupArn = std::move(value); } /** *

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

*/ inline void SetDBSecurityGroupArn(const char* value) { m_dBSecurityGroupArnHasBeenSet = true; m_dBSecurityGroupArn.assign(value); } /** *

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

*/ inline DBSecurityGroup& WithDBSecurityGroupArn(const Aws::String& value) { SetDBSecurityGroupArn(value); return *this;} /** *

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

*/ inline DBSecurityGroup& WithDBSecurityGroupArn(Aws::String&& value) { SetDBSecurityGroupArn(std::move(value)); return *this;} /** *

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

*/ inline DBSecurityGroup& WithDBSecurityGroupArn(const char* value) { SetDBSecurityGroupArn(value); return *this;} private: Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::String m_dBSecurityGroupName; bool m_dBSecurityGroupNameHasBeenSet = false; Aws::String m_dBSecurityGroupDescription; bool m_dBSecurityGroupDescriptionHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Vector m_eC2SecurityGroups; bool m_eC2SecurityGroupsHasBeenSet = false; Aws::Vector m_iPRanges; bool m_iPRangesHasBeenSet = false; Aws::String m_dBSecurityGroupArn; bool m_dBSecurityGroupArnHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws