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

Details about an EC2 VPC.

See Also:

AWS * API Reference

*/ class AwsEc2VpcDetails { public: AWS_SECURITYHUB_API AwsEc2VpcDetails(); AWS_SECURITYHUB_API AwsEc2VpcDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsEc2VpcDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline const Aws::Vector& GetCidrBlockAssociationSet() const{ return m_cidrBlockAssociationSet; } /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline bool CidrBlockAssociationSetHasBeenSet() const { return m_cidrBlockAssociationSetHasBeenSet; } /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline void SetCidrBlockAssociationSet(const Aws::Vector& value) { m_cidrBlockAssociationSetHasBeenSet = true; m_cidrBlockAssociationSet = value; } /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline void SetCidrBlockAssociationSet(Aws::Vector&& value) { m_cidrBlockAssociationSetHasBeenSet = true; m_cidrBlockAssociationSet = std::move(value); } /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& WithCidrBlockAssociationSet(const Aws::Vector& value) { SetCidrBlockAssociationSet(value); return *this;} /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& WithCidrBlockAssociationSet(Aws::Vector&& value) { SetCidrBlockAssociationSet(std::move(value)); return *this;} /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& AddCidrBlockAssociationSet(const CidrBlockAssociation& value) { m_cidrBlockAssociationSetHasBeenSet = true; m_cidrBlockAssociationSet.push_back(value); return *this; } /** *

Information about the IPv4 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& AddCidrBlockAssociationSet(CidrBlockAssociation&& value) { m_cidrBlockAssociationSetHasBeenSet = true; m_cidrBlockAssociationSet.push_back(std::move(value)); return *this; } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline const Aws::Vector& GetIpv6CidrBlockAssociationSet() const{ return m_ipv6CidrBlockAssociationSet; } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline bool Ipv6CidrBlockAssociationSetHasBeenSet() const { return m_ipv6CidrBlockAssociationSetHasBeenSet; } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline void SetIpv6CidrBlockAssociationSet(const Aws::Vector& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet = value; } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline void SetIpv6CidrBlockAssociationSet(Aws::Vector&& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet = std::move(value); } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& WithIpv6CidrBlockAssociationSet(const Aws::Vector& value) { SetIpv6CidrBlockAssociationSet(value); return *this;} /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& WithIpv6CidrBlockAssociationSet(Aws::Vector&& value) { SetIpv6CidrBlockAssociationSet(std::move(value)); return *this;} /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& AddIpv6CidrBlockAssociationSet(const Ipv6CidrBlockAssociation& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet.push_back(value); return *this; } /** *

Information about the IPv6 CIDR blocks associated with the VPC.

*/ inline AwsEc2VpcDetails& AddIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociation&& value) { m_ipv6CidrBlockAssociationSetHasBeenSet = true; m_ipv6CidrBlockAssociationSet.push_back(std::move(value)); return *this; } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline const Aws::String& GetDhcpOptionsId() const{ return m_dhcpOptionsId; } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline bool DhcpOptionsIdHasBeenSet() const { return m_dhcpOptionsIdHasBeenSet; } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline void SetDhcpOptionsId(const Aws::String& value) { m_dhcpOptionsIdHasBeenSet = true; m_dhcpOptionsId = value; } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline void SetDhcpOptionsId(Aws::String&& value) { m_dhcpOptionsIdHasBeenSet = true; m_dhcpOptionsId = std::move(value); } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline void SetDhcpOptionsId(const char* value) { m_dhcpOptionsIdHasBeenSet = true; m_dhcpOptionsId.assign(value); } /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline AwsEc2VpcDetails& WithDhcpOptionsId(const Aws::String& value) { SetDhcpOptionsId(value); return *this;} /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline AwsEc2VpcDetails& WithDhcpOptionsId(Aws::String&& value) { SetDhcpOptionsId(std::move(value)); return *this;} /** *

The identifier of the set of Dynamic Host Configuration Protocol (DHCP) * options that are associated with the VPC. If the default options are associated * with the VPC, then this is default.

*/ inline AwsEc2VpcDetails& WithDhcpOptionsId(const char* value) { SetDhcpOptionsId(value); return *this;} /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline AwsEc2VpcDetails& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline AwsEc2VpcDetails& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The current state of the VPC. Valid values are available or * pending.

*/ inline AwsEc2VpcDetails& WithState(const char* value) { SetState(value); return *this;} private: Aws::Vector m_cidrBlockAssociationSet; bool m_cidrBlockAssociationSetHasBeenSet = false; Aws::Vector m_ipv6CidrBlockAssociationSet; bool m_ipv6CidrBlockAssociationSetHasBeenSet = false; Aws::String m_dhcpOptionsId; bool m_dhcpOptionsIdHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws