/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Describes a VPC in a VPC peering connection.

See Also:

AWS * API Reference

*/ class AwsEc2VpcPeeringConnectionVpcInfoDetails { public: AWS_SECURITYHUB_API AwsEc2VpcPeeringConnectionVpcInfoDetails(); AWS_SECURITYHUB_API AwsEc2VpcPeeringConnectionVpcInfoDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsEc2VpcPeeringConnectionVpcInfoDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() 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 AwsEc2VpcPeeringConnectionVpcInfoDetails& WithCidrBlock(const Aws::String& value) { SetCidrBlock(value); return *this;} /** *

The IPv4 CIDR block for the VPC.

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

The IPv4 CIDR block for the VPC.

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& WithCidrBlock(const char* value) { SetCidrBlock(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 AwsEc2VpcPeeringConnectionVpcInfoDetails& WithCidrBlockSet(const Aws::Vector& value) { SetCidrBlockSet(value); return *this;} /** *

Information about the IPv4 CIDR blocks for the VPC.

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

Information about the IPv4 CIDR blocks for the VPC.

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

Information about the IPv4 CIDR blocks for the VPC.

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& AddCidrBlockSet(VpcInfoCidrBlockSetDetails&& value) { m_cidrBlockSetHasBeenSet = true; m_cidrBlockSet.push_back(std::move(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 AwsEc2VpcPeeringConnectionVpcInfoDetails& WithIpv6CidrBlockSet(const Aws::Vector& value) { SetIpv6CidrBlockSet(value); return *this;} /** *

The IPv6 CIDR block for the VPC.

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

The IPv6 CIDR block for the VPC.

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

The IPv6 CIDR block for the VPC.

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& AddIpv6CidrBlockSet(VpcInfoIpv6CidrBlockSetDetails&& value) { m_ipv6CidrBlockSetHasBeenSet = true; m_ipv6CidrBlockSet.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 AwsEc2VpcPeeringConnectionVpcInfoDetails& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

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

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

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

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

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

*/ inline const VpcInfoPeeringOptionsDetails& 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 VpcInfoPeeringOptionsDetails& value) { m_peeringOptionsHasBeenSet = true; m_peeringOptions = value; } /** *

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

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

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

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& WithPeeringOptions(const VpcInfoPeeringOptionsDetails& value) { SetPeeringOptions(value); return *this;} /** *

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

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& WithPeeringOptions(VpcInfoPeeringOptionsDetails&& value) { SetPeeringOptions(std::move(value)); return *this;} /** *

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

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

The Amazon Web Services Region in which the VPC is located.

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& WithRegion(const char* value) { SetRegion(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 AwsEc2VpcPeeringConnectionVpcInfoDetails& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the VPC.

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

The ID of the VPC.

*/ inline AwsEc2VpcPeeringConnectionVpcInfoDetails& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: Aws::String m_cidrBlock; bool m_cidrBlockHasBeenSet = false; Aws::Vector m_cidrBlockSet; bool m_cidrBlockSetHasBeenSet = false; Aws::Vector m_ipv6CidrBlockSet; bool m_ipv6CidrBlockSetHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; VpcInfoPeeringOptionsDetails m_peeringOptions; bool m_peeringOptionsHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws