3.3.4.47 FetchIpamIPAddressByManagedByAndManagedByEntity

The FetchIpamIPAddressByManagedByAndManagedByEntity operation is used to retrieve the IpamIPAddress given the specified IP address and the values for the ManagedBy and ManagedByEntity built-in custom field values.

 <wsdl:operation name="FetchIpamIPAddressByManagedByAndManagedByEntity">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FetchIpamIPAddressByManagedByAndManagedByEntity" message="ipam:IIpamServer_FetchIpamIPAddressByManagedByAndManagedByEntity_InputMessage" />
   <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FetchIpamIPAddressByManagedByAndManagedByEntityResponse" message="ipam:IIpamServer_FetchIpamIPAddressByManagedByAndManagedByEntity_OutputMessage" />
 </wsdl:operation>

Upon receiving the IIpamServer_FetchIpamIPAddressByManagedByAndManagedByEntity_InputMessage request message, the server performs the following processing steps. Upon successful completion of the steps specified below, the server MUST respond with the IIpamServer_FetchIpamIPAddressByManagedByAndManagedByEntity_OutputMessage message. In the event of a failure, an appropriate SOAP fault MUST be sent to the client as specified in section 2.2.2.1:

  1. If the FetchIpamIPAddressByManagedByAndManagedByEntity.addressFamily is InterNetwork, the rest of the processing is done with the IPv4-specific tables. The FetchIpamIPAddressByManagedByAndManagedByEntityResponse. FetchIpamIPAddressByManagedByAndManagedByEntityResult will consist of an IpamIPv4Address. Otherwise IPv6-specific tables are used for further processing. The FetchIpamIPAddressByManagedByAndManagedByEntityResponse. FetchIpamIPAddressByManagedByAndManagedByEntityResult will consist of an IpamIPv6Address.

  2. If the addressfamily of FetchIpamIPAddressByManagedByAndManagedByEntity.address is NULL, or FetchIpamIPAddressByManagedByAndManagedByEntity.managedBy is NULL, or FetchIpamIPAddressByManagedByAndManagedByEntity.managedByEntity is NULL, an appropriate SOAP fault MUST be returned.

  3. Validate the input FetchIpamIPAddressByManagedByAndManagedByEntity.address is usable, as follows. Else, an appropriate SOAP fault MUST be sent as specified in section 2.2.2.1:

    1. The address MUST be a valid IPv4 or Ipv6 address.

    2. The Ipv4 address MUST NOT fall within the following subnets. This is ascertained by checking the individual address octets of the Ipv4 IP address. These are specialized address blocks – see [RFC3330] for details about the same:

      1. 0/8 – First octet of the address MUST NOT be 0.

      2. 127/8 – First octet of the address MUST NOT be 127.

      3. 169.254/16 – First and second octet of the address MUST NOT be 169 and 254 respectively.

      4. 255.255.255.255 – All octet of the address MUST NOT be 255.

    3. The Ipv6 address MUST NOT be one of the following. For details on these special address types, see [RFC3513]:

      1. ::0

      2. ::1

      3. Ipv6 Link local address

      4. Ipv6 Site local address

      5. Ipv6 Multicast address

  4. Enumerate the rows in IP address table where IPAddress is same as FetchIpamIPAddressByManagedByAndManagedByEntity.address. For each row:

    1. Calculate the ManagedBy value to be the custom field value whose custom field identifier is the same value as ADM_ManagedByCustomFieldId.

    2. Calculate the ManagedByEntity value to be the custom field value whose custom field identifier is the same as the ADM_ManagedByEntityCustomFieldId.

  5. If the FetchIpamIPAddressByManagedByAndManagedByEntity.managedBy is the same as the ManagedBy computed above and FetchIpamIPAddressByManagedByAndManagedByEntity.managedByEntity is the same as the ManagedByValue computed above, the row has to be added to FetchIpamIPAddressByManagedByAndManagedByEntityResponse. FetchIpamIPAddressByManagedByAndManagedByEntityResult.  This is done by calling the procedure GetIPAddressFromTable passing RecordId of the row as the Param_id input parameter and FetchIpamIPAddressByManagedByAndManagedByEntity.addressFamily as Param_addressfamily parameters. The result returned is added to FetchIpamIPAddressByManagedByAndManagedByEntityResponse. FetchIpamIPAddressByManagedByAndManagedByEntityResult.