/** * 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 a security group and Amazon Web Services account ID * pair.

See Also:

AWS * API Reference

*/ class UserIdGroupPair { public: AWS_EC2_API UserIdGroupPair(); AWS_EC2_API UserIdGroupPair(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API UserIdGroupPair& 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; /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline UserIdGroupPair& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline UserIdGroupPair& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description for the security group rule that references this user ID group * pair.

Constraints: Up to 255 characters in length. Allowed characters are * a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

*/ inline UserIdGroupPair& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

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 UserIdGroupPair& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} /** *

The ID of the security group.

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

The ID of the security group.

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

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline const Aws::String& GetGroupName() const{ return m_groupName; } /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; } /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); } /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); } /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline UserIdGroupPair& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline UserIdGroupPair& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} /** *

[Default VPC] The name of the security group. For a security group in a * nondefault VPC, use the security group ID.

For a referenced security * group in another VPC, this value is not returned if the referenced security * group is deleted.

*/ inline UserIdGroupPair& WithGroupName(const char* value) { SetGroupName(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 UserIdGroupPair& WithPeeringStatus(const Aws::String& value) { SetPeeringStatus(value); return *this;} /** *

The status of a VPC peering connection, if applicable.

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

The status of a VPC peering connection, if applicable.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of an Amazon Web Services account.

For a referenced security * group in another VPC, the account ID of the referenced security group is * returned in the response. If the referenced security group is deleted, this * value is not returned.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC for the referenced security group, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

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

The ID of the VPC peering connection, if applicable.

*/ inline UserIdGroupPair& WithVpcPeeringConnectionId(const char* value) { SetVpcPeeringConnectionId(value); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_groupId; bool m_groupIdHasBeenSet = false; Aws::String m_groupName; bool m_groupNameHasBeenSet = 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