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: Defines a limit of readings per sensor
27      - name: emitsReadingsUpdate
28        type: boolean
29        description: >
30            Defines presence of PropertiesChanged signal for
31            xyz.openbmc_project.Telmetry.Report.Readings property.
32      - name: logToMetricReportsCollection
33        type: boolean
34        description: >
35            Defines presence of Report in Metric Report Collection in Redfish
36            Telemetry Service.
37      - name: interval
38        type: uint64
39        description: >
40            Defines period of time in milliseconds when Report is updated with
41            new readings. Minimal interval is defined in MinInterval property.
42      - name: metricParams
43        type: array[struct[object_path,enum[xyz.openbmc_project.Telemetry.Report.OperationType],string,string]]
44        description: >
45            Array of metric parameters where first parameter is a DBus sensor
46            path. Second parameter specifies operation type. Third is a metric
47            Id and fourth is a metadata, both are used to store user details.
48    returns:
49      - name: reportPath
50        type: object_path
51        description: >
52            Path to new report -> /xyz/openbmc_project/Telemetry/Reports/{name}.
53
54properties:
55  - name: MaxReports
56    type: size
57    description: >
58        Contains the max number of metric reports supported by the Telemetry.
59        This property is added to be compliant with the Redfish Telemetry
60        Service schema, that contains MaxReports property.
61    flags:
62    - const
63  - name: MinInterval
64    type: uint64
65    description: >
66        Minimal allowed time between readings property updates. It limits
67        Interval property in xyz.openbmc_project.Telemetry.Report and
68        interval parameter in AddReport method.
69    flags:
70    - const
71