3.5.4.8.1.66 IPRangeByManagedByAndManagedByEntityEnumerationParameters

The IPRangeByManagedByAndManagedByEntityEnumerationParameters processing is done when the EnumInputParameters contains data of type IPRangeByManagedByAndManagedByEntityEnumerationParameters. The ObjectType MUST be EnumerationObjectType.IPRange. This will return IPRange data that have the specified values for the ManagedBy and ManagedByEntity built-in custom fields. The IPRangeByManagedByAndManagedByEntityEnumerationParameters.AddressFamily is used to determine the simple table within the IP address range compound table on which the processing has to be done. If the AddressFamily is InterNetwork, the EnumOutputData is a collection of IPv4Range and if it is InterNetworkV6, the EnumOutputData is a collection of IPv6Range.

The following processing steps identify the rows to be returned as a part of the enumeration:

  1. Get all the rows in the ADM_IPRangeTable.

  2. For each row perform the following:

  3. Get IPRange for the row by calling the procedure GetIPRangeFromTable passing the record identifier of the row as Param_id input field and the IPRangeByManagedByAndManagedByEntityEnumerationParameters.AddressFamily as Param_addressfamily input field. 

  4. If the value of the custom field of the range returned earlier (as result) with record identifier being ADM_ManagedByCustomFieldId is IPRangeByManagedByAndManagedByEntityEnumerationParameters.ManagedByValue and the value of the custom field of the range with record identifier ManagedByEntityCustomFieldId is IPRangeByManagedByAndManagedByEntityEnumerationParameters.ManagedByEntityValue, and if IPRangeByManagedByAndManagedByEntityEnumerationParameters.AddressSpaceId is not NULL, then IPRange.AddressSpaceRecordId is equal to IPRangeByManagedByAndManagedByEntityEnumerationParameters.AddressSpaceId, add the result to EnumOutputData.