#TODO This interface and the logging entry interface
#     is having common properties,Ideally there should be
#     one common interface and the specific properties
#     for logging should go in (Logging/Entry).
#     https://github.com/openbmc/openbmc/issues/2923
description: >
    Implement to provide event entry attributes.
    This interface should be instantiated for the phosphor::events namespace.
    This interface is a collection of objects, therefore it is required to
    implement org.freedesktop.DBus.ObjectManager on the events namespace root.
    Optionally, implement xyz.openbmc_project.Delete to allow the deletion of
    individual entries.
    The event D-Bus object path would look like
    <PhosphorDbusRoot>/events/<type>/<id>
    Here "type" is the type of event, Could be network/system state event etc.
    Type would be given by the application configuration file which would
    be implementing this interface.
    Here "id" is positive integer starts from 1 and it gets incremented by 1
    with any newly created object.
properties:
    - name: Timestamp
      type: uint64
      description: >
          Event creation timestamp in milliseconds since 1970.
    - name: Message
      type: string
      description: >
          The message description of the event entry.
    - name: AdditionalData
      type: array[string]
      description: >
          Additional information in the form of metadata field strings VAR=val
