Als alternatief voor de lijst met eenvoudige voorwaarden in Cloud Assembly 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