1description: >
2    Implement to provide DBus service lookup features.
3
4    Any OpenBMC implementation must provide exactly one implementation of
5    xyz.openbmc_project.ObjectMapper on /xyz/openbmc_project/ObjectMapper.
6methods:
7    - name: GetObject
8      description: >
9          Obtain a dictionary of service -> implemented interface(s)
10          for the given path.
11      parameters:
12          - name: path
13            type: path
14            description: >
15                The object path for which the result should be fetched.
16          - name: interfaces
17            type: array[string]
18            description: >
19                An array of result set constraining interfaces.
20      returns:
21          - name: services
22            type: dict[string,array[string]]
23            description: >
24                A dictionary of service -> implemented interface(s).
25      errors:
26          - xyz.openbmc_project.Common.Error.ResourceNotFound
27    - name: GetAncestors
28      description: >
29          Obtain a dictionary of ancestor -> services where ancestor is an
30          ancestor of path and services is of the type returned by the
31          GetObject method.
32      parameters:
33          - name: path
34            type: path
35            description: >
36                The path for which the result should be fetched.
37          - name: interfaces
38            type: array[string]
39            description: >
40                An array of result set constraining interfaces.
41      returns:
42          - name: ancestors
43            type: dict[path,dict[string,array[string]]]
44            description: >
45                A dictionary of ancestor -> services.
46      errors:
47          - xyz.openbmc_project.Common.Error.ResourceNotFound
48    - name: GetSubTree
49      description: >
50          Obtain a dictionary of path -> services where path is in
51          sutbtree and services is of the type returned by the
52          GetObject method.
53      parameters:
54          - name: subtree
55            type: path
56            description: >
57                The subtree path for which the result should be fetched.
58          - name: depth
59            type: int32
60            description: >
61                The maximum subtree depth for which results should be fetched.
62                For unconstrained fetches use a depth of zero.
63          - name: interfaces
64            type: array[string]
65            description: >
66                An array of result set constraining interfaces.
67      returns:
68          - name: objects
69            type: dict[path,dict[string,array[string]]]
70            description: >
71                A dictionary of path -> services.
72      errors:
73          - xyz.openbmc_project.Common.Error.ResourceNotFound
74    - name: GetSubTreePaths
75      description: >
76          Obtain an array of paths where array elements are in subtree.
77      parameters:
78          - name: subtree
79            type: path
80            description: >
81                The subtree path for which the result should be fetched.
82          - name: depth
83            type: int32
84            description: >
85                The maximum subtree depth for which results should be fetched.
86                For unconstrained fetches use a depth of zero.
87          - name: interfaces
88            type: array[string]
89            description: >
90                An array of result set constraining interfaces.
91      returns:
92          - name: paths
93            type: array[path]
94            description: >
95                An array of paths.
96      errors:
97          - xyz.openbmc_project.Common.Error.ResourceNotFound
98    - name: GetAssociatedSubTree
99      description: >
100          Same as GetSubTree, but only return the dbus paths that are
101          an association endpoint on associatedPath
102      parameters:
103          - name: associatedPath
104            type: path
105            description: >
106                The path where the associated endpoint is fetched from.
107          - name: subtree
108            type: path
109            description: >
110                The subtree path for which the result should be fetched.
111          - name: depth
112            type: int32
113            description: >
114                The maximum subtree depth for which results should be fetched.
115                For unconstrained fetches use a depth of zero.
116          - name: interfaces
117            type: array[string]
118            description: >
119                An array of result set constraining interfaces.
120      returns:
121          - name: objects
122            type: dict[path,dict[string,array[string]]]
123            description: >
124                A dictionary of path -> services.
125      errors:
126          - xyz.openbmc_project.Common.Error.ResourceNotFound
127    - name: GetAssociatedSubTreePaths
128      description: >
129          Same as GetSubTreePaths, but only return the dbus paths that are
130          an association endpoint on associatedPath
131      parameters:
132          - name: associatedPath
133            type: path
134            description: >
135                The path where the associated endpoint is fetched from.
136          - name: subtree
137            type: path
138            description: >
139                The subtree path for which the result should be fetched.
140          - name: depth
141            type: int32
142            description: >
143                The maximum subtree depth for which results should be fetched.
144                For unconstrained fetches use a depth of zero.
145          - name: interfaces
146            type: array[string]
147            description: >
148                An array of result set constraining interfaces.
149      returns:
150          - name: paths
151            type: array[path]
152            description: >
153                An array of paths.
154      errors:
155          - xyz.openbmc_project.Common.Error.ResourceNotFound
156
157