blob: 11be2425b1fefedb09e09ddd0106b9d455fc57e3 [file] [log] [blame]
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