summaryrefslogtreecommitdiffstats
path: root/example/events.d/match1.yaml
blob: 3763093a752a2d57ac3cab03cb826a71b6c3fee7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
description: >
    The sample events below serve to illustrate PIM features
    and are also used by the PIM test suite.

events:
    - name: setProperty + propertyChangedTo example
      description: >
          Sets the value of ExampleProperty1 on /changeme
          when the value of ExampleProperty2 on
          /testing/trigger2 changes to yyyxxx.
      type: match
      signatures:
          - type: signal
            interface: org.freedesktop.DBus.Properties
            path: /testing/trigger2
            member: PropertiesChanged
      filters:
          - name: propertyChangedTo
            interface: xyz.openbmc_project.Example.Iface2
            property: ExampleProperty2
            value:
              type: string
              value: yyyxxx
      actions:
          - name: setProperty
            interface: xyz.openbmc_project.Example.Iface1
            property: ExampleProperty1
            paths:
                - /changeme
            value:
              type: string
              value: changed

    - name: createObjects + propertyChangedTo example
      description: >
          Create /createme1 and /createme2 when the value of
          ExampleProperty2 on /testing/trigger5 changes to abc123.
      type: match
      signatures:
          - type: signal
            interface: org.freedesktop.DBus.Properties
            path: /testing/trigger5
            member: PropertiesChanged
      filters:
          - name: propertyChangedTo
            interface: xyz.openbmc_project.Example.Iface2
            property: ExampleProperty2
            value:
              type: string
              value: abc123
      actions:
          - name: createObjects
            objs:
              /createme1:
                xyz.openbmc_project.Example.Iface1:
                  ExampleProperty1:
                    value: foo
                    type: string
                xyz.openbmc_project.Example.Iface2:
                  ExampleProperty2:
                    value: bar
                    type: string
                  ExampleProperty3:
                    value: 999
                    type: int64
              /createme2:
                xyz.openbmc_project.Example.Iface1:
                  ExampleProperty1:
                    value: bar
                    type: string
                xyz.openbmc_project.Example.Iface2:
                  ExampleProperty2:
                    value: foo
                    type: string
                  ExampleProperty3:
                    value: 888
                    type: int64

    - name: startup event example
      description: >
          Create /createme3 at startup.
      type: startup
      actions:
          - name: createObjects
            objs:
              /createme3:
                xyz.openbmc_project.Example.Iface1:
                  ExampleProperty1:
                    value: foo
                    type: string

    - name: conditional setProperty example
      description: >
          Sets the ExampleProperty1 on the /changeme object when
          the value of ExampleProperty3 on /testing/trigger7
          changes to 10 and the value of the ExampleProperty3
          value on /changeme is 22.
      type: match
      signatures:
          - type: signal
            path: /testing/trigger7
            interface: org.freedesktop.DBus.Properties
            member: PropertiesChanged
      filters:
          - name: propertyChangedTo
            interface: xyz.openbmc_project.Example.Iface2
            property: ExampleProperty3
            value:
              value: 10
              type: int64
      actions:
          - name: setProperty
            interface: xyz.openbmc_project.Example.Iface1
            property: ExampleProperty1
            paths:
                - /changeme
            value:
              type: string
              value: changed
            conditions:
              - name: propertyIs
                interface: xyz.openbmc_project.Example.Iface2
                property: ExampleProperty3
                value:
                  value: 22
                  type: int64


# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
OpenPOWER on IntegriCloud