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 represents Report with 9 xyz.openbmc_project.Telemetry.Report interface stored in path 10 /xyz/openbmc_project/Telemetry/Reports/{properties[Id]} where 11 properties[Id] is passed into this method as a parameter. 12 parameters: 13 - name: properties 14 type: array[dict[string,variant[boolean,uint32,uint64,string,enum[xyz.openbmc_project.Telemetry.Report.ReportingType],enum[xyz.openbmc_project.Telemetry.Report.ReportUpdates],array[enum[xyz.openbmc_project.Telemetry.Report.ReportActions]],array[struct[array[struct[object_path,string]],enum[xyz.openbmc_project.Telemetry.Report.OperationType],string,enum[xyz.openbmc_project.Telemetry.Report.CollectionTimescope],uint64]]]]] 15 description: > 16 Map of properties defining added report object. Key is the 17 string identifier of property. Value is a variant, whose 18 underlying type is dependent from the key. Possible key values 19 are: Id, Name, ReportingType, ReportActions, Interval, 20 AppendLimit, ReportUpdates, MetricParams, Enabled. All keys are 21 optional, therefore it is acceptable to pass an empty map here. 22 23 Id (string) - unique identifier of created Report object to be 24 exposed over D-Bus. Acceptable formats are: "{Id}", 25 "{Prefix}/{SubId}", "{Prefix}/". If the last variant is used, 26 service will generate unique SubId value by itself. 27 28 Name (string) - user friendly name of created Report object. 29 30 ReportingType (enum[ 31 xyz.openbmc_project.Telemetry.Report.ReportingType]) - indicates 32 when readings should be updated. Possible values are listed in 33 Report interface documentation. 34 35 ReportActions (array[enum[ 36 xyz.openbmc_project.Telemetry.Report.ReportActions]]) - possible 37 additional actions to trigger after readings' update, as 38 specified in Report interface documentation. 39 40 Interval (uint64) - period of time in milliseconds when Report 41 is updated with new readings. Minimal interval is defined in 42 MinInterval property. 43 44 AppendLimit (size) - maximum number of entries in 'Readings' 45 property. 46 47 ReportUpdates (enum[ 48 xyz.openbmc_project.Telemetry.Report.ReportUpdates]) - indicates 49 how readings should be updated. Possible values are listed in 50 Report interface documentation. 51 52 MetricParams (array[struct[array[struct[object_path,string]], 53 enum[xyz.openbmc_project.Telemetry.Report.OperationType],string, 54 enum[xyz.openbmc_project.Telemetry.Report.CollectionTimescope], 55 uint64]]) - array of metric parameters, which are stored in a 56 way specified in description of ReadingParameters property from 57 Report interface documentation. 58 59 Enabled (boolean) - indicates if readings in report will be 60 updated. 61 returns: 62 - name: reportPath 63 type: object_path 64 description: > 65 Path to new report -> 66 /xyz/openbmc_project/Telemetry/Reports/{parameters[Id]}. 67 68properties: 69 - name: MaxReports 70 type: size 71 description: > 72 Contains the max number of metric reports supported by the Telemetry. 73 This property is added to be compliant with the Redfish Telemetry 74 Service schema, that contains MaxReports property. 75 flags: 76 - const 77 - name: MinInterval 78 type: uint64 79 description: > 80 Minimal allowed time between readings property updates. It limits 81 Interval property in xyz.openbmc_project.Telemetry.Report and 82 interval parameter in AddReport method. 83 flags: 84 - const 85 - name: SupportedOperationTypes 86 type: array[enum[xyz.openbmc_project.Telemetry.Report.OperationType]] 87 description: > 88 Contains subset of operation types currently supported by this 89 service. 90 flags: 91 - const 92