description: >
    Implement this interface to provide report inspection features. An
    implementation service should additionally implement
    xyz.openbmc_project.Object.Delete for deletion of individual report objects.

methods:
  - name: Update
    description: >
        The Update method is defined for the on demand metric report update.
        It triggers update of the Readings property. If ReportingType is not
        set to OnRequest then method does nothing.

properties:
  - name: Persistency
    type: boolean
    description: >
        Defines if the report configuration is stored in non volatile memory.
        Configuration contains all Report properties excluding Readings.
  - name: ReadingParameters
    type: array[struct[object_path,enum[self.OperationType],string,string]]
    description: >
        Array of structures that contains sensor path that is monitored by
        Telemetry service, operation type, metric Id and metadata. Metric Id and
        metadata are used to store user details, e.g. metadata can be used to
        map sensor name to DBus path.
  - name: Readings
    type: struct[uint64,array[struct[string,string,double,uint64]]]
    description: >
        Structure that contains timestamp of readings update in milliseconds and
        array of metric Id, metadata, reading value and timestamp of single
        reading update in milliseconds. Metric Id and metadata are equal to its
        counterparts in ReadingParameters property.
    flags:
    - readonly
  - name: EmitsReadingsUpdate
    type: boolean
    description: >
        On Readings update PropertiesChanged signal is emitted. It allows to
        decrease generation of load on DBus when Readings property is updated.
        Redfish Event Service requires this option to be equal to true.
    flags:
    - const
  - name: LogToMetricReportsCollection
    type: boolean
    description: >
        Presence of Report in Metric Report Collection in Redfish Telemetry
        Service.
    flags:
    - const
  - name: ReportingType
    type: enum[self.ReportingType]
    description: Defines how readings are updated.
  - name: ReportUpdates
    type: enum[self.ReportUpdates]
    description: Defines how Readings array is filled.
  - name: AppendLimit
    type: size
    description: Defines a limit of readings per sensor.
  - name: Interval
    type: uint64
    description: >
        Defines period of time in milliseconds when readings are updated.

enumerations:
   - name: OperationType
     descritpion: Type of action that is executed on readings.
     values:
       - name: Single
         description: Store the latest reading.
       - name: Max
         description: Store maximal reading during defined time period.
       - name: Min
         description: Store minimal reading during defined time period.
       - name: Avg
         description: Calulate average of readings during defined time period.
       - name: Sum
         description: Calulate sum of readings over defined time period.
   - name: ReportingType
     description: >
       The type that defines when Readings are updated.
     values:
       - name: OnChange
         description: >
           On sensor reading change.
       - name: OnRequest
         description: >
           On Update method call.
       - name: Periodic
         description: >
           After period of time defined by ScanPeriod property.
   - name: ReportUpdates
     description: >
       The type that defines how Readings are updated.
     values:
       - name: Overwrite
         description: >
           Last sensor reading is written to Readings overwriting the previous
           value.
       - name: AppendWrapsWhenFull
         description: >
           Append sensor reading to Readings up to limit specify in AppendLimit
           then start from the beginning.
       - name: AppendStopsWhenFull
         description: >
           Append sensor reading to Readings up to limit specify in AppendLimit
           then stop till report update.
