3.1.1.1.2.2.7 GetObjectForLogicalGroupObjectId

This procedure can be used to retrieve an object that is being enumerated for a logical group or logical group node. The following are the input parameters to this procedure.

Param_objectType: This specifies the type of object for which the object record identifier has been specified.

Param_addressFamily: This specifies the AddressFamily for the object type that is being requested.

Param_Id: This specifies the record identifier of the object being requested.

Param_filter: This specifies any additional filter to be applied for getting the object. This is applicable only for Param_objectType being ServerInfo.

The following is the output parameter of this procedure.

Result_object: This specifies the object that has been requested based on the specified input parameters for logical group mapping. The following table summarizes the various input parameters and the kind of output parameter generated.

Param_addressFamily

Param_objectType (EnumerationObjectType)

Param_filter

Result_object Type

Internet

IPRange

N/A

IPv4Range

InternetV6

IPRange

N/A

IPv6Range

Internet

IPAddress

N/A

IpamIPv4Address

InternetV6

IPAddress

N/A

IpamIPv6Address

Internet

ServerInfo

No Filter

ServerInfo

ServerInfoGetServerFilter.Role ==  ServerRoleType.Dhcp

DhcpServerV4

ServerInfoGetServerFilter.Role ==  ServerRoleType.Dns

DnsServer

ServerInfoGetServerFilter.MultipleRole == ServerMultipleRole.DhcpOrDns

ServerInfo

InternetV6

ServerInfo

No Filter

ServerInfo

ServerInfoGetServerFilter.Role ==  ServerRoleType.Dhcp

DhcpServerV6

ServerInfoGetServerFilter.Role ==  ServerRoleType.Dns

DnsServer

ServerInfoGetServerFilter.MultipleRole == ServerMultipleRole.DhcpOrDns

ServerInfo

The following are the steps involved.

  1. If Param_objectType is EnumerationObjectType.IPRange, call the procedure GetIPRangeFromTable by passing Param_Id and Param_addressFamily. Set the returned result to Result_object.

  2. If Param_objectType is EnumerationObjectType.IPAddress, call the procedure GetIPAddressFromTable by passing Param_Id and Param_addressfamily. Add the returned result to Result_object.

  3. If Param_objectType is EnumerationObjectType.ServerInfo, the following additional processing is required to get the objects for the logical group node.

    1. If Param_filter is null or no filter condition is specified or a filter with key value pair (ServerInfoGetServerFilter.MultipleRole,ServerMultipleRole.DhcpOrDns) is specified, call the procedure GetServerInfoFromTable by passing Param_id and storing the Result_serverInfo into Result_object.

    2. If Param_filter contains the key value pair (ServerInfoGetServerFilter.Role, ServerRoleType.Dhcp), the following steps are performed:

      1. Enumerate the row in ADM_ServerRolesTable that has ServerRecordID to be of value Param_Id and ServerRoleDetails.ServerRoleType being ServerRoleType.Dhcp.

      2. Let the RecordId of the row be serverRoleRecordId.

      3. Lookup the ADM_DHCPServersTable whose ServerRoleRecordId is having the value serverRoleRecordId. Call the procedure GetDHCPServerFromTable passing the Param_addressfamily and Param_Id set to RecordId of the row selected in ADM_DHCPServersTable. Set Result_server to Result_object.

    3. If LogicalGroupDataForLogicalGroupNodeEnumerationParameters.Filter contains the key value pair (ServerInfoGetServerFilter.Role, ServerRoleType.Dns), the following steps are performed:

      1. Enumerate the row in ADM_ServerRolesTable that has ServerRecordID to be of value Param_Id and ServerRoleDetails.ServerRoleType being ServerRoleType.Dns.

      2. Let the RecordId of the row be serverRoleRecordId.

      3. Lookup the ADM_DnsServersTable whose RecordId is having the value serverRoleRecordId. Call the procedure GetDnsServerFromTable passing the Param_Id set to serverRoleRecordId. Set Result_DnsServer to Result_object.

Return Result_object as the output parameter of this procedure.