3.19.4.4.1.40 UpdateDnsResourceRecordsDelegate

The UpdateDnsResourceRecordsDelegate processing is done when the IpamOperationWithProgressParameter.OperationId is AdminOperationId.UpdateDnsResourceRecords. The IpamOperationWithProgressParameter instance in this case MUST be of type MultiUpdateDnsResourceRecordParameters.

This operation is used to update multiple DNS resource records. In the following processing steps, at any time a fault is generated, SetOverallStatus (section 3.19.4.8) SHOULD be called with the fault details:

  1. If IpamOperationWithProgressParameter is NULL or not of type MultiUpdateDnsResourceRecordParameters, generate an appropriate SOAP fault as specified in section 2.2.2.1. Project IpamOperationWithProgressParameter in a local variable as MultiUpdateDnsResourceRecordParameters.

  2. If MultiUpdateDnsResourceRecordParameters is NULL, MultiUpdateDnsResourceRecordParameters.ResourceRecords is NULL, MultiUpdateDnsResourceRecordParameters.ResourceRecords.Count is 0, MultiUpdateDnsResourceRecordParameters.ServerZoneId is 0, or MultiUpdateDnsResourceRecordParameters.ZoneType is ZoneLookupType.None, generate an appropriate SOAP fault.

  3. For all the resource records in MultiUpdateDnsResourceRecordParameters.ResourceRecords, validate each resource record using the processing rules listed under ValidateDnsResourceRecord by passing each record as Param_dnsResourceRecord. If any of the processing rules are not met, an appropriate SOAP fault MUST be returned.

  4. Call the procedure GetDnsResourceRecordByRecordId of ADM_DNSResourceRecordTable with RecordIds of MultiUpdateDnsResourceRecordParameters.ResourceRecords as the parameter and store the output in the oldRecords variable. 

  5. For the records in oldRecords that are not NULL, update the RecordTTL field with MultiUpdateDnsResourceRecordParameters.TTL.

  6. Call SetOverallStatus with Success and 100 percent completion.