Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The IpamIPSubnetsByVirtualizationTypeEnumerationParameters processing is done when the EnumInputParameters contains data of type IpamIPSubnetsByVirtualizationTypeEnumerationParameters. The ObjectType MUST be EnumerationObjectType.IPSubnet. This is used to enumerate all IP subnets in the IPAM data store belonging to the specified address family, virtualization type. These are further filtered based on whether empty subnets are returned.
The following are the steps involved in identifying the rows to be returned as a part of the enumeration:
If IpamIPSubnetsByVirtualizationTypeEnumerationParameters.EmptySubnetOnly is FALSE, then do step 2, otherwise do step 3.
Enumerate all IPSubnets belonging to the specified IpamIPSubnetsByVirtualizationTypeEnumerationParameters.VirtualizationType:
Enumerate all the rows in ADM_SubnetTable whose VirtualizationType matches IpamIPSubnetsByVirtualizationTypeEnumerationParameters.VirtualizationType.
For the enumerated rows, call GetSubnetById from ADM_SubnetTable by passing the RecordId as Param_AddressSpaceId and IpamIPSubnetByFilterEnumerationParameters.AddressFamily as Param_AddressFamily. Add the returned object to EnumOutputData.
Enumerate all IPSubnets belonging to the specified IpamIPSubnetsByVirtualizationTypeEnumerationParameters.VirtualizationType that do not have a corresponding IP range:
Enumerate the rows of ADM_IPBlocksTable, whose RecordId does not correspond to the ParentIPBlockRecordId of any row in ADM_IPRangeTable.
For the enumerated rows, call GetSubnetByNetworkIdAndAddressSpace from ADM_SubnetTable by passing NetworkId as Param_NetworkId, PrefixLength as Param_PrefixLength and AddressSpaceRecordId as Param_AddressSpaceRecordId.
Add the returned object to EnumOutputData.