description: > Implement to provide DBus service lookup features. Any OpenBMC implementation must provide exactly one implementation of xyz.openbmc_project.ObjectMapper on /xyz/openbmc_project/ObjectMapper. methods: - name: GetObject description: > Obtain a dictionary of service -> implemented interface(s) for the given path. parameters: - name: path type: string description: > The object path for which the result should be fetched. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: services type: dict[string,array[string]] description: > A dictionary of service -> implemented interface(s). errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetAncestors description: > Obtain a dictionary of ancestor -> services where ancestor is an ancestor of path and services is of the type returned by the GetObject method. parameters: - name: path type: string description: > The path for which the result should be fetched. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: ancestors type: dict[string,dict[string,array[string]]] description: > A dictionary of ancestor -> services. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetSubTree description: > Obtain a dictionary of path -> services where path is in sutbtree and services is of the type returned by the GetObject method. parameters: - name: subtree type: string description: > The subtree path for which the result should be fetched. - name: depth type: int32 description: > The maximum subtree depth for which results should be fetched. For unconstrained fetches use a depth of zero. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: objects type: dict[string,dict[string,array[string]]] description: > A dictionary of path -> services. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetSubTreePaths description: > Obtain an array of paths where array elements are in subtree. parameters: - name: subtree type: string description: > The subtree path for which the result should be fetched. - name: depth type: int32 description: > The maximum subtree depth for which results should be fetched. For unconstrained fetches use a depth of zero. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: paths type: array[string] description: > An array of paths. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetAssociatedSubTree description: > Same as GetSubTree, but only return the dbus paths that are an association endpoint on associatedPath parameters: - name: associatedPath type: object_path description: > The path where the associated endpoint is fetched from. - name: subtree type: object_path description: > The subtree path for which the result should be fetched. - name: depth type: int32 description: > The maximum subtree depth for which results should be fetched. For unconstrained fetches use a depth of zero. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: objects type: dict[string,dict[string,array[string]]] description: > A dictionary of path -> services. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetAssociatedSubTreePaths description: > Same as GetSubTreePaths, but only return the dbus paths that are an association endpoint on associatedPath parameters: - name: associatedPath type: string description: > The path where the associated endpoint is fetched from. - name: subtree type: string description: > The subtree path for which the result should be fetched. - name: depth type: int32 description: > The maximum subtree depth for which results should be fetched. For unconstrained fetches use a depth of zero. - name: interfaces type: array[string] description: > An array of result set constraining interfaces. returns: - name: paths type: array[string] description: > An array of paths. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetAssociatedSubTreeById description: > Retrieves a dictionary of D-Bus paths -> services of associated endpoints with the provided identifier, filtering based on their association with specified endpoint interfaces. Implementation steps: 1. Retrieve the subtree D-Bus paths that implement the "subtreeInterfaces" and have the path endpoint "id". 2. Create an association path by concatenating the subtree path with "/" and "association" associationPath = subtreePath + "/" + "association" 3. Call getAssociatedSubTree to get the endpoint path -> services of the associationPath that implements the "endpointInterfaces". parameters: - name: id type: string description: > The leaf name of the dbus path, uniquely identifying a specific component or entity within the system. For example, in the path `/xyz/openbmc_project/inventory/system/{ChassisId}/motherboard/{FanId}`, the identifiers would be {FanId}. - name: objectPath type: string description: > The object path for which the result should be fetched. - name: subtreeInterfaces type: array[string] description: > An array of interfaces used to retrieve dbus paths with the specified identifier. - name: association type: string description: > The endpoint association. - name: endpointInterfaces type: array[string] description: > An array of interfaces used to filter associated endpoint paths. returns: - name: objects type: dict[string,dict[string,array[string]]] description: > A dictionary of path -> services. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound - name: GetAssociatedSubTreePathsById description: > Retrieves the D-Bus paths of associated endpoints with the provided identifier, filtering based on their association with specified endpoint interfaces. Implementation steps: 1. Retrieve the subtree D-Bus paths that implement the "subtreeInterfaces" and have the path endpoint "id". 2. Create an association path by concatenating the subtree path with "/" and "association" associationPath = subtreePath + "/" + "association" 3. Call getAssociatedSubTreePaths to get the endpoint paths of the associationPath that implements the "endpointInterfaces". parameters: - name: id type: string description: > The leaf name of the dbus path, uniquely identifying a specific component or entity within the system. For example, in the path `/xyz/openbmc_project/inventory/system/{ChassisId}/motherboard/{FanId}`, the identifiers would be {FanId}. - name: objectPath type: string description: > The object path for which the result should be fetched. - name: subtreeInterfaces type: array[string] description: > An array of interfaces used to retrieve dbus paths with the specified identifier. - name: association type: string description: > The endpoint association. - name: endpointInterfaces type: array[string] description: > An array of interfaces used to filter associated endpoint paths. returns: - name: paths type: array[string] description: > An array of paths. errors: - xyz.openbmc_project.Common.Error.ResourceNotFound service_names: - default: xyz.openbmc_project.ObjectMapper paths: - instance: /xyz/openbmc_project/object_mapper