Skip to main content

🧠 Azure Subscription Network Watcher is not enabled in every available region - prod.logic.yaml πŸ”΄πŸŸ’

Flags​

Input Type​

TypeAPI NameExtractsExtract FilesLogic Files
πŸ”’πŸ“• Azure SubscriptionCA10__CaAzureAccount__c13131

Uses​

Test Results πŸ”΄β€‹

This policy has test-data, but no test-results found in the repo

Generation​

FileMD5
Open/ce/ca/azure/subscription/network-watcher-in-every-available-region/policy.yaml635D7FDFB05CD24D5DC2A3D110ADD61B
Open/ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yamlC1220DEA9E79CF5C167A68027FFA1369
Open/types/CA10__CaAzureNetworkWatcher__c/object.extracts.yaml173B1F7B0677F449E887FDD2E68871B8
Open/types/CA10__CaAzureAccount__c/object.extracts.yaml9C78116D7D6EA5327842D3BC5DCF8980
Open/ce/ca/azure/subscription/network-watcher-in-every-available-region/test-data.json8FD2C8C4452E6057D78A8E630AD01C59

Generate FULL script​

java -jar repo-manager.jar policies generate FULL /ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yaml

Generate DEBUG script​

java -jar repo-manager.jar policies generate DEBUG /ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yaml

Generate CAPTURE_TEST_DATA script​

java -jar repo-manager.jar policies generate CAPTURE_TEST_DATA /ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yaml

Generate TESTS script​

java -jar repo-manager.jar policies generate TESTS /ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yaml

Execute tests​

java -jar repo-manager.jar policies test /ce/ca/azure/subscription/network-watcher-in-every-available-region/prod.logic.yaml

Content​

Open File

---
inputType: "CA10__CaAzureAccount__c"
importExtracts:
- file: /types/CA10__CaAzureAccount__c/object.extracts.yaml
testData:
- file: "test-data.json"
conditions:
# only one Network Watcher per region is allowed
- status: "INCOMPLIANT"
currentStateMessage: "Network Watcher is not enabled for every available region in the Subscription."
remediationMessage: "Consider enabling Network Watcher for all available regions in the Subscription."
check:
GREATER_THAN:
left:
JSON_QUERY_NUMBER:
arg:
EXTRACT: "caJsonFrom_availableLocationNames__c"
expression: "length(values)"
undeterminedIf:
evaluationError: "The JSON query has failed."
resultTypeMismatch: "The JSON query did not return a number type."
right:
RELATED_LIST_COUNT:
relationshipName: "CA10__Azure_Network_Watchers__r"
status: "COMPLIANT"
- status: "COMPLIANT"
currentStateMessage: "Network Watcher is enabled for every available region in the Subscription."
check:
LESS_THAN_EQUAL:
left:
JSON_QUERY_NUMBER:
arg:
EXTRACT: "caJsonFrom_availableLocationNames__c"
expression: "length(values)"
undeterminedIf:
evaluationError: "The JSON query has failed."
resultTypeMismatch: "The JSON query did not return a number type."
right:
RELATED_LIST_COUNT:
relationshipName: "CA10__Azure_Network_Watchers__r"
status: "COMPLIANT"
otherwise:
status: "UNDETERMINED"
currentStateMessage: "Unexpected values in the fields."
relatedLists:
- relationshipName: "CA10__Azure_Network_Watchers__r"
importExtracts:
- file: "/types/CA10__CaAzureNetworkWatcher__c/object.extracts.yaml"
conditions:
- status: "COMPLIANT"
currentStateMessage: "Network Watcher is provisioned successfully."
check:
IS_EQUAL:
left:
EXTRACT: "CA10__provisioningState__c"
right:
TEXT: "Succeeded"
otherwise:
status: "INCOMPLIANT"
currentStateMessage: "Network Watcher was not provisioned successfully."
remediationMessage: "Try restoring Network Watcher succeeded state."