/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The CIDR for an IPAM resource.See Also:
AWS
* API Reference
The IPAM ID for an IPAM resource.
*/ inline const Aws::String& GetIpamId() const{ return m_ipamId; } /** *The IPAM ID for an IPAM resource.
*/ inline bool IpamIdHasBeenSet() const { return m_ipamIdHasBeenSet; } /** *The IPAM ID for an IPAM resource.
*/ inline void SetIpamId(const Aws::String& value) { m_ipamIdHasBeenSet = true; m_ipamId = value; } /** *The IPAM ID for an IPAM resource.
*/ inline void SetIpamId(Aws::String&& value) { m_ipamIdHasBeenSet = true; m_ipamId = std::move(value); } /** *The IPAM ID for an IPAM resource.
*/ inline void SetIpamId(const char* value) { m_ipamIdHasBeenSet = true; m_ipamId.assign(value); } /** *The IPAM ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamId(const Aws::String& value) { SetIpamId(value); return *this;} /** *The IPAM ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamId(Aws::String&& value) { SetIpamId(std::move(value)); return *this;} /** *The IPAM ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamId(const char* value) { SetIpamId(value); return *this;} /** *The scope ID for an IPAM resource.
*/ inline const Aws::String& GetIpamScopeId() const{ return m_ipamScopeId; } /** *The scope ID for an IPAM resource.
*/ inline bool IpamScopeIdHasBeenSet() const { return m_ipamScopeIdHasBeenSet; } /** *The scope ID for an IPAM resource.
*/ inline void SetIpamScopeId(const Aws::String& value) { m_ipamScopeIdHasBeenSet = true; m_ipamScopeId = value; } /** *The scope ID for an IPAM resource.
*/ inline void SetIpamScopeId(Aws::String&& value) { m_ipamScopeIdHasBeenSet = true; m_ipamScopeId = std::move(value); } /** *The scope ID for an IPAM resource.
*/ inline void SetIpamScopeId(const char* value) { m_ipamScopeIdHasBeenSet = true; m_ipamScopeId.assign(value); } /** *The scope ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamScopeId(const Aws::String& value) { SetIpamScopeId(value); return *this;} /** *The scope ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamScopeId(Aws::String&& value) { SetIpamScopeId(std::move(value)); return *this;} /** *The scope ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamScopeId(const char* value) { SetIpamScopeId(value); return *this;} /** *The pool ID for an IPAM resource.
*/ inline const Aws::String& GetIpamPoolId() const{ return m_ipamPoolId; } /** *The pool ID for an IPAM resource.
*/ inline bool IpamPoolIdHasBeenSet() const { return m_ipamPoolIdHasBeenSet; } /** *The pool ID for an IPAM resource.
*/ inline void SetIpamPoolId(const Aws::String& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = value; } /** *The pool ID for an IPAM resource.
*/ inline void SetIpamPoolId(Aws::String&& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = std::move(value); } /** *The pool ID for an IPAM resource.
*/ inline void SetIpamPoolId(const char* value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId.assign(value); } /** *The pool ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamPoolId(const Aws::String& value) { SetIpamPoolId(value); return *this;} /** *The pool ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamPoolId(Aws::String&& value) { SetIpamPoolId(std::move(value)); return *this;} /** *The pool ID for an IPAM resource.
*/ inline IpamResourceCidr& WithIpamPoolId(const char* value) { SetIpamPoolId(value); return *this;} /** *The Amazon Web Services Region for an IPAM resource.
*/ inline const Aws::String& GetResourceRegion() const{ return m_resourceRegion; } /** *The Amazon Web Services Region for an IPAM resource.
*/ inline bool ResourceRegionHasBeenSet() const { return m_resourceRegionHasBeenSet; } /** *The Amazon Web Services Region for an IPAM resource.
*/ inline void SetResourceRegion(const Aws::String& value) { m_resourceRegionHasBeenSet = true; m_resourceRegion = value; } /** *The Amazon Web Services Region for an IPAM resource.
*/ inline void SetResourceRegion(Aws::String&& value) { m_resourceRegionHasBeenSet = true; m_resourceRegion = std::move(value); } /** *The Amazon Web Services Region for an IPAM resource.
*/ inline void SetResourceRegion(const char* value) { m_resourceRegionHasBeenSet = true; m_resourceRegion.assign(value); } /** *The Amazon Web Services Region for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceRegion(const Aws::String& value) { SetResourceRegion(value); return *this;} /** *The Amazon Web Services Region for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceRegion(Aws::String&& value) { SetResourceRegion(std::move(value)); return *this;} /** *The Amazon Web Services Region for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceRegion(const char* value) { SetResourceRegion(value); return *this;} /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline const Aws::String& GetResourceOwnerId() const{ return m_resourceOwnerId; } /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline bool ResourceOwnerIdHasBeenSet() const { return m_resourceOwnerIdHasBeenSet; } /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline void SetResourceOwnerId(const Aws::String& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = value; } /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline void SetResourceOwnerId(Aws::String&& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = std::move(value); } /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline void SetResourceOwnerId(const char* value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId.assign(value); } /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceOwnerId(const Aws::String& value) { SetResourceOwnerId(value); return *this;} /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceOwnerId(Aws::String&& value) { SetResourceOwnerId(std::move(value)); return *this;} /** *The Amazon Web Services account number of the owner of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceOwnerId(const char* value) { SetResourceOwnerId(value); return *this;} /** *The ID of an IPAM resource.
*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *The ID of an IPAM resource.
*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *The ID of an IPAM resource.
*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *The ID of an IPAM resource.
*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *The ID of an IPAM resource.
*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *The ID of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *The ID of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *The ID of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *The name of an IPAM resource.
*/ inline const Aws::String& GetResourceName() const{ return m_resourceName; } /** *The name of an IPAM resource.
*/ inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } /** *The name of an IPAM resource.
*/ inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } /** *The name of an IPAM resource.
*/ inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } /** *The name of an IPAM resource.
*/ inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } /** *The name of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *The name of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *The name of an IPAM resource.
*/ inline IpamResourceCidr& WithResourceName(const char* value) { SetResourceName(value); return *this;} /** *The CIDR for an IPAM resource.
*/ inline const Aws::String& GetResourceCidr() const{ return m_resourceCidr; } /** *The CIDR for an IPAM resource.
*/ inline bool ResourceCidrHasBeenSet() const { return m_resourceCidrHasBeenSet; } /** *The CIDR for an IPAM resource.
*/ inline void SetResourceCidr(const Aws::String& value) { m_resourceCidrHasBeenSet = true; m_resourceCidr = value; } /** *The CIDR for an IPAM resource.
*/ inline void SetResourceCidr(Aws::String&& value) { m_resourceCidrHasBeenSet = true; m_resourceCidr = std::move(value); } /** *The CIDR for an IPAM resource.
*/ inline void SetResourceCidr(const char* value) { m_resourceCidrHasBeenSet = true; m_resourceCidr.assign(value); } /** *The CIDR for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceCidr(const Aws::String& value) { SetResourceCidr(value); return *this;} /** *The CIDR for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceCidr(Aws::String&& value) { SetResourceCidr(std::move(value)); return *this;} /** *The CIDR for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceCidr(const char* value) { SetResourceCidr(value); return *this;} /** *The type of IPAM resource.
*/ inline const IpamResourceType& GetResourceType() const{ return m_resourceType; } /** *The type of IPAM resource.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The type of IPAM resource.
*/ inline void SetResourceType(const IpamResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The type of IPAM resource.
*/ inline void SetResourceType(IpamResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The type of IPAM resource.
*/ inline IpamResourceCidr& WithResourceType(const IpamResourceType& value) { SetResourceType(value); return *this;} /** *The type of IPAM resource.
*/ inline IpamResourceCidr& WithResourceType(IpamResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *The tags for an IPAM resource.
*/ inline const Aws::VectorThe tags for an IPAM resource.
*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *The tags for an IPAM resource.
*/ inline void SetResourceTags(const Aws::VectorThe tags for an IPAM resource.
*/ inline void SetResourceTags(Aws::VectorThe tags for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceTags(const Aws::VectorThe tags for an IPAM resource.
*/ inline IpamResourceCidr& WithResourceTags(Aws::VectorThe tags for an IPAM resource.
*/ inline IpamResourceCidr& AddResourceTags(const IpamResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } /** *The tags for an IPAM resource.
*/ inline IpamResourceCidr& 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).
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).
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).
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).
The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline const IpamComplianceStatus& GetComplianceStatus() const{ return m_complianceStatus; } /** *The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline bool ComplianceStatusHasBeenSet() const { return m_complianceStatusHasBeenSet; } /** *The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetComplianceStatus(const IpamComplianceStatus& value) { m_complianceStatusHasBeenSet = true; m_complianceStatus = value; } /** *The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetComplianceStatus(IpamComplianceStatus&& value) { m_complianceStatusHasBeenSet = true; m_complianceStatus = std::move(value); } /** *The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithComplianceStatus(const IpamComplianceStatus& value) { SetComplianceStatus(value); return *this;} /** *The compliance status of the IPAM resource. For more information on * compliance statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithComplianceStatus(IpamComplianceStatus&& value) { SetComplianceStatus(std::move(value)); return *this;} /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline const IpamManagementState& GetManagementState() const{ return m_managementState; } /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline bool ManagementStateHasBeenSet() const { return m_managementStateHasBeenSet; } /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetManagementState(const IpamManagementState& value) { m_managementStateHasBeenSet = true; m_managementState = value; } /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetManagementState(IpamManagementState&& value) { m_managementStateHasBeenSet = true; m_managementState = std::move(value); } /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithManagementState(const IpamManagementState& value) { SetManagementState(value); return *this;} /** *The management state of the resource. For more information about management * states, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithManagementState(IpamManagementState&& value) { SetManagementState(std::move(value)); return *this;} /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline const IpamOverlapStatus& GetOverlapStatus() const{ return m_overlapStatus; } /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline bool OverlapStatusHasBeenSet() const { return m_overlapStatusHasBeenSet; } /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetOverlapStatus(const IpamOverlapStatus& value) { m_overlapStatusHasBeenSet = true; m_overlapStatus = value; } /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline void SetOverlapStatus(IpamOverlapStatus&& value) { m_overlapStatusHasBeenSet = true; m_overlapStatus = std::move(value); } /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithOverlapStatus(const IpamOverlapStatus& value) { SetOverlapStatus(value); return *this;} /** *The overlap status of an IPAM resource. The overlap status tells you if the * CIDR for a resource overlaps with another CIDR in the scope. For more * information on overlap statuses, see Monitor * CIDR usage by resource in the Amazon VPC IPAM User Guide.
*/ inline IpamResourceCidr& WithOverlapStatus(IpamOverlapStatus&& value) { SetOverlapStatus(std::move(value)); return *this;} /** *The ID of a VPC.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of a VPC.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of a VPC.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of a VPC.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of a VPC.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of a VPC.
*/ inline IpamResourceCidr& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of a VPC.
*/ inline IpamResourceCidr& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of a VPC.
*/ inline IpamResourceCidr& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: Aws::String m_ipamId; bool m_ipamIdHasBeenSet = false; Aws::String m_ipamScopeId; bool m_ipamScopeIdHasBeenSet = false; Aws::String m_ipamPoolId; bool m_ipamPoolIdHasBeenSet = false; Aws::String m_resourceRegion; bool m_resourceRegionHasBeenSet = false; Aws::String m_resourceOwnerId; bool m_resourceOwnerIdHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceName; bool m_resourceNameHasBeenSet = false; Aws::String m_resourceCidr; bool m_resourceCidrHasBeenSet = false; IpamResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector