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