3.3.4.74 GetDiscoveryConfig

The GetDiscoveryConfig operation retrieves the discovery configuration information from the IPAM data store.

 <wsdl:operation name="GetDiscoveryConfig">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetDiscoveryConfig" message="ipam:IIpamServer_GetDiscoveryConfig_InputMessage" />
   <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/GetDiscoveryConfigResponse" message="ipam:IIpamServer_GetDiscoveryConfig_OutputMessage" />
 </wsdl:operation>

Upon receiving the IIpamServer_GetDiscoveryConfig_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_GetDiscoveryConfig_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. The GetDiscoveryConfig.filter specifies a collection of unique filter conditions that is used to retrieve the DiscoveryConfig rows. If GetDiscoveryConfig.filter is NULL, all the rows are returned. The key specifies the field on which the condition is applied, and the value specifies the value to look for. While enumerating the rows in the table, do the following:

    1. If the key is 1, the value MUST specify the ADDomainConfigurationStatus enumeration. The supported values of ADDomainConfigurationStatus for filtering are Configured and NotConfigured. The filter condition specifies the value of the ADDomainConfigurationStatus that is used to filter the rows in ADM_DiscoveryConfigurationTable.

    2. If the key is 2, the value MUST specify a string specifying the domain name for which the DiscoveryConfig data is requested. The filter condition specifies the value of DiscoveryDomain that is used to filter the rows in ADM_DiscoveryConfigurationTable.

    3. If the key is 3, the value MUST specify the domain GUID in the form of string for which the DiscoveryConfig data is requested. The filter condition specifies the value of DomainGuid that is used to filter the rows in the ADM_DiscoveryConfigurationTable.

  2. Enumerate the rows in ADM_DiscoveryConfigurationTable which meet the filter condition as specified in GetDiscoveryConfig.filter. For each row in the table, perform the following steps:

    1. Create a new instance of DiscoveryConfig and assign the following values from the row.

      1. RecordId 

      2. DomainGuid

      3. ADDomainConfigurationStatus

      4. DiscoveryDomain

      5. DiscoverDhcpServers

      6. DiscoverDnsServers

      7. DiscoverDomainControllers

    2. Add the DiscoveryConfig instance to GetDiscoveryConfigResponse.GetDiscoveryConfigResult.