/** * 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 { /** *

An IPAM discovered resource CIDR. A discovered resource is a resource CIDR * monitored under a resource discovery. The following resources can be discovered: * VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered * resource CIDR is the IP address range in CIDR notation that is associated with * the resource.

See Also:

AWS * API Reference

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

*/ inline const Aws::String& GetIpamResourceDiscoveryId() const{ return m_ipamResourceDiscoveryId; } /** *

The resource discovery ID.

*/ inline bool IpamResourceDiscoveryIdHasBeenSet() const { return m_ipamResourceDiscoveryIdHasBeenSet; } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(const Aws::String& value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId = value; } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(Aws::String&& value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId = std::move(value); } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(const char* value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId.assign(value); } /** *

The resource discovery ID.

*/ inline IpamDiscoveredResourceCidr& WithIpamResourceDiscoveryId(const Aws::String& value) { SetIpamResourceDiscoveryId(value); return *this;} /** *

The resource discovery ID.

*/ inline IpamDiscoveredResourceCidr& WithIpamResourceDiscoveryId(Aws::String&& value) { SetIpamResourceDiscoveryId(std::move(value)); return *this;} /** *

The resource discovery ID.

*/ inline IpamDiscoveredResourceCidr& WithIpamResourceDiscoveryId(const char* value) { SetIpamResourceDiscoveryId(value); return *this;} /** *

The resource Region.

*/ inline const Aws::String& GetResourceRegion() const{ return m_resourceRegion; } /** *

The resource Region.

*/ inline bool ResourceRegionHasBeenSet() const { return m_resourceRegionHasBeenSet; } /** *

The resource Region.

*/ inline void SetResourceRegion(const Aws::String& value) { m_resourceRegionHasBeenSet = true; m_resourceRegion = value; } /** *

The resource Region.

*/ inline void SetResourceRegion(Aws::String&& value) { m_resourceRegionHasBeenSet = true; m_resourceRegion = std::move(value); } /** *

The resource Region.

*/ inline void SetResourceRegion(const char* value) { m_resourceRegionHasBeenSet = true; m_resourceRegion.assign(value); } /** *

The resource Region.

*/ inline IpamDiscoveredResourceCidr& WithResourceRegion(const Aws::String& value) { SetResourceRegion(value); return *this;} /** *

The resource Region.

*/ inline IpamDiscoveredResourceCidr& WithResourceRegion(Aws::String&& value) { SetResourceRegion(std::move(value)); return *this;} /** *

The resource Region.

*/ inline IpamDiscoveredResourceCidr& WithResourceRegion(const char* value) { SetResourceRegion(value); return *this;} /** *

The resource ID.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The resource ID.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The resource ID.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The resource ID.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The resource ID.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The resource ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The resource ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The resource ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The resource owner ID.

*/ inline const Aws::String& GetResourceOwnerId() const{ return m_resourceOwnerId; } /** *

The resource owner ID.

*/ inline bool ResourceOwnerIdHasBeenSet() const { return m_resourceOwnerIdHasBeenSet; } /** *

The resource owner ID.

*/ inline void SetResourceOwnerId(const Aws::String& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = value; } /** *

The resource owner ID.

*/ inline void SetResourceOwnerId(Aws::String&& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = std::move(value); } /** *

The resource owner ID.

*/ inline void SetResourceOwnerId(const char* value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId.assign(value); } /** *

The resource owner ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceOwnerId(const Aws::String& value) { SetResourceOwnerId(value); return *this;} /** *

The resource owner ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceOwnerId(Aws::String&& value) { SetResourceOwnerId(std::move(value)); return *this;} /** *

The resource owner ID.

*/ inline IpamDiscoveredResourceCidr& WithResourceOwnerId(const char* value) { SetResourceOwnerId(value); return *this;} /** *

The resource CIDR.

*/ inline const Aws::String& GetResourceCidr() const{ return m_resourceCidr; } /** *

The resource CIDR.

*/ inline bool ResourceCidrHasBeenSet() const { return m_resourceCidrHasBeenSet; } /** *

The resource CIDR.

*/ inline void SetResourceCidr(const Aws::String& value) { m_resourceCidrHasBeenSet = true; m_resourceCidr = value; } /** *

The resource CIDR.

*/ inline void SetResourceCidr(Aws::String&& value) { m_resourceCidrHasBeenSet = true; m_resourceCidr = std::move(value); } /** *

The resource CIDR.

*/ inline void SetResourceCidr(const char* value) { m_resourceCidrHasBeenSet = true; m_resourceCidr.assign(value); } /** *

The resource CIDR.

*/ inline IpamDiscoveredResourceCidr& WithResourceCidr(const Aws::String& value) { SetResourceCidr(value); return *this;} /** *

The resource CIDR.

*/ inline IpamDiscoveredResourceCidr& WithResourceCidr(Aws::String&& value) { SetResourceCidr(std::move(value)); return *this;} /** *

The resource CIDR.

*/ inline IpamDiscoveredResourceCidr& WithResourceCidr(const char* value) { SetResourceCidr(value); return *this;} /** *

The resource type.

*/ inline const IpamResourceType& GetResourceType() const{ return m_resourceType; } /** *

The resource type.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type.

*/ inline void SetResourceType(const IpamResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The resource type.

*/ inline void SetResourceType(IpamResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The resource type.

*/ inline IpamDiscoveredResourceCidr& WithResourceType(const IpamResourceType& value) { SetResourceType(value); return *this;} /** *

The resource type.

*/ inline IpamDiscoveredResourceCidr& WithResourceType(IpamResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The resource tags.

*/ inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } /** *

The resource tags.

*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *

The resource tags.

*/ inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } /** *

The resource tags.

*/ inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } /** *

The resource tags.

*/ inline IpamDiscoveredResourceCidr& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} /** *

The resource tags.

*/ inline IpamDiscoveredResourceCidr& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} /** *

The resource tags.

*/ inline IpamDiscoveredResourceCidr& AddResourceTags(const IpamResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } /** *

The resource tags.

*/ inline IpamDiscoveredResourceCidr& AddResourceTags(IpamResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } /** *

The percentage of IP address space in use. To convert the decimal to a * percentage, multiply the decimal by 100. Note the following:

  • *

    For resources that are VPCs, this is the percentage of IP address space in * the VPC that's taken up by subnet CIDRs.

  • For resources that * are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the * percentage of IPv4 address space in the subnet that's in use. If the subnet has * an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is * not represented. The percentage of IPv6 address space in use cannot currently be * calculated.

  • For resources that are public IPv4 pools, this is * the percentage of IP address space in the pool that's been allocated to Elastic * IP addresses (EIPs).

*/ inline double GetIpUsage() const{ return m_ipUsage; } /** *

The percentage of IP address space in use. To convert the decimal to a * percentage, multiply the decimal by 100. Note the following:

  • *

    For resources that are VPCs, this is the percentage of IP address space in * the VPC that's taken up by subnet CIDRs.

  • For resources that * are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the * percentage of IPv4 address space in the subnet that's in use. If the subnet has * an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is * not represented. The percentage of IPv6 address space in use cannot currently be * calculated.

  • For resources that are public IPv4 pools, this is * the percentage of IP address space in the pool that's been allocated to Elastic * IP addresses (EIPs).

*/ inline bool IpUsageHasBeenSet() const { return m_ipUsageHasBeenSet; } /** *

The percentage of IP address space in use. To convert the decimal to a * percentage, multiply the decimal by 100. Note the following:

  • *

    For resources that are VPCs, this is the percentage of IP address space in * the VPC that's taken up by subnet CIDRs.

  • For resources that * are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the * percentage of IPv4 address space in the subnet that's in use. If the subnet has * an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is * not represented. The percentage of IPv6 address space in use cannot currently be * calculated.

  • For resources that are public IPv4 pools, this is * the percentage of IP address space in the pool that's been allocated to Elastic * IP addresses (EIPs).

*/ inline void SetIpUsage(double value) { m_ipUsageHasBeenSet = true; m_ipUsage = value; } /** *

The percentage of IP address space in use. To convert the decimal to a * percentage, multiply the decimal by 100. Note the following:

  • *

    For resources that are VPCs, this is the percentage of IP address space in * the VPC that's taken up by subnet CIDRs.

  • For resources that * are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the * percentage of IPv4 address space in the subnet that's in use. If the subnet has * an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is * not represented. The percentage of IPv6 address space in use cannot currently be * calculated.

  • For resources that are public IPv4 pools, this is * the percentage of IP address space in the pool that's been allocated to Elastic * IP addresses (EIPs).

*/ inline IpamDiscoveredResourceCidr& WithIpUsage(double value) { SetIpUsage(value); return *this;} /** *

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The VPC ID.

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

The last successful resource discovery time.

*/ inline const Aws::Utils::DateTime& GetSampleTime() const{ return m_sampleTime; } /** *

The last successful resource discovery time.

*/ inline bool SampleTimeHasBeenSet() const { return m_sampleTimeHasBeenSet; } /** *

The last successful resource discovery time.

*/ inline void SetSampleTime(const Aws::Utils::DateTime& value) { m_sampleTimeHasBeenSet = true; m_sampleTime = value; } /** *

The last successful resource discovery time.

*/ inline void SetSampleTime(Aws::Utils::DateTime&& value) { m_sampleTimeHasBeenSet = true; m_sampleTime = std::move(value); } /** *

The last successful resource discovery time.

*/ inline IpamDiscoveredResourceCidr& WithSampleTime(const Aws::Utils::DateTime& value) { SetSampleTime(value); return *this;} /** *

The last successful resource discovery time.

*/ inline IpamDiscoveredResourceCidr& WithSampleTime(Aws::Utils::DateTime&& value) { SetSampleTime(std::move(value)); return *this;} private: Aws::String m_ipamResourceDiscoveryId; bool m_ipamResourceDiscoveryIdHasBeenSet = false; Aws::String m_resourceRegion; bool m_resourceRegionHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceOwnerId; bool m_resourceOwnerIdHasBeenSet = false; Aws::String m_resourceCidr; bool m_resourceCidrHasBeenSet = false; IpamResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector m_resourceTags; bool m_resourceTagsHasBeenSet = false; double m_ipUsage; bool m_ipUsageHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Utils::DateTime m_sampleTime; bool m_sampleTimeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws