3.5.4.7.1.20 IpamIPAddressByBlockIdEnumerationParameters

This is the processing done when the EnumInputParameters contains data of type IpamIPAddressByBlockIdEnumerationParameters. The ObjectType MUST be EnumerationObjectType.IPAddress. This is used to enumerate addresses mapped to the specified address block given byIpamIPAddressByBlockIdEnumerationParameters.BlockId. The IpamIPAddressByBlockIdEnumerationParameters.AddressFamily is used to determine the simple table within the ADM_IPAddressTable on which the processing has to be done. If the AddressFamily is Internet, the EnumOutputData will be a collection of IpamIPv4Address and if it is InternetV6, the EnumOutputData will be a collection of IpamIPv6Address.

The following are the steps involved in identifying the rows to be returned as a part of the enumeration:

  1. Enumerate the rows in ADM_IPRangeTable whose ParentIPBlockRecordId is equal to IpamIPAddressByBlockIdEnumerationParameters.BlockId.

  2. For each of the address range row enumerated from the above query,

    1. Enumerate the rows in ADM_IPAddressTable wherein RangeRecordId is equal to RecordId of the rows enumerated in 1.

      1. For each of the rows enumerated above, call the procedure GetIPAddressFromTable in ADM_IPAddressTable passing the RecordId of the row as Param_Id and Param_addressfamily as parameters.

      2. Add the returned result to EnumOutputData.