1description: >
2    Implement to provide reports management. Contain information about report
3    limitations and allows to add report.
4
5methods:
6    - name: AddReport
7      description: >
8          Create new object that represent Report with
9          xyz.openbmc_project.Telemetry.Report interface stored in path
10          /xyz/openbmc_project/Telemetry/Reports/{Domain}/{Name} where
11          Domain and Name are parameters of this method.
12      parameters:
13          - name: name
14            type: string
15            description: >
16                Defines the name of report to be exposed over D-Bus. Service allows
17                to use separator '/' in name to group reports in directory.
18          - name: reportingType
19            type: enum[xyz.openbmc_project.Telemetry.Report.ReportingType]
20            description: Defines report type
21          - name: reportUpdates
22            type: enum[xyz.openbmc_project.Telemetry.Report.ReportUpdates]
23            description: Defines report update type
24          - name: appendLimit
25            type: size
26            description: >
27                Defines the maximum number of entries in 'Readings' property.
28          - name: emitsReadingsUpdate
29            type: boolean
30            description: >
31                Defines presence of PropertiesChanged signal for
32                xyz.openbmc_project.Telmetry.Report.Readings property.
33          - name: logToMetricReportsCollection
34            type: boolean
35            description: >
36                Defines presence of Report in Metric Report Collection in Redfish
37                Telemetry Service.
38          - name: interval
39            type: uint64
40            description: >
41                Defines period of time in milliseconds when Report is updated with
42                new readings. Minimal interval is defined in MinInterval property.
43          - name: metricParams
44            type: array[struct[array[object_path],enum[xyz.openbmc_project.Telemetry.Report.OperationType],string,string,enum[xyz.openbmc_project.Telemetry.Report.CollectionTimescope],uint64]]
45            description: >
46                Array of metric parameters where first parameter is an array of DBus
47                sensor paths. Second parameter specifies operation type. Third is a
48                metric Id and fourth is a metadata, both are used to store user
49                details. Fifth and sixth are used for collection timescope and
50                collection duration.
51      returns:
52          - name: reportPath
53            type: object_path
54            description: >
55                Path to new report -> /xyz/openbmc_project/Telemetry/Reports/{name}.
56
57properties:
58    - name: MaxReports
59      type: size
60      description: >
61          Contains the max number of metric reports supported by the Telemetry.
62          This property is added to be compliant with the Redfish Telemetry
63          Service schema, that contains MaxReports property.
64      flags:
65          - const
66    - name: MinInterval
67      type: uint64
68      description: >
69          Minimal allowed time between readings property updates. It limits
70          Interval property in xyz.openbmc_project.Telemetry.Report and
71          interval parameter in AddReport method.
72      flags:
73          - const
74