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

Describes the security group that is referenced in the security group * rule.

See Also:

AWS * API Reference

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

The ID of the security group.

*/ inline const Aws::String& GetGroupId() const{ return m_groupId; } /** *

The ID of the security group.

*/ inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } /** *

The ID of the security group.

*/ inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } /** *

The ID of the security group.

*/ inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } /** *

The ID of the security group.

*/ inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } /** *

The ID of the security group.

*/ inline ReferencedSecurityGroup& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} /** *

The ID of the security group.

*/ inline ReferencedSecurityGroup& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} /** *

The ID of the security group.

*/ inline ReferencedSecurityGroup& WithGroupId(const char* value) { SetGroupId(value); return *this;} /** *

The status of a VPC peering connection, if applicable.

*/ inline const Aws::String& GetPeeringStatus() const{ return m_peeringStatus; } /** *

The status of a VPC peering connection, if applicable.

*/ inline bool PeeringStatusHasBeenSet() const { return m_peeringStatusHasBeenSet; } /** *

The status of a VPC peering connection, if applicable.

*/ inline void SetPeeringStatus(const Aws::String& value) { m_peeringStatusHasBeenSet = true; m_peeringStatus = value; } /** *

The status of a VPC peering connection, if applicable.

*/ inline void SetPeeringStatus(Aws::String&& value) { m_peeringStatusHasBeenSet = true; m_peeringStatus = std::move(value); } /** *

The status of a VPC peering connection, if applicable.

*/ inline void SetPeeringStatus(const char* value) { m_peeringStatusHasBeenSet = true; m_peeringStatus.assign(value); } /** *

The status of a VPC peering connection, if applicable.

*/ inline ReferencedSecurityGroup& WithPeeringStatus(const Aws::String& value) { SetPeeringStatus(value); return *this;} /** *

The status of a VPC peering connection, if applicable.

*/ inline ReferencedSecurityGroup& WithPeeringStatus(Aws::String&& value) { SetPeeringStatus(std::move(value)); return *this;} /** *

The status of a VPC peering connection, if applicable.

*/ inline ReferencedSecurityGroup& WithPeeringStatus(const char* value) { SetPeeringStatus(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The Amazon Web Services account ID.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The Amazon Web Services account ID.

*/ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** *

The Amazon Web Services account ID.

*/ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** *

The Amazon Web Services account ID.

*/ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** *

The Amazon Web Services account ID.

*/ inline ReferencedSecurityGroup& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline ReferencedSecurityGroup& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

*/ inline ReferencedSecurityGroup& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC.

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

The ID of the VPC peering connection.

*/ inline const Aws::String& GetVpcPeeringConnectionId() const{ return m_vpcPeeringConnectionId; } /** *

The ID of the VPC peering connection.

*/ inline bool VpcPeeringConnectionIdHasBeenSet() const { return m_vpcPeeringConnectionIdHasBeenSet; } /** *

The ID of the VPC peering connection.

*/ inline void SetVpcPeeringConnectionId(const Aws::String& value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId = value; } /** *

The ID of the VPC peering connection.

*/ inline void SetVpcPeeringConnectionId(Aws::String&& value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId = std::move(value); } /** *

The ID of the VPC peering connection.

*/ inline void SetVpcPeeringConnectionId(const char* value) { m_vpcPeeringConnectionIdHasBeenSet = true; m_vpcPeeringConnectionId.assign(value); } /** *

The ID of the VPC peering connection.

*/ inline ReferencedSecurityGroup& WithVpcPeeringConnectionId(const Aws::String& value) { SetVpcPeeringConnectionId(value); return *this;} /** *

The ID of the VPC peering connection.

*/ inline ReferencedSecurityGroup& WithVpcPeeringConnectionId(Aws::String&& value) { SetVpcPeeringConnectionId(std::move(value)); return *this;} /** *

The ID of the VPC peering connection.

*/ inline ReferencedSecurityGroup& WithVpcPeeringConnectionId(const char* value) { SetVpcPeeringConnectionId(value); return *this;} private: Aws::String m_groupId; bool m_groupIdHasBeenSet = false; Aws::String m_peeringStatus; bool m_peeringStatusHasBeenSet = false; Aws::String m_userId; bool m_userIdHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::String m_vpcPeeringConnectionId; bool m_vpcPeeringConnectionIdHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws