/** * 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 #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a VPC in a VPC peering connection.

See Also:

AWS * API Reference

*/ class VpcPeeringConnectionVpcInfo { public: AWS_EC2_API VpcPeeringConnectionVpcInfo(); AWS_EC2_API VpcPeeringConnectionVpcInfo(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API VpcPeeringConnectionVpcInfo& 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 IPv4 CIDR block for the VPC.

*/ inline const Aws::String& GetCidrBlock() const{ return m_cidrBlock; } /** *

The IPv4 CIDR block for the VPC.

*/ inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; } /** *

The IPv4 CIDR block for the VPC.

*/ inline void SetCidrBlock(const Aws::String& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = value; } /** *

The IPv4 CIDR block for the VPC.

*/ inline void SetCidrBlock(Aws::String&& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = std::move(value); } /** *

The IPv4 CIDR block for the VPC.

*/ inline void SetCidrBlock(const char* value) { m_cidrBlockHasBeenSet = true; m_cidrBlock.assign(value); } /** *

The IPv4 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithCidrBlock(const Aws::String& value) { SetCidrBlock(value); return *this;} /** *

The IPv4 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithCidrBlock(Aws::String&& value) { SetCidrBlock(std::move(value)); return *this;} /** *

The IPv4 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithCidrBlock(const char* value) { SetCidrBlock(value); return *this;} /** *

The IPv6 CIDR block for the VPC.

*/ inline const Aws::Vector& GetIpv6CidrBlockSet() const{ return m_ipv6CidrBlockSet; } /** *

The IPv6 CIDR block for the VPC.

*/ inline bool Ipv6CidrBlockSetHasBeenSet() const { return m_ipv6CidrBlockSetHasBeenSet; } /** *

The IPv6 CIDR block for the VPC.

*/ inline void SetIpv6CidrBlockSet(const Aws::Vector& value) { m_ipv6CidrBlockSetHasBeenSet = true; m_ipv6CidrBlockSet = value; } /** *

The IPv6 CIDR block for the VPC.

*/ inline void SetIpv6CidrBlockSet(Aws::Vector&& value) { m_ipv6CidrBlockSetHasBeenSet = true; m_ipv6CidrBlockSet = std::move(value); } /** *

The IPv6 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithIpv6CidrBlockSet(const Aws::Vector& value) { SetIpv6CidrBlockSet(value); return *this;} /** *

The IPv6 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithIpv6CidrBlockSet(Aws::Vector&& value) { SetIpv6CidrBlockSet(std::move(value)); return *this;} /** *

The IPv6 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& AddIpv6CidrBlockSet(const Ipv6CidrBlock& value) { m_ipv6CidrBlockSetHasBeenSet = true; m_ipv6CidrBlockSet.push_back(value); return *this; } /** *

The IPv6 CIDR block for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& AddIpv6CidrBlockSet(Ipv6CidrBlock&& value) { m_ipv6CidrBlockSetHasBeenSet = true; m_ipv6CidrBlockSet.push_back(std::move(value)); return *this; } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline const Aws::Vector& GetCidrBlockSet() const{ return m_cidrBlockSet; } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline bool CidrBlockSetHasBeenSet() const { return m_cidrBlockSetHasBeenSet; } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline void SetCidrBlockSet(const Aws::Vector& value) { m_cidrBlockSetHasBeenSet = true; m_cidrBlockSet = value; } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline void SetCidrBlockSet(Aws::Vector&& value) { m_cidrBlockSetHasBeenSet = true; m_cidrBlockSet = std::move(value); } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithCidrBlockSet(const Aws::Vector& value) { SetCidrBlockSet(value); return *this;} /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithCidrBlockSet(Aws::Vector&& value) { SetCidrBlockSet(std::move(value)); return *this;} /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& AddCidrBlockSet(const CidrBlock& value) { m_cidrBlockSetHasBeenSet = true; m_cidrBlockSet.push_back(value); return *this; } /** *

Information about the IPv4 CIDR blocks for the VPC.

*/ inline VpcPeeringConnectionVpcInfo& AddCidrBlockSet(CidrBlock&& value) { m_cidrBlockSetHasBeenSet = true; m_cidrBlockSet.push_back(std::move(value)); return *this; } /** *

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

The ID of the Amazon Web Services account that owns the VPC.

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

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline const VpcPeeringConnectionOptionsDescription& GetPeeringOptions() const{ return m_peeringOptions; } /** *

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline bool PeeringOptionsHasBeenSet() const { return m_peeringOptionsHasBeenSet; } /** *

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline void SetPeeringOptions(const VpcPeeringConnectionOptionsDescription& value) { m_peeringOptionsHasBeenSet = true; m_peeringOptions = value; } /** *

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline void SetPeeringOptions(VpcPeeringConnectionOptionsDescription&& value) { m_peeringOptionsHasBeenSet = true; m_peeringOptions = std::move(value); } /** *

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithPeeringOptions(const VpcPeeringConnectionOptionsDescription& value) { SetPeeringOptions(value); return *this;} /** *

Information about the VPC peering connection options for the accepter or * requester VPC.

*/ inline VpcPeeringConnectionVpcInfo& WithPeeringOptions(VpcPeeringConnectionOptionsDescription&& value) { SetPeeringOptions(std::move(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 VpcPeeringConnectionVpcInfo& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the VPC.

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

The ID of the VPC.

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

The Region in which the VPC is located.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Region in which the VPC is located.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Region in which the VPC is located.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Region in which the VPC is located.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Region in which the VPC is located.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Region in which the VPC is located.

*/ inline VpcPeeringConnectionVpcInfo& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Region in which the VPC is located.

*/ inline VpcPeeringConnectionVpcInfo& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Region in which the VPC is located.

*/ inline VpcPeeringConnectionVpcInfo& WithRegion(const char* value) { SetRegion(value); return *this;} private: Aws::String m_cidrBlock; bool m_cidrBlockHasBeenSet = false; Aws::Vector m_ipv6CidrBlockSet; bool m_ipv6CidrBlockSetHasBeenSet = false; Aws::Vector m_cidrBlockSet; bool m_cidrBlockSetHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; VpcPeeringConnectionOptionsDescription m_peeringOptions; bool m_peeringOptionsHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws