Als alternatief voor de lijst met eenvoudige voorwaarden in Automation Assembler kunt u met de geavanceerde editor complexere criteria-expressies samenstellen om te bepalen wanneer de actie beschikbaar is.
Wanneer u een nieuwe resourceactie maakt, selecteert u Voorwaarde is vereist en Geavanceerde editor gebruiken. Voer vervolgens de gewenste criteria-expressie in.
De expressie is een component of lijst met componenten, die elk de indeling sleutel-operator-waarde hebben. De voorgaande afbeelding toont criteria waar het doel moet worden ingeschakeld en aanwezig moet zijn.
Componenten
| Component | Beschrijving | Voorbeeld |
|---|---|---|
| en | Alle subcomponenten moeten waar zijn zodat het expressieresultaat waar is. | Resulteert alleen in waar wanneer zowel properties.powerState AAN is en syncStatus niet ONTBREEKT. matchExpression:
- and:
- key: properties.powerState
operator: eq
value: ON
- key: syncStatus
operator: notEq
value: MISSING
|
| of | Een of meer subcomponenten moeten waar zijn zodat het expressieresultaat waar kan zijn. | Resulteert in waar wanneer properties.powerState AAN of UIT is. matchExpression:
- or:
- key: properties.powerState
operator: eq
value: ON
- key: properties.powerState
operator: eq
value: OFF
|
Operatoren
| Operator | Beschrijving | Voorbeeld |
|---|---|---|
| eq | Gelijk aan. Zoek naar een exacte overeenkomst. | Resulteert in waar wanneer properties.powerState AAN is. matchExpression:
- and:
- key: properties.powerState
operator: eq
value: ON
|
| notEq | Niet gelijk aan. Voorkom een exacte overeenkomst. | Resulteert in waar wanneer properties.powerState niet UIT is. matchExpression:
- and:
- key: properties.powerState
operator: notEq
value: OFF
|
| hasAny | Zoek naar een overeenkomst in een verzameling van objecten. | Resulteert in waar wanneer de array storage.disks een 100 IOPS EBS-object bevat. matchExpression:
- key: storage.disks
operator: hasAny
value:
matchExpression:
- and:
- key: iops
operator: eq
value: 100
- key: service
operator: eq
value: ebs
|
| in | Zoek naar een overeenkomst in een waardenset. | Resulteert in waar wanneer properties.powerState UIT of OPHEFFEN is. matchExpression:
- and:
- key: properties.powerState
operator: in
value: OFF, SUSPEND
|
| notIn | Voorkom dat een waardenset overeenkomt. | Resulteert in waar wanneer properties.powerState niet UIT of OPHEFFEN is. matchExpression:
- and:
- key: properties.powerState
operator: notIn
value: OFF, SUSPEND
|
| greaterThan | Zoek naar een overeenkomst boven een bepaalde drempelwaarde. Alleen van toepassing op numerieke waarden. | Resulteert in waar wanneer het eerste object in de array storage.disks meer dan 50 IOPS heeft. matchExpression:
- and:
- key: storage.disks[0].iops
operator: greaterThan
value: 50
|
| lessThan | Zoek naar een overeenkomst onder een bepaalde drempelwaarde. Alleen van toepassing op numerieke waarden. | Resulteert in waar wanneer het eerste object in de array storage.disks minder dan 200 IOPS heeft. matchExpression:
- and:
- key: storage.disks[0].iops
operator: lessThan
value: 200
|
| greaterThanEquals | Zoek naar een overeenkomst op of boven een bepaalde drempelwaarde. Alleen van toepassing op numerieke waarden. | Resulteert in waar wanneer het eerste object in de array storage.disks 100 of meer IOPS heeft. matchExpression:
- and:
- key: storage.disks[0].iops
operator: greaterThanEquals
value: 100
|
| lessThanEquals | Zoek naar een overeenkomst op of onder een bepaalde drempelwaarde. Alleen van toepassing op numerieke waarden. | Resulteert in waar wanneer het eerste object in de array storage.disks 100 of minder IOPS heeft. matchExpression:
- and:
- key: storage.disks[0].iops
operator: lessThanEquals
value: 100
|
| matchesRegex | Gebruik een reguliere expressie om te zoeken naar een overeenkomst. | Resulteert in waar wanneer properties.zone us-east-1a of us-east-1c is. matchExpression:
- and:
- key: properties.zone
operator: matchesRegex
value: (us-east-1)+(a|c){1,2}
|
Voorbeelden
De volgende criteria-expressie resulteert in waar wanneer properties.tags een tag met sleutel key1 en waarde value1 bevat.
De buitenste expressie gebruikt hasAny omdat properties.tags een array is en u wilt dat deze resulteert in waar wanneer key1=value1 wordt weergegeven in een van de sleutelwaardeparen in de array.
In de binnenste expressie staan twee componenten: één voor het sleutelveld en één voor het waardeveld. De array properties.tags bevat tagparen met sleutelwaarde en zowel de sleutel- als waardevelden moeten overeenkomen.
matchExpression:
- key: properties.tags
operator: hasAny
value:
matchExpression:
- and:
- key: key
operator: eq
value: key1
- key: value
operator: eq
value: value1
De volgende criteria-expressie lijkt op het vorige voorbeeld, maar resulteert nu in waar wanneer properties.tags een tag met key1=value1 of key2=value2 bevat.
matchExpression:
- or:
- key: properties.tags
operator: hasAny
value:
matchExpression:
- and:
- key: key
operator: eq
value: key1
- key: value
operator: eq
value: value1
- key: properties.tags
operator: hasAny
value:
matchExpression:
- and:
- key: key
operator: eq
value: key2
- key: value
operator: eq
value: value2