3.19.4.4.1.25 DhcpFailoverAddScopesDelegate
The DhcpFailoverAddScopesDelegate processing is done when the IpamOperationWithProgressParameter.OperationId is AdminOperationId.AddDhcpFailoverScopes. The IpamOperationWithProgressParameter instance in this case MUST be of type DhcpFailoverWithScopesParameters.
This operation is used to add scopes to an existing failover relationship. The following are the steps involved. In these steps, any time a fault is generated, the SetOverallStatus SHOULD be called with the fault details:
If IpamOperationWithProgressParameter is NULL or not of type DhcpFailoverWithScopesParameters, generate an appropriate SOAP fault (as specified in section 2.2.2.1). Project IpamOperationWithProgressParameter in a local variable as AddScopesFailoverParameters.
If AddScopesFailoverParameters.Failover is NULL, AddScopesFailoverParameters.ScopeIds is NULL, or AddScopesFailoverParameters.ScopeIds.Count is 0, generate an appropriate SOAP fault (as specified in section 2.2.2.1).
Retrieve the failover relationship row from ADM_DhcpScopeFailoverTable by looking for the row in which the value of RecordId is equal to AddScopesFailoverParameters.Failover.RecordId.
For each scope identifier in AddScopesFailoverParameters.ScopeIds, put the reference of the scope identifier in localDhcpScopeId variable, and do the following steps:
Check if a row exists in ADM_DhcpScopeFailoverTable that has localDhcpScopeId equal to ADM_DhcpScopeFailoverTable.ScopeId and AddScopesFailoverParameters.Failover.RecordId equal to ADM_DhcpScopeFailoverTable.FailoverRelationId.
If the row does not exist, add a row to the ADM_DhcpScopeFailoverTable with ADM_DhcpScopeFailoverTable.ScopeId assigned localDhcpScopeId and ADM_DhcpScopeFailoverTable.FailoverRelationId assigned AddScopesFailoverParameters.Failover.RecordId.
Call SetOverallStatus with Success and 100% completion and return the updated AddScopesFailoverParameters.Failover object.