github.com/argoproj/argo-events@v1.9.1/examples/sensors/filter-with-multiple-filters-mixed.yaml (about) 1 # Event Payload 2 # 3 # { 4 # "a": "b", 5 # "c": 10, 6 # "d": { 7 # "e": false 8 # } 9 # } 10 # 11 12 apiVersion: argoproj.io/v1alpha1 13 kind: Sensor 14 metadata: 15 name: with-mixed-multiple-filters 16 spec: 17 dependencies: 18 - name: test-dep 19 eventSourceName: webhook 20 eventName: example 21 # If event payload passes either one of the following filters, the event is considered a valid event. 22 filtersLogicalOperator: "or" 23 filters: # global filters result: EVENT PASS 24 # default "exprLogicalOperator" = "and" 25 exprs: # expr filter result: EVENT PASS 26 - expr: a == "b" || c == 10 # true 27 fields: 28 - name: a 29 path: a 30 - name: c 31 path: c 32 - expr: e == false # true 33 fields: 34 - name: e 35 path: d.e 36 # default "dataLogicalOperator" = "and" 37 data: # data filter result: EVENT DOES NOT PASS 38 - path: "a" # true 39 type: "string" 40 value: 41 - "b" 42 - path: "c" # FALSE 43 type: "number" 44 comparator: ">" 45 value: 46 - "20" 47 - path: "d.e" # true 48 type: "bool" 49 value: 50 - "false" 51 triggers: 52 - template: 53 name: workflow 54 k8s: 55 operation: create 56 source: 57 resource: 58 apiVersion: argoproj.io/v1alpha1 59 kind: Workflow 60 metadata: 61 generateName: workflow- 62 spec: 63 entrypoint: whalesay 64 arguments: 65 parameters: 66 - name: message 67 # value will get overridden by the event payload 68 value: hello world 69 templates: 70 - name: whalesay 71 inputs: 72 parameters: 73 - name: message 74 container: 75 image: docker/whalesay:latest 76 command: [cowsay] 77 args: ["{{inputs.parameters.message}}"] 78 parameters: 79 - src: 80 dependencyName: test-dep 81 dataKey: name 82 dest: spec.arguments.parameters.0.value