1description: >
2    Implement to enable an object.
3
4    A d-bus object under certain circumstances may have the need to be denoted
5    as "disabled". So the object exists, but it's current state (described by
6    the object properties) can't be relied upon, until the object is "enabled"
7    again. What causes the object to be enabled or disabled - whether it's via
8    an external interface or internal logic - depends on a specific
9    implementation and use-case.
10
11    An example could be a d-bus object that denotes boot settings. However let's
12    say there's a permanent settings object versus a one-time (the next boot)
13    settings object. In this case, one of these objects, typically the one which
14    is not supposed to be used as a default, can implement the Enable interface
15    so that a user can indicate whether this setting object is to be used or
16    not, by setting the Enabled property.
17properties:
18    - name: Enabled
19      type: boolean
20      description: >
21          Whether the object is enabled or not. Implementation may throw error
22          "NotAllowed" depends on the context how it is used.
23      default: false
24      errors:
25          - xyz.openbmc_project.Common.Error.NotAllowed
26