3.3.4.145 UpdateAddressSpace

The UpdateAddressSpace operation can be used to edit the settings of an existing address space in the IPAM data store.

 <wsdl:operation name="UpdateAddressSpace">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/UpdateAddressSpace" message="ipam:IIpamServer_UpdateAddressSpace_InputMessage" />
   <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/UpdateAddressSpaceResponse" message="ipam:IIpamServer_UpdateAddressSpace_OutputMessage" />
 </wsdl:operation>

Upon receiving the IIpamServer_UpdateAddressSpace_InputMessage request message, the server performs the following processing steps. Upon successful completion of these steps, the server MUST respond with the IIpamServer_UpdateAddressSpace_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. Store UpdateAddressSpace.addressSpace in a temporary data store updatedAddressSpace.

  2. Validate the updatedAddressSpace is a valid entry by invoking the GetAddressSpaceById procedure of ADM_AddressSpaceTable by passing the updatedAddressSpace as the Param_AddressSpaceId.

  3. If the Result_AddressSpace is NULL, the address space specified is not present and is not processed further. An appropriate SOAP fault is thrown. Otherwise, store result as the oldAddressSpace temporary data store.

  4. If updatedAddressSpace.ModifiedProperties is empty, there are no updates to be performed and the block is not processed further.

  5. Validate the updatedAddressSpace by invoking the ValidateAddressSpace passing the ValidateAddressSpace as Param_AddressSpace.

  6. If not all the validation requirements are met, an appropriate SOAP fault MUST be generated.

  7. IPAM doesn’t allow modification of an AddressSpaceType. Thus, if updatedAddressSpace.AddressSpaceType is not the same as oldAddressSpace.AddressSpaceType, an appropriate SOAP fault MUST be generated.

  8. Names of address spaces in IPAM MUST be unique. If the Name property of updatedAddressSpace is modified, that is, if updatedAddressSpace.Name is not the same as oldAddressSpace.Name, then do the following to check that there isn’t already an address space by the updated name:

    1. Call procedure GetAddressSpaceByName of ADM_AddressSpaceTable with the following parameters:

      1. Pass updatedAddressSpace.Name as Param_AddressSpaceName.

      2. Pass NULL as Param_AddressSpaceType.

      3. If Result_AddressSpace is not NULL or empty, an appropriate SOAP fault MUST be generated.

  9. Update the row in the ADM_AddressSpaceTable with the values for the modified properties.

  10. If the CustomFieldValues is also part of the ModifiedProperties of the updatedAddressSpace, call the procedure SetCustomFieldValues in ADM_CustomFieldValuesAssociationTable by passing the following parameters:

  11. Param_ObjectType is set to EnumerationObjectType.AddressSpace.

  12. Param_addressFamily is set to InterNetwork if the UpdateBlock.ipBlock is IPv4Block. It is set to InterNetworkV6 if the UpdateBlock.ipBlock is IPv6Block.

  13. Param_ObjectRecordId is assigned the value of updatedAddressSpace.RecordId.