MICROSOFT.NETWORK

AdminRuleCollections_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.appliesToGroups[_].networkGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

AdminRuleCollections_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

AdminRuleCollections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

AdminRuleCollections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.ReqMap.configurationName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AdminRules_CreateOrUpdate

enum_BaseAdminRuleKind := [ "Custom", "Default" ]

valid {
    input.Body.kind == enum_BaseAdminRuleKind[_]
    input.ProviderMetadata.Region == STRING
}

AdminRules_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

AdminRules_Get

valid {
    input.ProviderMetadata.Region == STRING
}

AdminRules_List

valid {
    input.ProviderMetadata.Region == STRING
}

ApplicationGatewayPrivateEndpointConnections_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGatewayPrivateEndpointConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGatewayPrivateEndpointConnections_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGatewayPrivateEndpointConnections_Update

valid {
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGatewayPrivateLinkResources_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGatewayWafDynamicManifestsDefault_Get

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGatewayWafDynamicManifests_Get

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_BackendHealth

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_BackendHealthOnDemand

enum_ApplicationGatewayProtocol := [ "Http", "Https", "Tcp", "Tls" ]

valid {
    input.Body.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.host == STRING
    input.Body.path == STRING
    input.Body.timeout == INTEGER
    input.Body.pickHostNameFromBackendHttpSettings == BOOLEAN
    input.Body.match.body == STRING
    input.Body.match.statusCodes[_] == STRING
    input.Body.backendAddressPool.id == STRING
    input.Body.backendHttpSettings.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_CreateOrUpdate

enum_ApplicationGatewayBackendHttpSettingsPropertiesFormatCookieBasedAffinity := [ "Enabled", "Disabled" ]
enum_ApplicationGatewayClientAuthConfigurationVerifyClientRevocation := [ "None", "OCSP" ]
enum_ApplicationGatewayCustomErrorStatusCode := [ "HttpStatus400", "HttpStatus403", "HttpStatus404", "HttpStatus405", "HttpStatus408", "HttpStatus500", "HttpStatus502", "HttpStatus503", "HttpStatus504" ]
enum_ApplicationGatewayLoadDistributionAlgorithmEnum := [ "RoundRobin", "LeastConnections", "IpHash" ]
enum_ApplicationGatewayProtocol := [ "Http", "Https", "Tcp", "Tls" ]
enum_ApplicationGatewayRequestRoutingRulePropertiesFormatRuleType := [ "Basic", "PathBasedRouting" ]
enum_ApplicationGatewayRoutingRulePropertiesFormatRuleType := [ "Basic", "PathBasedRouting" ]
enum_ApplicationGatewaySkuFamily := [ "Generation_1", "Generation_2" ]
enum_ApplicationGatewaySkuName := [ "Standard_Small", "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large", "Standard_v2", "WAF_v2", "Basic" ]
enum_ApplicationGatewaySkuTier := [ "Standard", "WAF", "Standard_v2", "WAF_v2", "Basic" ]
enum_ApplicationGatewaySslPolicyPolicyType := [ "Predefined", "Custom", "CustomV2" ]
enum_ApplicationGatewayWebApplicationFirewallConfigurationFirewallMode := [ "Detection", "Prevention" ]
enum_CipherSuitesEnum := [ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_PolicyNameEnum := [ "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S", "AppGwSslPolicy20220101", "AppGwSslPolicy20220101S" ]
enum_ProtocolsEnum := [ "TLSv1_0", "TLSv1_1", "TLSv1_2", "TLSv1_3" ]
enum_RedirectTypeEnum := [ "Permanent", "Found", "SeeOther", "Temporary" ]

valid {
    input.Body.properties.sku.name == enum_ApplicationGatewaySkuName[_]
    input.Body.properties.sku.tier == enum_ApplicationGatewaySkuTier[_]
    input.Body.properties.sku.capacity == INTEGER
    input.Body.properties.sku.family == enum_ApplicationGatewaySkuFamily[_]
    input.Body.properties.sslPolicy.disabledSslProtocols[_] == enum_ProtocolsEnum[_]
    input.Body.properties.sslPolicy.policyType == enum_ApplicationGatewaySslPolicyPolicyType[_]
    input.Body.properties.sslPolicy.policyName == enum_PolicyNameEnum[_]
    input.Body.properties.sslPolicy.cipherSuites[_] == enum_CipherSuitesEnum[_]
    input.Body.properties.sslPolicy.minProtocolVersion == enum_ProtocolsEnum[_]
    input.Body.properties.gatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.gatewayIPConfigurations[_].name == STRING
    input.Body.properties.gatewayIPConfigurations[_].id == STRING
    input.Body.properties.authenticationCertificates[_].properties.data == STRING
    input.Body.properties.authenticationCertificates[_].name == STRING
    input.Body.properties.authenticationCertificates[_].id == STRING
    input.Body.properties.trustedRootCertificates[_].properties.data == STRING
    input.Body.properties.trustedRootCertificates[_].properties.keyVaultSecretId == STRING
    input.Body.properties.trustedRootCertificates[_].name == STRING
    input.Body.properties.trustedRootCertificates[_].id == STRING
    input.Body.properties.trustedClientCertificates[_].properties.data == STRING
    input.Body.properties.trustedClientCertificates[_].name == STRING
    input.Body.properties.trustedClientCertificates[_].id == STRING
    input.Body.properties.sslCertificates[_].properties.data == STRING
    input.Body.properties.sslCertificates[_].properties.password == STRING
    input.Body.properties.sslCertificates[_].properties.keyVaultSecretId == STRING
    input.Body.properties.sslCertificates[_].name == STRING
    input.Body.properties.sslCertificates[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.privateLinkConfiguration.id == STRING
    input.Body.properties.frontendIPConfigurations[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].id == STRING
    input.Body.properties.frontendPorts[_].properties.port == INTEGER
    input.Body.properties.frontendPorts[_].name == STRING
    input.Body.properties.frontendPorts[_].id == STRING
    input.Body.properties.probes[_].properties.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.properties.probes[_].properties.host == STRING
    input.Body.properties.probes[_].properties.path == STRING
    input.Body.properties.probes[_].properties.interval == INTEGER
    input.Body.properties.probes[_].properties.timeout == INTEGER
    input.Body.properties.probes[_].properties.unhealthyThreshold == INTEGER
    input.Body.properties.probes[_].properties.pickHostNameFromBackendHttpSettings == BOOLEAN
    input.Body.properties.probes[_].properties.pickHostNameFromBackendSettings == BOOLEAN
    input.Body.properties.probes[_].properties.minServers == INTEGER
    input.Body.properties.probes[_].properties.match.body == STRING
    input.Body.properties.probes[_].properties.match.statusCodes[_] == STRING
    input.Body.properties.probes[_].properties.port == INTEGER
    input.Body.properties.probes[_].name == STRING
    input.Body.properties.probes[_].id == STRING
    input.Body.properties.backendAddressPools[_].properties.backendAddresses[_].fqdn == STRING
    input.Body.properties.backendAddressPools[_].properties.backendAddresses[_].ipAddress == STRING
    input.Body.properties.backendAddressPools[_].name == STRING
    input.Body.properties.backendAddressPools[_].id == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.port == INTEGER
    input.Body.properties.backendHttpSettingsCollection[_].properties.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.properties.backendHttpSettingsCollection[_].properties.cookieBasedAffinity == enum_ApplicationGatewayBackendHttpSettingsPropertiesFormatCookieBasedAffinity[_]
    input.Body.properties.backendHttpSettingsCollection[_].properties.requestTimeout == INTEGER
    input.Body.properties.backendHttpSettingsCollection[_].properties.probe.id == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.authenticationCertificates[_].id == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.trustedRootCertificates[_].id == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.connectionDraining.enabled == BOOLEAN
    input.Body.properties.backendHttpSettingsCollection[_].properties.connectionDraining.drainTimeoutInSec == INTEGER
    input.Body.properties.backendHttpSettingsCollection[_].properties.hostName == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.pickHostNameFromBackendAddress == BOOLEAN
    input.Body.properties.backendHttpSettingsCollection[_].properties.affinityCookieName == STRING
    input.Body.properties.backendHttpSettingsCollection[_].properties.probeEnabled == BOOLEAN
    input.Body.properties.backendHttpSettingsCollection[_].properties.path == STRING
    input.Body.properties.backendHttpSettingsCollection[_].name == STRING
    input.Body.properties.backendHttpSettingsCollection[_].id == STRING
    input.Body.properties.backendSettingsCollection[_].properties.port == INTEGER
    input.Body.properties.backendSettingsCollection[_].properties.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.properties.backendSettingsCollection[_].properties.timeout == INTEGER
    input.Body.properties.backendSettingsCollection[_].properties.probe.id == STRING
    input.Body.properties.backendSettingsCollection[_].properties.trustedRootCertificates[_].id == STRING
    input.Body.properties.backendSettingsCollection[_].properties.hostName == STRING
    input.Body.properties.backendSettingsCollection[_].properties.pickHostNameFromBackendAddress == BOOLEAN
    input.Body.properties.backendSettingsCollection[_].name == STRING
    input.Body.properties.backendSettingsCollection[_].id == STRING
    input.Body.properties.httpListeners[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.httpListeners[_].properties.frontendPort.id == STRING
    input.Body.properties.httpListeners[_].properties.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.properties.httpListeners[_].properties.hostName == STRING
    input.Body.properties.httpListeners[_].properties.sslCertificate.id == STRING
    input.Body.properties.httpListeners[_].properties.sslProfile.id == STRING
    input.Body.properties.httpListeners[_].properties.requireServerNameIndication == BOOLEAN
    input.Body.properties.httpListeners[_].properties.customErrorConfigurations[_].statusCode == enum_ApplicationGatewayCustomErrorStatusCode[_]
    input.Body.properties.httpListeners[_].properties.customErrorConfigurations[_].customErrorPageUrl == STRING
    input.Body.properties.httpListeners[_].properties.firewallPolicy.id == STRING
    input.Body.properties.httpListeners[_].properties.hostNames[_] == STRING
    input.Body.properties.httpListeners[_].name == STRING
    input.Body.properties.httpListeners[_].id == STRING
    input.Body.properties.listeners[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.listeners[_].properties.frontendPort.id == STRING
    input.Body.properties.listeners[_].properties.protocol == enum_ApplicationGatewayProtocol[_]
    input.Body.properties.listeners[_].properties.sslCertificate.id == STRING
    input.Body.properties.listeners[_].properties.sslProfile.id == STRING
    input.Body.properties.listeners[_].properties.hostNames[_] == STRING
    input.Body.properties.listeners[_].name == STRING
    input.Body.properties.listeners[_].id == STRING
    input.Body.properties.sslProfiles[_].properties.trustedClientCertificates[_].id == STRING
    input.Body.properties.sslProfiles[_].properties.sslPolicy.disabledSslProtocols[_] == enum_ProtocolsEnum[_]
    input.Body.properties.sslProfiles[_].properties.sslPolicy.policyType == enum_ApplicationGatewaySslPolicyPolicyType[_]
    input.Body.properties.sslProfiles[_].properties.sslPolicy.policyName == enum_PolicyNameEnum[_]
    input.Body.properties.sslProfiles[_].properties.sslPolicy.cipherSuites[_] == enum_CipherSuitesEnum[_]
    input.Body.properties.sslProfiles[_].properties.sslPolicy.minProtocolVersion == enum_ProtocolsEnum[_]
    input.Body.properties.sslProfiles[_].properties.clientAuthConfiguration.verifyClientCertIssuerDN == BOOLEAN
    input.Body.properties.sslProfiles[_].properties.clientAuthConfiguration.verifyClientRevocation == enum_ApplicationGatewayClientAuthConfigurationVerifyClientRevocation[_]
    input.Body.properties.sslProfiles[_].name == STRING
    input.Body.properties.sslProfiles[_].id == STRING
    input.Body.properties.urlPathMaps[_].properties.defaultBackendAddressPool.id == STRING
    input.Body.properties.urlPathMaps[_].properties.defaultBackendHttpSettings.id == STRING
    input.Body.properties.urlPathMaps[_].properties.defaultRewriteRuleSet.id == STRING
    input.Body.properties.urlPathMaps[_].properties.defaultRedirectConfiguration.id == STRING
    input.Body.properties.urlPathMaps[_].properties.defaultLoadDistributionPolicy.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.paths[_] == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.backendHttpSettings.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.redirectConfiguration.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.rewriteRuleSet.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.loadDistributionPolicy.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].properties.firewallPolicy.id == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].name == STRING
    input.Body.properties.urlPathMaps[_].properties.pathRules[_].id == STRING
    input.Body.properties.urlPathMaps[_].name == STRING
    input.Body.properties.urlPathMaps[_].id == STRING
    input.Body.properties.requestRoutingRules[_].properties.ruleType == enum_ApplicationGatewayRequestRoutingRulePropertiesFormatRuleType[_]
    input.Body.properties.requestRoutingRules[_].properties.priority == INTEGER
    input.Body.properties.requestRoutingRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.backendHttpSettings.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.httpListener.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.urlPathMap.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.rewriteRuleSet.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.redirectConfiguration.id == STRING
    input.Body.properties.requestRoutingRules[_].properties.loadDistributionPolicy.id == STRING
    input.Body.properties.requestRoutingRules[_].name == STRING
    input.Body.properties.requestRoutingRules[_].id == STRING
    input.Body.properties.routingRules[_].properties.ruleType == enum_ApplicationGatewayRoutingRulePropertiesFormatRuleType[_]
    input.Body.properties.routingRules[_].properties.priority == INTEGER
    input.Body.properties.routingRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.routingRules[_].properties.backendSettings.id == STRING
    input.Body.properties.routingRules[_].properties.listener.id == STRING
    input.Body.properties.routingRules[_].name == STRING
    input.Body.properties.routingRules[_].id == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].name == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].ruleSequence == INTEGER
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].conditions[_].variable == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].conditions[_].pattern == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].conditions[_].ignoreCase == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].conditions[_].negate == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.requestHeaderConfigurations[_].headerName == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.requestHeaderConfigurations[_].headerValueMatcher.pattern == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.requestHeaderConfigurations[_].headerValueMatcher.ignoreCase == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.requestHeaderConfigurations[_].headerValueMatcher.negate == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.requestHeaderConfigurations[_].headerValue == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.responseHeaderConfigurations[_].headerName == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.responseHeaderConfigurations[_].headerValueMatcher.pattern == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.responseHeaderConfigurations[_].headerValueMatcher.ignoreCase == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.responseHeaderConfigurations[_].headerValueMatcher.negate == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.responseHeaderConfigurations[_].headerValue == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.urlConfiguration.modifiedPath == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.urlConfiguration.modifiedQueryString == STRING
    input.Body.properties.rewriteRuleSets[_].properties.rewriteRules[_].actionSet.urlConfiguration.reroute == BOOLEAN
    input.Body.properties.rewriteRuleSets[_].name == STRING
    input.Body.properties.rewriteRuleSets[_].id == STRING
    input.Body.properties.redirectConfigurations[_].properties.redirectType == enum_RedirectTypeEnum[_]
    input.Body.properties.redirectConfigurations[_].properties.targetListener.id == STRING
    input.Body.properties.redirectConfigurations[_].properties.targetUrl == STRING
    input.Body.properties.redirectConfigurations[_].properties.includePath == BOOLEAN
    input.Body.properties.redirectConfigurations[_].properties.includeQueryString == BOOLEAN
    input.Body.properties.redirectConfigurations[_].properties.requestRoutingRules[_].id == STRING
    input.Body.properties.redirectConfigurations[_].properties.urlPathMaps[_].id == STRING
    input.Body.properties.redirectConfigurations[_].properties.pathRules[_].id == STRING
    input.Body.properties.redirectConfigurations[_].name == STRING
    input.Body.properties.redirectConfigurations[_].id == STRING
    input.Body.properties.webApplicationFirewallConfiguration.enabled == BOOLEAN
    input.Body.properties.webApplicationFirewallConfiguration.firewallMode == enum_ApplicationGatewayWebApplicationFirewallConfigurationFirewallMode[_]
    input.Body.properties.webApplicationFirewallConfiguration.ruleSetType == STRING
    input.Body.properties.webApplicationFirewallConfiguration.ruleSetVersion == STRING
    input.Body.properties.webApplicationFirewallConfiguration.disabledRuleGroups[_].ruleGroupName == STRING
    input.Body.properties.webApplicationFirewallConfiguration.disabledRuleGroups[_].rules[_] == INTEGER
    input.Body.properties.webApplicationFirewallConfiguration.requestBodyCheck == BOOLEAN
    input.Body.properties.webApplicationFirewallConfiguration.maxRequestBodySize == INTEGER
    input.Body.properties.webApplicationFirewallConfiguration.maxRequestBodySizeInKb == INTEGER
    input.Body.properties.webApplicationFirewallConfiguration.fileUploadLimitInMb == INTEGER
    input.Body.properties.webApplicationFirewallConfiguration.exclusions[_].matchVariable == STRING
    input.Body.properties.webApplicationFirewallConfiguration.exclusions[_].selectorMatchOperator == STRING
    input.Body.properties.webApplicationFirewallConfiguration.exclusions[_].selector == STRING
    input.Body.properties.firewallPolicy.id == STRING
    input.Body.properties.enableHttp2 == BOOLEAN
    input.Body.properties.enableFips == BOOLEAN
    input.Body.properties.autoscaleConfiguration.minCapacity == INTEGER
    input.Body.properties.autoscaleConfiguration.maxCapacity == INTEGER
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].properties.primary == BOOLEAN
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].name == STRING
    input.Body.properties.privateLinkConfigurations[_].properties.ipConfigurations[_].id == STRING
    input.Body.properties.privateLinkConfigurations[_].name == STRING
    input.Body.properties.privateLinkConfigurations[_].id == STRING
    input.Body.properties.customErrorConfigurations[_].statusCode == enum_ApplicationGatewayCustomErrorStatusCode[_]
    input.Body.properties.customErrorConfigurations[_].customErrorPageUrl == STRING
    input.Body.properties.forceFirewallPolicyAssociation == BOOLEAN
    input.Body.properties.loadDistributionPolicies[_].properties.loadDistributionTargets[_].properties.weightPerServer == INTEGER
    input.Body.properties.loadDistributionPolicies[_].properties.loadDistributionTargets[_].properties.backendAddressPool.id == STRING
    input.Body.properties.loadDistributionPolicies[_].properties.loadDistributionTargets[_].name == STRING
    input.Body.properties.loadDistributionPolicies[_].properties.loadDistributionTargets[_].id == STRING
    input.Body.properties.loadDistributionPolicies[_].properties.loadDistributionAlgorithm == enum_ApplicationGatewayLoadDistributionAlgorithmEnum[_]
    input.Body.properties.loadDistributionPolicies[_].name == STRING
    input.Body.properties.loadDistributionPolicies[_].id == STRING
    input.Body.properties.globalConfiguration.enableRequestBuffering == BOOLEAN
    input.Body.properties.globalConfiguration.enableResponseBuffering == BOOLEAN
    input.Body.zones[_] == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_GetSslPredefinedPolicy

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.predefinedPolicyName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableRequestHeaders

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableResponseHeaders

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableServerVariables

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableSslOptions

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableSslPredefinedPolicies

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_ListAvailableWafRuleSets

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationGateways_Start

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_Stop

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationSecurityGroups_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationSecurityGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationSecurityGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationSecurityGroups_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationSecurityGroups_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ApplicationSecurityGroups_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AvailableDelegations_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AvailableEndpointServices_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AvailablePrivateEndpointTypes_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AvailablePrivateEndpointTypes_ListByResourceGroup

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AvailableResourceGroupDelegations_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AvailableServiceAliases_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AvailableServiceAliases_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewallFqdnTags_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AzureFirewalls_CreateOrUpdate

enum_AzureFirewallApplicationRuleProtocolType := [ "Http", "Https", "Mssql" ]
enum_AzureFirewallNatRCActionType := [ "Snat", "Dnat" ]
enum_AzureFirewallNetworkRuleProtocol := [ "TCP", "UDP", "Any", "ICMP" ]
enum_AzureFirewallRCActionType := [ "Allow", "Deny" ]
enum_AzureFirewallSkuName := [ "AZFW_VNet", "AZFW_Hub" ]
enum_AzureFirewallSkuTier := [ "Standard", "Premium", "Basic" ]
enum_AzureFirewallThreatIntelMode := [ "Alert", "Deny", "Off" ]

valid {
    input.Body.properties.applicationRuleCollections[_].properties.priority == INTEGER
    input.Body.properties.applicationRuleCollections[_].properties.action.type == enum_AzureFirewallRCActionType[_]
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].name == STRING
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].description == STRING
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].sourceAddresses[_] == STRING
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].protocols[_].protocolType == enum_AzureFirewallApplicationRuleProtocolType[_]
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].protocols[_].port == INTEGER
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].targetFqdns[_] == STRING
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].fqdnTags[_] == STRING
    input.Body.properties.applicationRuleCollections[_].properties.rules[_].sourceIpGroups[_] == STRING
    input.Body.properties.applicationRuleCollections[_].name == STRING
    input.Body.properties.applicationRuleCollections[_].id == STRING
    input.Body.properties.natRuleCollections[_].properties.priority == INTEGER
    input.Body.properties.natRuleCollections[_].properties.action.type == enum_AzureFirewallNatRCActionType[_]
    input.Body.properties.natRuleCollections[_].properties.rules[_].name == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].description == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].sourceAddresses[_] == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].destinationAddresses[_] == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].destinationPorts[_] == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].protocols[_] == enum_AzureFirewallNetworkRuleProtocol[_]
    input.Body.properties.natRuleCollections[_].properties.rules[_].translatedAddress == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].translatedPort == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].translatedFqdn == STRING
    input.Body.properties.natRuleCollections[_].properties.rules[_].sourceIpGroups[_] == STRING
    input.Body.properties.natRuleCollections[_].name == STRING
    input.Body.properties.natRuleCollections[_].id == STRING
    input.Body.properties.networkRuleCollections[_].properties.priority == INTEGER
    input.Body.properties.networkRuleCollections[_].properties.action.type == enum_AzureFirewallRCActionType[_]
    input.Body.properties.networkRuleCollections[_].properties.rules[_].name == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].description == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].protocols[_] == enum_AzureFirewallNetworkRuleProtocol[_]
    input.Body.properties.networkRuleCollections[_].properties.rules[_].sourceAddresses[_] == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].destinationAddresses[_] == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].destinationPorts[_] == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].destinationFqdns[_] == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].sourceIpGroups[_] == STRING
    input.Body.properties.networkRuleCollections[_].properties.rules[_].destinationIpGroups[_] == STRING
    input.Body.properties.networkRuleCollections[_].name == STRING
    input.Body.properties.networkRuleCollections[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].id == STRING
    input.Body.properties.managementIpConfiguration.properties.subnet.id == STRING
    input.Body.properties.managementIpConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.managementIpConfiguration.name == STRING
    input.Body.properties.threatIntelMode == enum_AzureFirewallThreatIntelMode[_]
    input.Body.properties.virtualHub.id == STRING
    input.Body.properties.firewallPolicy.id == STRING
    input.Body.properties.hubIPAddresses.publicIPs.addresses[_].address == STRING
    input.Body.properties.hubIPAddresses.publicIPs.count == INTEGER
    input.Body.properties.hubIPAddresses.privateIPAddress == STRING
    input.Body.properties.sku.name == enum_AzureFirewallSkuName[_]
    input.Body.properties.sku.tier == enum_AzureFirewallSkuTier[_]
    input.Body.properties.additionalProperties.STRING == STRING
    input.Body.zones[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

AzureFirewalls_ListLearnedPrefixes

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_PacketCapture

enum_AzureFirewallNetworkRuleProtocol := [ "TCP", "UDP", "Any", "ICMP" ]
enum_AzureFirewallPacketCaptureFlagsType := [ "fin", "syn", "rst", "push", "ack", "urg" ]

valid {
    input.Body.properties.durationInSeconds == INTEGER
    input.Body.properties.numberOfPacketsToCapture == INTEGER
    input.Body.properties.sasUrl == STRING
    input.Body.properties.fileName == STRING
    input.Body.properties.protocol == enum_AzureFirewallNetworkRuleProtocol[_]
    input.Body.properties.flags[_].type == enum_AzureFirewallPacketCaptureFlagsType[_]
    input.Body.properties.filters[_].sources[_] == STRING
    input.Body.properties.filters[_].destinations[_] == STRING
    input.Body.properties.filters[_].destinationPorts[_] == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AzureFirewalls_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.azureFirewallName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BastionHosts_CreateOrUpdate

enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_SkuName := [ "Basic", "Standard", "Developer" ]

valid {
    input.Body.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].id == STRING
    input.Body.properties.dnsName == STRING
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.networkAcls.ipRules[_].addressPrefix == STRING
    input.Body.properties.scaleUnits == INTEGER
    input.Body.properties.disableCopyPaste == BOOLEAN
    input.Body.properties.enableFileCopy == BOOLEAN
    input.Body.properties.enableIpConnect == BOOLEAN
    input.Body.properties.enableShareableLink == BOOLEAN
    input.Body.properties.enableTunneling == BOOLEAN
    input.Body.properties.enableKerberos == BOOLEAN
    input.Body.zones[_] == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BastionHosts_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BastionHosts_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BastionHosts_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

BastionHosts_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BastionHosts_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BgpServiceCommunities_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CheckDnsNameAvailability

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.domainNameLabel == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ConfigurationPolicyGroups_CreateOrUpdate

enum_VpnServerConfigurationPolicyGroupMemberAttributeType := [ "CertificateGroupId", "AADGroupId", "RadiusAzureGroupId" ]

valid {
    input.Body.properties.isDefault == BOOLEAN
    input.Body.properties.priority == INTEGER
    input.Body.properties.policyMembers[_].name == STRING
    input.Body.properties.policyMembers[_].attributeType == enum_VpnServerConfigurationPolicyGroupMemberAttributeType[_]
    input.Body.properties.policyMembers[_].attributeValue == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.ReqMap.configurationPolicyGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConfigurationPolicyGroups_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.ReqMap.configurationPolicyGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConfigurationPolicyGroups_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.ReqMap.configurationPolicyGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_CreateOrUpdate

enum_ConnectionMonitorEndpointCoverageLevel := [ "Default", "Low", "BelowAverage", "Average", "AboveAverage", "Full" ]
enum_ConnectionMonitorEndpointFilterItemType := [ "AgentAddress" ]
enum_ConnectionMonitorEndpointFilterType := [ "Include" ]
enum_ConnectionMonitorEndpointType := [ "AzureVM", "AzureVNet", "AzureSubnet", "ExternalAddress", "MMAWorkspaceMachine", "MMAWorkspaceNetwork", "AzureArcVM", "AzureVMSS", "AzureArcNetwork" ]
enum_ConnectionMonitorHttpConfigurationMethod := [ "Get", "Post" ]
enum_ConnectionMonitorOutputType := [ "Workspace" ]
enum_ConnectionMonitorTcpConfigurationDestinationPortBehavior := [ "None", "ListenIfAvailable" ]
enum_ConnectionMonitorTestConfigurationPreferredIPVersion := [ "IPv4", "IPv6" ]
enum_ConnectionMonitorTestConfigurationProtocol := [ "Tcp", "Http", "Icmp" ]

valid {
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.properties.source.resourceId == STRING
    input.Body.properties.source.port == INTEGER
    input.Body.properties.destination.resourceId == STRING
    input.Body.properties.destination.address == STRING
    input.Body.properties.destination.port == INTEGER
    input.Body.properties.autoStart == BOOLEAN
    input.Body.properties.monitoringIntervalInSeconds == INTEGER
    input.Body.properties.endpoints[_].name == STRING
    input.Body.properties.endpoints[_].type == enum_ConnectionMonitorEndpointType[_]
    input.Body.properties.endpoints[_].resourceId == STRING
    input.Body.properties.endpoints[_].address == STRING
    input.Body.properties.endpoints[_].filter.type == enum_ConnectionMonitorEndpointFilterType[_]
    input.Body.properties.endpoints[_].filter.items[_].type == enum_ConnectionMonitorEndpointFilterItemType[_]
    input.Body.properties.endpoints[_].filter.items[_].address == STRING
    input.Body.properties.endpoints[_].scope.include[_].address == STRING
    input.Body.properties.endpoints[_].scope.exclude[_].address == STRING
    input.Body.properties.endpoints[_].coverageLevel == enum_ConnectionMonitorEndpointCoverageLevel[_]
    input.Body.properties.endpoints[_].locationDetails.region == STRING
    input.Body.properties.endpoints[_].subscriptionId == STRING
    input.Body.properties.testConfigurations[_].name == STRING
    input.Body.properties.testConfigurations[_].testFrequencySec == INTEGER
    input.Body.properties.testConfigurations[_].protocol == enum_ConnectionMonitorTestConfigurationProtocol[_]
    input.Body.properties.testConfigurations[_].preferredIPVersion == enum_ConnectionMonitorTestConfigurationPreferredIPVersion[_]
    input.Body.properties.testConfigurations[_].httpConfiguration.port == INTEGER
    input.Body.properties.testConfigurations[_].httpConfiguration.method == enum_ConnectionMonitorHttpConfigurationMethod[_]
    input.Body.properties.testConfigurations[_].httpConfiguration.path == STRING
    input.Body.properties.testConfigurations[_].httpConfiguration.requestHeaders[_].name == STRING
    input.Body.properties.testConfigurations[_].httpConfiguration.requestHeaders[_].value == STRING
    input.Body.properties.testConfigurations[_].httpConfiguration.validStatusCodeRanges[_] == STRING
    input.Body.properties.testConfigurations[_].httpConfiguration.preferHTTPS == BOOLEAN
    input.Body.properties.testConfigurations[_].tcpConfiguration.port == INTEGER
    input.Body.properties.testConfigurations[_].tcpConfiguration.disableTraceRoute == BOOLEAN
    input.Body.properties.testConfigurations[_].tcpConfiguration.destinationPortBehavior == enum_ConnectionMonitorTcpConfigurationDestinationPortBehavior[_]
    input.Body.properties.testConfigurations[_].icmpConfiguration.disableTraceRoute == BOOLEAN
    input.Body.properties.testConfigurations[_].successThreshold.checksFailedPercent == INTEGER
    input.Body.properties.testConfigurations[_].successThreshold.roundTripTimeMs == NUMBER
    input.Body.properties.testGroups[_].name == STRING
    input.Body.properties.testGroups[_].disable == BOOLEAN
    input.Body.properties.testGroups[_].testConfigurations[_] == STRING
    input.Body.properties.testGroups[_].sources[_] == STRING
    input.Body.properties.testGroups[_].destinations[_] == STRING
    input.Body.properties.outputs[_].type == enum_ConnectionMonitorOutputType[_]
    input.Body.properties.outputs[_].workspaceSettings.workspaceResourceId == STRING
    input.Body.properties.notes == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.migrate == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_Query

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_Start

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_Stop

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitors_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.connectionMonitorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectivityConfigurations_CreateOrUpdate

enum_ConnectivityConfigurationPropertiesConnectivityTopology := [ "HubAndSpoke", "Mesh" ]
enum_ConnectivityConfigurationPropertiesDeleteExistingPeering := [ "False", "True" ]
enum_ConnectivityConfigurationPropertiesIsGlobal := [ "False", "True" ]
enum_connectivityGroupItemGroupConnectivity := [ "None", "DirectlyConnected" ]
enum_connectivityGroupItemIsGlobal := [ "False", "True" ]
enum_connectivityGroupItemUseHubGateway := [ "False", "True" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.connectivityTopology == enum_ConnectivityConfigurationPropertiesConnectivityTopology[_]
    input.Body.properties.hubs[_].resourceId == STRING
    input.Body.properties.hubs[_].resourceType == STRING
    input.Body.properties.isGlobal == enum_ConnectivityConfigurationPropertiesIsGlobal[_]
    input.Body.properties.appliesToGroups[_].networkGroupId == STRING
    input.Body.properties.appliesToGroups[_].useHubGateway == enum_connectivityGroupItemUseHubGateway[_]
    input.Body.properties.appliesToGroups[_].isGlobal == enum_connectivityGroupItemIsGlobal[_]
    input.Body.properties.appliesToGroups[_].groupConnectivity == enum_connectivityGroupItemGroupConnectivity[_]
    input.Body.properties.deleteExistingPeering == enum_ConnectivityConfigurationPropertiesDeleteExistingPeering[_]
    input.ProviderMetadata.Region == STRING
}

ConnectivityConfigurations_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

ConnectivityConfigurations_Get

valid {
    input.ProviderMetadata.Region == STRING
}

ConnectivityConfigurations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomIPPrefixes_CreateOrUpdate

enum_CustomIpPrefixPropertiesFormatCommissionedState := [ "Provisioning", "Provisioned", "Commissioning", "CommissionedNoInternetAdvertise", "Commissioned", "Decommissioning", "Deprovisioning", "Deprovisioned" ]
enum_CustomIpPrefixPropertiesFormatGeo := [ "GLOBAL", "AFRI", "APAC", "EURO", "LATAM", "NAM", "ME", "OCEANIA", "AQ" ]
enum_CustomIpPrefixPropertiesFormatPrefixType := [ "Singular", "Parent", "Child" ]
enum_ExtendedLocationType := [ "EdgeZone" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.asn == STRING
    input.Body.properties.cidr == STRING
    input.Body.properties.signedMessage == STRING
    input.Body.properties.authorizationMessage == STRING
    input.Body.properties.customIpPrefixParent.id == STRING
    input.Body.properties.commissionedState == enum_CustomIpPrefixPropertiesFormatCommissionedState[_]
    input.Body.properties.expressRouteAdvertise == BOOLEAN
    input.Body.properties.geo == enum_CustomIpPrefixPropertiesFormatGeo[_]
    input.Body.properties.noInternetAdvertise == BOOLEAN
    input.Body.properties.prefixType == enum_CustomIpPrefixPropertiesFormatPrefixType[_]
    input.Body.zones[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.customIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomIPPrefixes_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.customIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomIPPrefixes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.customIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomIPPrefixes_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomIPPrefixes_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CustomIPPrefixes_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.customIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosCustomPolicies_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosCustomPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosCustomPolicies_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosCustomPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosCustomPolicies_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosCustomPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosCustomPolicies_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosCustomPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosProtectionPlans_CreateOrUpdate

valid {
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.properties == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosProtectionPlanName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosProtectionPlans_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosProtectionPlanName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosProtectionPlans_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosProtectionPlanName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosProtectionPlans_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

DdosProtectionPlans_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DdosProtectionPlans_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ddosProtectionPlanName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DefaultSecurityRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.defaultSecurityRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DefaultSecurityRules_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DeleteBastionShareableLink

valid {
    input.Body.vms[_].vm == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DeleteBastionShareableLinkByToken

valid {
    input.Body.tokens[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DisconnectActiveSessions

valid {
    input.Body.sessionIds[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_CreateOrUpdate

valid {
    input.Body.properties.dnsResolverOutboundEndpoints[_].id == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

DnsForwardingRulesets_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_ListByVirtualNetwork

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsForwardingRulesets_Update

valid {
    input.Body.dnsResolverOutboundEndpoints[_].id == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_CreateOrUpdate

valid {
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

DnsResolvers_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_ListByVirtualNetwork

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResolvers_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnsResourceReference_GetByTargetResources

valid {
    input.Body.properties.targetResources[_].id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

DnssecConfigs_CreateOrUpdate

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnssecConfigs_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnssecConfigs_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DnssecConfigs_ListByDnsZone

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DscpConfiguration_CreateOrUpdate

enum_DscpConfigurationPropertiesFormatProtocol := [ "DoNotUse", "Icmp", "Tcp", "Udp", "Gre", "Esp", "Ah", "Vxlan", "All" ]
enum_QosDefinitionProtocol := [ "DoNotUse", "Icmp", "Tcp", "Udp", "Gre", "Esp", "Ah", "Vxlan", "All" ]

valid {
    input.Body.properties.markings[_] == INTEGER
    input.Body.properties.sourceIpRanges[_].startIP == STRING
    input.Body.properties.sourceIpRanges[_].endIP == STRING
    input.Body.properties.destinationIpRanges[_].startIP == STRING
    input.Body.properties.destinationIpRanges[_].endIP == STRING
    input.Body.properties.sourcePortRanges[_].start == INTEGER
    input.Body.properties.sourcePortRanges[_].end == INTEGER
    input.Body.properties.destinationPortRanges[_].start == INTEGER
    input.Body.properties.destinationPortRanges[_].end == INTEGER
    input.Body.properties.protocol == enum_DscpConfigurationPropertiesFormatProtocol[_]
    input.Body.properties.qosDefinitionCollection[_].markings[_] == INTEGER
    input.Body.properties.qosDefinitionCollection[_].sourceIpRanges[_].startIP == STRING
    input.Body.properties.qosDefinitionCollection[_].sourceIpRanges[_].endIP == STRING
    input.Body.properties.qosDefinitionCollection[_].destinationIpRanges[_].startIP == STRING
    input.Body.properties.qosDefinitionCollection[_].destinationIpRanges[_].endIP == STRING
    input.Body.properties.qosDefinitionCollection[_].sourcePortRanges[_].start == INTEGER
    input.Body.properties.qosDefinitionCollection[_].sourcePortRanges[_].end == INTEGER
    input.Body.properties.qosDefinitionCollection[_].destinationPortRanges[_].start == INTEGER
    input.Body.properties.qosDefinitionCollection[_].destinationPortRanges[_].end == INTEGER
    input.Body.properties.qosDefinitionCollection[_].protocol == enum_QosDefinitionProtocol[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dscpConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DscpConfiguration_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dscpConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DscpConfiguration_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dscpConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DscpConfiguration_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DscpConfiguration_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

EffectiveVirtualNetworks_ListByNetworkManager

valid {
    input.Body.conditionalMembers == STRING
    input.Body.skipToken == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Endpoints_CreateOrUpdate

enum_EndpointPropertiesAlwaysServe := [ "Enabled", "Disabled" ]
enum_EndpointPropertiesEndpointMonitorStatus := [ "CheckingEndpoint", "Online", "Degraded", "Disabled", "Inactive", "Stopped", "Unmonitored" ]
enum_EndpointPropertiesEndpointStatus := [ "Enabled", "Disabled" ]
enum_EndpointTypeParameter := [ "AzureEndpoints", "ExternalEndpoints", "NestedEndpoints" ]

valid {
    input.Body.properties.targetResourceId == STRING
    input.Body.properties.target == STRING
    input.Body.properties.endpointStatus == enum_EndpointPropertiesEndpointStatus[_]
    input.Body.properties.weight == INTEGER
    input.Body.properties.priority == INTEGER
    input.Body.properties.endpointLocation == STRING
    input.Body.properties.endpointMonitorStatus == enum_EndpointPropertiesEndpointMonitorStatus[_]
    input.Body.properties.minChildEndpoints == INTEGER
    input.Body.properties.minChildEndpointsIPv4 == INTEGER
    input.Body.properties.minChildEndpointsIPv6 == INTEGER
    input.Body.properties.geoMapping[_] == STRING
    input.Body.properties.subnets[_].first == STRING
    input.Body.properties.subnets[_].last == STRING
    input.Body.properties.subnets[_].scope == INTEGER
    input.Body.properties.customHeaders[_].name == STRING
    input.Body.properties.customHeaders[_].value == STRING
    input.Body.properties.alwaysServe == enum_EndpointPropertiesAlwaysServe[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.endpointType == enum_EndpointTypeParameter[_]
    input.ReqMap.endpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Endpoints_Delete

enum_EndpointTypeParameter := [ "AzureEndpoints", "ExternalEndpoints", "NestedEndpoints" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.endpointType == enum_EndpointTypeParameter[_]
    input.ReqMap.endpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Endpoints_Get

enum_EndpointTypeParameter := [ "AzureEndpoints", "ExternalEndpoints", "NestedEndpoints" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.endpointType == enum_EndpointTypeParameter[_]
    input.ReqMap.endpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Endpoints_PurgeContent

valid {
    input.Body.contentPaths[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Endpoints_Update

enum_EndpointPropertiesAlwaysServe := [ "Enabled", "Disabled" ]
enum_EndpointPropertiesEndpointMonitorStatus := [ "CheckingEndpoint", "Online", "Degraded", "Disabled", "Inactive", "Stopped", "Unmonitored" ]
enum_EndpointPropertiesEndpointStatus := [ "Enabled", "Disabled" ]
enum_EndpointTypeParameter := [ "AzureEndpoints", "ExternalEndpoints", "NestedEndpoints" ]

valid {
    input.Body.properties.targetResourceId == STRING
    input.Body.properties.target == STRING
    input.Body.properties.endpointStatus == enum_EndpointPropertiesEndpointStatus[_]
    input.Body.properties.weight == INTEGER
    input.Body.properties.priority == INTEGER
    input.Body.properties.endpointLocation == STRING
    input.Body.properties.endpointMonitorStatus == enum_EndpointPropertiesEndpointMonitorStatus[_]
    input.Body.properties.minChildEndpoints == INTEGER
    input.Body.properties.minChildEndpointsIPv4 == INTEGER
    input.Body.properties.minChildEndpointsIPv6 == INTEGER
    input.Body.properties.geoMapping[_] == STRING
    input.Body.properties.subnets[_].first == STRING
    input.Body.properties.subnets[_].last == STRING
    input.Body.properties.subnets[_].scope == INTEGER
    input.Body.properties.customHeaders[_].name == STRING
    input.Body.properties.customHeaders[_].value == STRING
    input.Body.properties.alwaysServe == enum_EndpointPropertiesAlwaysServe[_]
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.endpointType == enum_EndpointTypeParameter[_]
    input.ReqMap.endpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Experiments_CreateOrUpdate

enum_ExperimentPropertiesEnabledState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.endpointA.name == STRING
    input.Body.properties.endpointA.endpoint == STRING
    input.Body.properties.endpointB.name == STRING
    input.Body.properties.endpointB.endpoint == STRING
    input.Body.properties.enabledState == enum_ExperimentPropertiesEnabledState[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Experiments_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Experiments_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Experiments_ListByProfile

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Experiments_Update

enum_ExperimentUpdatePropertiesEnabledState := [ "Enabled", "Disabled" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.enabledState == enum_ExperimentUpdatePropertiesEnabledState[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitAuthorizations_CreateOrUpdate

enum_AuthorizationPropertiesFormatAuthorizationUseStatus := [ "Available", "InUse" ]

valid {
    input.Body.properties.authorizationKey == STRING
    input.Body.properties.authorizationUseStatus == enum_AuthorizationPropertiesFormatAuthorizationUseStatus[_]
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitAuthorizations_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitAuthorizations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitAuthorizations_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitConnections_CreateOrUpdate

valid {
    input.Body.properties.expressRouteCircuitPeering.id == STRING
    input.Body.properties.peerExpressRouteCircuitPeering.id == STRING
    input.Body.properties.addressPrefix == STRING
    input.Body.properties.authorizationKey == STRING
    input.Body.properties.ipv6CircuitConnectionConfig.addressPrefix == STRING
    input.Body.name == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitConnections_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitConnections_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitPeerings_CreateOrUpdate

enum_ExpressRoutePeeringState := [ "Disabled", "Enabled" ]
enum_ExpressRoutePeeringType := [ "AzurePublicPeering", "AzurePrivatePeering", "MicrosoftPeering" ]
enum_Ipv6ExpressRouteCircuitPeeringConfigState := [ "Disabled", "Enabled" ]

valid {
    input.Body.properties.peeringType == enum_ExpressRoutePeeringType[_]
    input.Body.properties.state == enum_ExpressRoutePeeringState[_]
    input.Body.properties.azureASN == INTEGER
    input.Body.properties.peerASN == INTEGER
    input.Body.properties.primaryPeerAddressPrefix == STRING
    input.Body.properties.secondaryPeerAddressPrefix == STRING
    input.Body.properties.primaryAzurePort == STRING
    input.Body.properties.secondaryAzurePort == STRING
    input.Body.properties.sharedKey == STRING
    input.Body.properties.vlanId == INTEGER
    input.Body.properties.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.stats.primarybytesIn == INTEGER
    input.Body.properties.stats.primarybytesOut == INTEGER
    input.Body.properties.stats.secondarybytesIn == INTEGER
    input.Body.properties.stats.secondarybytesOut == INTEGER
    input.Body.properties.gatewayManagerEtag == STRING
    input.Body.properties.routeFilter.id == STRING
    input.Body.properties.ipv6PeeringConfig.primaryPeerAddressPrefix == STRING
    input.Body.properties.ipv6PeeringConfig.secondaryPeerAddressPrefix == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.ipv6PeeringConfig.routeFilter.id == STRING
    input.Body.properties.ipv6PeeringConfig.state == enum_Ipv6ExpressRouteCircuitPeeringConfigState[_]
    input.Body.properties.expressRouteConnection == {}
    input.Body.properties.connections[_].properties.expressRouteCircuitPeering.id == STRING
    input.Body.properties.connections[_].properties.peerExpressRouteCircuitPeering.id == STRING
    input.Body.properties.connections[_].properties.addressPrefix == STRING
    input.Body.properties.connections[_].properties.authorizationKey == STRING
    input.Body.properties.connections[_].properties.ipv6CircuitConnectionConfig.addressPrefix == STRING
    input.Body.properties.connections[_].name == STRING
    input.Body.properties.connections[_].id == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitPeerings_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitPeerings_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuitPeerings_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_CreateOrUpdate

enum_AuthorizationPropertiesFormatAuthorizationUseStatus := [ "Available", "InUse" ]
enum_ExpressRouteCircuitSkuFamily := [ "UnlimitedData", "MeteredData" ]
enum_ExpressRouteCircuitSkuTier := [ "Standard", "Premium", "Basic", "Local" ]
enum_ExpressRoutePeeringState := [ "Disabled", "Enabled" ]
enum_ExpressRoutePeeringType := [ "AzurePublicPeering", "AzurePrivatePeering", "MicrosoftPeering" ]
enum_Ipv6ExpressRouteCircuitPeeringConfigState := [ "Disabled", "Enabled" ]
enum_ServiceProviderProvisioningState := [ "NotProvisioned", "Provisioning", "Provisioned", "Deprovisioning" ]

valid {
    input.Body.sku.name == STRING
    input.Body.sku.tier == enum_ExpressRouteCircuitSkuTier[_]
    input.Body.sku.family == enum_ExpressRouteCircuitSkuFamily[_]
    input.Body.properties.allowClassicOperations == BOOLEAN
    input.Body.properties.circuitProvisioningState == STRING
    input.Body.properties.serviceProviderProvisioningState == enum_ServiceProviderProvisioningState[_]
    input.Body.properties.authorizations[_].properties.authorizationKey == STRING
    input.Body.properties.authorizations[_].properties.authorizationUseStatus == enum_AuthorizationPropertiesFormatAuthorizationUseStatus[_]
    input.Body.properties.authorizations[_].name == STRING
    input.Body.properties.peerings[_].properties.peeringType == enum_ExpressRoutePeeringType[_]
    input.Body.properties.peerings[_].properties.state == enum_ExpressRoutePeeringState[_]
    input.Body.properties.peerings[_].properties.azureASN == INTEGER
    input.Body.properties.peerings[_].properties.peerASN == INTEGER
    input.Body.properties.peerings[_].properties.primaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.secondaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.primaryAzurePort == STRING
    input.Body.properties.peerings[_].properties.secondaryAzurePort == STRING
    input.Body.properties.peerings[_].properties.sharedKey == STRING
    input.Body.properties.peerings[_].properties.vlanId == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.peerings[_].properties.stats.primarybytesIn == INTEGER
    input.Body.properties.peerings[_].properties.stats.primarybytesOut == INTEGER
    input.Body.properties.peerings[_].properties.stats.secondarybytesIn == INTEGER
    input.Body.properties.peerings[_].properties.stats.secondarybytesOut == INTEGER
    input.Body.properties.peerings[_].properties.gatewayManagerEtag == STRING
    input.Body.properties.peerings[_].properties.routeFilter.id == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.primaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.secondaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.routeFilter.id == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.state == enum_Ipv6ExpressRouteCircuitPeeringConfigState[_]
    input.Body.properties.peerings[_].properties.expressRouteConnection == {}
    input.Body.properties.peerings[_].properties.connections[_].properties.expressRouteCircuitPeering.id == STRING
    input.Body.properties.peerings[_].properties.connections[_].properties.peerExpressRouteCircuitPeering.id == STRING
    input.Body.properties.peerings[_].properties.connections[_].properties.addressPrefix == STRING
    input.Body.properties.peerings[_].properties.connections[_].properties.authorizationKey == STRING
    input.Body.properties.peerings[_].properties.connections[_].properties.ipv6CircuitConnectionConfig.addressPrefix == STRING
    input.Body.properties.peerings[_].properties.connections[_].name == STRING
    input.Body.properties.peerings[_].name == STRING
    input.Body.properties.serviceKey == STRING
    input.Body.properties.serviceProviderNotes == STRING
    input.Body.properties.serviceProviderProperties.serviceProviderName == STRING
    input.Body.properties.serviceProviderProperties.peeringLocation == STRING
    input.Body.properties.serviceProviderProperties.bandwidthInMbps == INTEGER
    input.Body.properties.expressRoutePort.id == STRING
    input.Body.properties.bandwidthInGbps == NUMBER
    input.Body.properties.gatewayManagerEtag == STRING
    input.Body.properties.globalReachEnabled == BOOLEAN
    input.Body.properties.authorizationKey == STRING
    input.Body.properties.enableDirectPortRateLimit == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_GetPeeringStats

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_GetStats

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRouteCircuits_ListArpTable

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_ListRoutesTable

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_ListRoutesTableSummary

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_ListStats

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCircuits_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteConnections_CreateOrUpdate

enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]

valid {
    input.Body.properties.expressRouteCircuitPeering.id == STRING
    input.Body.properties.authorizationKey == STRING
    input.Body.properties.routingWeight == INTEGER
    input.Body.properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.expressRouteGatewayBypass == BOOLEAN
    input.Body.properties.enablePrivateLinkFastPath == BOOLEAN
    input.Body.properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.name == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteConnections_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteConnections_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnectionPeerings_CreateOrUpdate

enum_ExpressRoutePeeringState := [ "Disabled", "Enabled" ]
enum_ExpressRoutePeeringType := [ "AzurePublicPeering", "AzurePrivatePeering", "MicrosoftPeering" ]
enum_Ipv6ExpressRouteCircuitPeeringConfigState := [ "Disabled", "Enabled" ]

valid {
    input.Body.properties.peeringType == enum_ExpressRoutePeeringType[_]
    input.Body.properties.state == enum_ExpressRoutePeeringState[_]
    input.Body.properties.peerASN == INTEGER
    input.Body.properties.primaryPeerAddressPrefix == STRING
    input.Body.properties.secondaryPeerAddressPrefix == STRING
    input.Body.properties.sharedKey == STRING
    input.Body.properties.vlanId == INTEGER
    input.Body.properties.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.gatewayManagerEtag == STRING
    input.Body.properties.ipv6PeeringConfig.primaryPeerAddressPrefix == STRING
    input.Body.properties.ipv6PeeringConfig.secondaryPeerAddressPrefix == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.ipv6PeeringConfig.routeFilter.id == STRING
    input.Body.properties.ipv6PeeringConfig.state == enum_Ipv6ExpressRouteCircuitPeeringConfigState[_]
    input.Body.name == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnectionPeerings_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnectionPeerings_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnectionPeerings_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_CreateOrUpdate

enum_ExpressRoutePeeringState := [ "Disabled", "Enabled" ]
enum_ExpressRoutePeeringType := [ "AzurePublicPeering", "AzurePrivatePeering", "MicrosoftPeering" ]
enum_Ipv6ExpressRouteCircuitPeeringConfigState := [ "Disabled", "Enabled" ]
enum_ServiceProviderProvisioningState := [ "NotProvisioned", "Provisioning", "Provisioned", "Deprovisioning" ]

valid {
    input.Body.properties.expressRouteCircuit.id == STRING
    input.Body.properties.serviceProviderProvisioningState == enum_ServiceProviderProvisioningState[_]
    input.Body.properties.serviceProviderNotes == STRING
    input.Body.properties.peerings[_].properties.peeringType == enum_ExpressRoutePeeringType[_]
    input.Body.properties.peerings[_].properties.state == enum_ExpressRoutePeeringState[_]
    input.Body.properties.peerings[_].properties.peerASN == INTEGER
    input.Body.properties.peerings[_].properties.primaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.secondaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.sharedKey == STRING
    input.Body.properties.peerings[_].properties.vlanId == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.peerings[_].properties.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.peerings[_].properties.gatewayManagerEtag == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.primaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.secondaryPeerAddressPrefix == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes[_] == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities[_] == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.legacyMode == INTEGER
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.customerASN == INTEGER
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.routeFilter.id == STRING
    input.Body.properties.peerings[_].properties.ipv6PeeringConfig.state == enum_Ipv6ExpressRouteCircuitPeeringConfigState[_]
    input.Body.properties.peerings[_].name == STRING
    input.Body.properties.peerings[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRouteCrossConnections_ListArpTable

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_ListRoutesTable

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_ListRoutesTableSummary

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.devicePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteCrossConnections_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.crossConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteGateways_CreateOrUpdate

enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]

valid {
    input.Body.properties.autoScaleConfiguration.bounds.min == INTEGER
    input.Body.properties.autoScaleConfiguration.bounds.max == INTEGER
    input.Body.properties.expressRouteConnections[_].properties.expressRouteCircuitPeering.id == STRING
    input.Body.properties.expressRouteConnections[_].properties.authorizationKey == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingWeight == INTEGER
    input.Body.properties.expressRouteConnections[_].properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.expressRouteConnections[_].properties.expressRouteGatewayBypass == BOOLEAN
    input.Body.properties.expressRouteConnections[_].properties.enablePrivateLinkFastPath == BOOLEAN
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.expressRouteConnections[_].properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.properties.expressRouteConnections[_].name == STRING
    input.Body.properties.expressRouteConnections[_].id == STRING
    input.Body.properties.virtualHub.id == STRING
    input.Body.properties.allowNonVirtualWanTraffic == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteGateways_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteGateways_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteGateways_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteGateways_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRouteGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRouteGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteLinks_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.ReqMap.linkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteLinks_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePortAuthorizations_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePortAuthorizations_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePortAuthorizations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.ReqMap.authorizationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePortAuthorizations_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePortsLocations_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.locationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRoutePortsLocations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRoutePorts_CreateOrUpdate

enum_ExpressRouteLinkMacSecConfigCipher := [ "GcmAes256", "GcmAes128", "GcmAesXpn128", "GcmAesXpn256" ]
enum_ExpressRouteLinkMacSecConfigSciState := [ "Disabled", "Enabled" ]
enum_ExpressRouteLinkPropertiesFormatAdminState := [ "Enabled", "Disabled" ]
enum_ExpressRoutePortPropertiesFormatBillingType := [ "MeteredData", "UnlimitedData" ]
enum_ExpressRoutePortPropertiesFormatEncapsulation := [ "Dot1Q", "QinQ" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]

valid {
    input.Body.properties.peeringLocation == STRING
    input.Body.properties.bandwidthInGbps == INTEGER
    input.Body.properties.encapsulation == enum_ExpressRoutePortPropertiesFormatEncapsulation[_]
    input.Body.properties.links[_].properties.adminState == enum_ExpressRouteLinkPropertiesFormatAdminState[_]
    input.Body.properties.links[_].properties.macSecConfig.cknSecretIdentifier == STRING
    input.Body.properties.links[_].properties.macSecConfig.cakSecretIdentifier == STRING
    input.Body.properties.links[_].properties.macSecConfig.cipher == enum_ExpressRouteLinkMacSecConfigCipher[_]
    input.Body.properties.links[_].properties.macSecConfig.sciState == enum_ExpressRouteLinkMacSecConfigSciState[_]
    input.Body.properties.links[_].name == STRING
    input.Body.properties.links[_].id == STRING
    input.Body.properties.billingType == enum_ExpressRoutePortPropertiesFormatBillingType[_]
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePorts_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePorts_GenerateLOA

valid {
    input.Body.customerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePorts_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePorts_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRoutePorts_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRoutePorts_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.expressRoutePortName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExpressRouteProviderPort

valid {
    input.ReqMap.providerport == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRouteProviderPortsLocation_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ExpressRouteServiceProviders_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

FirewallPolicies_CreateOrUpdate

enum_AzureFirewallThreatIntelMode := [ "Alert", "Deny", "Off" ]
enum_FirewallPolicyIntrusionDetectionBypassTrafficProtocol := [ "TCP", "UDP", "ICMP", "ANY" ]
enum_FirewallPolicyIntrusionDetectionProfileOptions := [ "Basic", "Standard", "Advanced", "Extended" ]
enum_FirewallPolicyIntrusionDetectionStateOptions := [ "Off", "Alert", "Deny" ]
enum_FirewallPolicySNATAutoLearnPrivateRanges := [ "Enabled", "Disabled" ]
enum_FirewallPolicySkuTier := [ "Standard", "Premium", "Basic" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]

valid {
    input.Body.properties.basePolicy.id == STRING
    input.Body.properties.threatIntelMode == enum_AzureFirewallThreatIntelMode[_]
    input.Body.properties.threatIntelWhitelist.ipAddresses[_] == STRING
    input.Body.properties.threatIntelWhitelist.fqdns[_] == STRING
    input.Body.properties.insights.isEnabled == BOOLEAN
    input.Body.properties.insights.retentionDays == INTEGER
    input.Body.properties.insights.logAnalyticsResources.workspaces[_].region == STRING
    input.Body.properties.insights.logAnalyticsResources.workspaces[_].workspaceId.id == STRING
    input.Body.properties.insights.logAnalyticsResources.defaultWorkspaceId.id == STRING
    input.Body.properties.snat.privateRanges[_] == STRING
    input.Body.properties.snat.autoLearnPrivateRanges == enum_FirewallPolicySNATAutoLearnPrivateRanges[_]
    input.Body.properties.sql.allowSqlRedirect == BOOLEAN
    input.Body.properties.dnsSettings.servers[_] == STRING
    input.Body.properties.dnsSettings.enableProxy == BOOLEAN
    input.Body.properties.dnsSettings.requireProxyForNetworkRules == BOOLEAN
    input.Body.properties.explicitProxy.enableExplicitProxy == BOOLEAN
    input.Body.properties.explicitProxy.httpPort == INTEGER
    input.Body.properties.explicitProxy.httpsPort == INTEGER
    input.Body.properties.explicitProxy.enablePacFile == BOOLEAN
    input.Body.properties.explicitProxy.pacFilePort == INTEGER
    input.Body.properties.explicitProxy.pacFile == STRING
    input.Body.properties.intrusionDetection.mode == enum_FirewallPolicyIntrusionDetectionStateOptions[_]
    input.Body.properties.intrusionDetection.profile == enum_FirewallPolicyIntrusionDetectionProfileOptions[_]
    input.Body.properties.intrusionDetection.configuration.signatureOverrides[_].id == STRING
    input.Body.properties.intrusionDetection.configuration.signatureOverrides[_].mode == enum_FirewallPolicyIntrusionDetectionStateOptions[_]
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].name == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].description == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].protocol == enum_FirewallPolicyIntrusionDetectionBypassTrafficProtocol[_]
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].sourceAddresses[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationAddresses[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationPorts[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].sourceIpGroups[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationIpGroups[_] == STRING
    input.Body.properties.intrusionDetection.configuration.privateRanges[_] == STRING
    input.Body.properties.transportSecurity.certificateAuthority.keyVaultSecretId == STRING
    input.Body.properties.transportSecurity.certificateAuthority.name == STRING
    input.Body.properties.sku.tier == enum_FirewallPolicySkuTier[_]
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicies_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicies_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicies_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicies_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

FirewallPolicies_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyDeployments_Deploy

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyDrafts_CreateOrUpdate

enum_AzureFirewallThreatIntelMode := [ "Alert", "Deny", "Off" ]
enum_FirewallPolicyIntrusionDetectionBypassTrafficProtocol := [ "TCP", "UDP", "ICMP", "ANY" ]
enum_FirewallPolicyIntrusionDetectionProfileOptions := [ "Basic", "Standard", "Advanced", "Extended" ]
enum_FirewallPolicyIntrusionDetectionStateOptions := [ "Off", "Alert", "Deny" ]
enum_FirewallPolicySNATAutoLearnPrivateRanges := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.basePolicy.id == STRING
    input.Body.properties.threatIntelMode == enum_AzureFirewallThreatIntelMode[_]
    input.Body.properties.threatIntelWhitelist.ipAddresses[_] == STRING
    input.Body.properties.threatIntelWhitelist.fqdns[_] == STRING
    input.Body.properties.insights.isEnabled == BOOLEAN
    input.Body.properties.insights.retentionDays == INTEGER
    input.Body.properties.insights.logAnalyticsResources.workspaces[_].region == STRING
    input.Body.properties.insights.logAnalyticsResources.workspaces[_].workspaceId.id == STRING
    input.Body.properties.insights.logAnalyticsResources.defaultWorkspaceId.id == STRING
    input.Body.properties.snat.privateRanges[_] == STRING
    input.Body.properties.snat.autoLearnPrivateRanges == enum_FirewallPolicySNATAutoLearnPrivateRanges[_]
    input.Body.properties.sql.allowSqlRedirect == BOOLEAN
    input.Body.properties.dnsSettings.servers[_] == STRING
    input.Body.properties.dnsSettings.enableProxy == BOOLEAN
    input.Body.properties.dnsSettings.requireProxyForNetworkRules == BOOLEAN
    input.Body.properties.explicitProxy.enableExplicitProxy == BOOLEAN
    input.Body.properties.explicitProxy.httpPort == INTEGER
    input.Body.properties.explicitProxy.httpsPort == INTEGER
    input.Body.properties.explicitProxy.enablePacFile == BOOLEAN
    input.Body.properties.explicitProxy.pacFilePort == INTEGER
    input.Body.properties.explicitProxy.pacFile == STRING
    input.Body.properties.intrusionDetection.mode == enum_FirewallPolicyIntrusionDetectionStateOptions[_]
    input.Body.properties.intrusionDetection.profile == enum_FirewallPolicyIntrusionDetectionProfileOptions[_]
    input.Body.properties.intrusionDetection.configuration.signatureOverrides[_].id == STRING
    input.Body.properties.intrusionDetection.configuration.signatureOverrides[_].mode == enum_FirewallPolicyIntrusionDetectionStateOptions[_]
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].name == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].description == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].protocol == enum_FirewallPolicyIntrusionDetectionBypassTrafficProtocol[_]
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].sourceAddresses[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationAddresses[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationPorts[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].sourceIpGroups[_] == STRING
    input.Body.properties.intrusionDetection.configuration.bypassTrafficSettings[_].destinationIpGroups[_] == STRING
    input.Body.properties.intrusionDetection.configuration.privateRanges[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyDrafts_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyDrafts_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignaturesFilterValues_List

valid {
    input.Body.filterName == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignaturesOverrides_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignaturesOverrides_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignaturesOverrides_Patch

valid {
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.type == STRING
    input.Body.properties.signatures.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignaturesOverrides_Put

valid {
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.type == STRING
    input.Body.properties.signatures.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyIdpsSignatures_List

enum_OrderByOrder := [ "Ascending", "Descending" ]

valid {
    input.Body.filters[_].field == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.search == STRING
    input.Body.orderBy.field == STRING
    input.Body.orderBy.order == enum_OrderByOrder[_]
    input.Body.resultsPerPage == INTEGER
    input.Body.skip == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroupDrafts_CreateOrUpdate

enum_FirewallPolicyRuleCollectionRuleCollectionType := [ "FirewallPolicyNatRuleCollection", "FirewallPolicyFilterRuleCollection" ]

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.ruleCollections[_].ruleCollectionType == enum_FirewallPolicyRuleCollectionRuleCollectionType[_]
    input.Body.properties.ruleCollections[_].name == STRING
    input.Body.properties.ruleCollections[_].priority == INTEGER
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroupDrafts_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroupDrafts_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroups_CreateOrUpdate

enum_FirewallPolicyRuleCollectionRuleCollectionType := [ "FirewallPolicyNatRuleCollection", "FirewallPolicyFilterRuleCollection" ]

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.ruleCollections[_].ruleCollectionType == enum_FirewallPolicyRuleCollectionRuleCollectionType[_]
    input.Body.properties.ruleCollections[_].name == STRING
    input.Body.properties.ruleCollections[_].priority == INTEGER
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleCollectionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleCollectionGroups_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleGroups_CreateOrUpdate

enum_FirewallPolicyRuleRuleType := [ "FirewallPolicyNatRule", "FirewallPolicyFilterRule" ]

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.rules[_].ruleType == enum_FirewallPolicyRuleRuleType[_]
    input.Body.properties.rules[_].name == STRING
    input.Body.properties.rules[_].priority == INTEGER
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.ruleGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallPolicyRuleGroups_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FlowLogs_CreateOrUpdate

enum_FlowLogFormatParametersType := [ "JSON" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]

valid {
    input.Body.properties.targetResourceId == STRING
    input.Body.properties.storageId == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.retentionPolicy.days == INTEGER
    input.Body.properties.retentionPolicy.enabled == BOOLEAN
    input.Body.properties.format.type == enum_FlowLogFormatParametersType[_]
    input.Body.properties.format.version == INTEGER
    input.Body.properties.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled == BOOLEAN
    input.Body.properties.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId == STRING
    input.Body.properties.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion == STRING
    input.Body.properties.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId == STRING
    input.Body.properties.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.trafficAnalyticsInterval == INTEGER
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.flowLogName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FlowLogs_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.flowLogName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FlowLogs_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.flowLogName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FlowLogs_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FlowLogs_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.flowLogName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ForwardingRules_CreateOrUpdate

enum_ForwardingRulePropertiesForwardingRuleState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.domainName == STRING
    input.Body.properties.targetDnsServers[_].ipAddress == STRING
    input.Body.properties.targetDnsServers[_].port == INTEGER
    input.Body.properties.metadata.STRING == STRING
    input.Body.properties.forwardingRuleState == enum_ForwardingRulePropertiesForwardingRuleState[_]
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.forwardingRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ForwardingRules_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.forwardingRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ForwardingRules_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.forwardingRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ForwardingRules_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ForwardingRules_Update

enum_ForwardingRulePatchPropertiesForwardingRuleState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.targetDnsServers[_].ipAddress == STRING
    input.Body.properties.targetDnsServers[_].port == INTEGER
    input.Body.properties.metadata.STRING == STRING
    input.Body.properties.forwardingRuleState == enum_ForwardingRulePatchPropertiesForwardingRuleState[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.forwardingRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontDoorNameAvailabilityWithSubscription_Check

enum_ResourceType := [ "Microsoft.Network/frontDoors", "Microsoft.Network/frontDoors/frontendEndpoints" ]

valid {
    input.Body.name == STRING
    input.Body.type == enum_ResourceType[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

FrontDoorNameAvailability_Check

enum_ResourceType := [ "Microsoft.Network/frontDoors", "Microsoft.Network/frontDoors/frontendEndpoints" ]

valid {
    input.Body.name == STRING
    input.Body.type == enum_ResourceType[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

FrontDoors_CreateOrUpdate

enum_BackendEnabledState := [ "Enabled", "Disabled" ]
enum_BackendPoolsSettingsEnforceCertificateNameCheck := [ "Enabled", "Disabled" ]
enum_FrontDoorUpdateParametersEnabledState := [ "Enabled", "Disabled" ]
enum_FrontendEndpointUpdateParametersSessionAffinityEnabledState := [ "Enabled", "Disabled" ]
enum_HealthProbeSettingsUpdateParametersEnabledState := [ "Enabled", "Disabled" ]
enum_HealthProbeSettingsUpdateParametersHealthProbeMethod := [ "GET", "HEAD" ]
enum_HealthProbeSettingsUpdateParametersProtocol := [ "Http", "Https" ]
enum_RoutingRuleUpdateParametersAcceptedProtocols := [ "Http", "Https" ]
enum_RoutingRuleUpdateParametersEnabledState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.friendlyName == STRING
    input.Body.properties.routingRules[_].properties.frontendEndpoints[_].id == STRING
    input.Body.properties.routingRules[_].properties.acceptedProtocols[_] == enum_RoutingRuleUpdateParametersAcceptedProtocols[_]
    input.Body.properties.routingRules[_].properties.patternsToMatch[_] == STRING
    input.Body.properties.routingRules[_].properties.enabledState == enum_RoutingRuleUpdateParametersEnabledState[_]
    input.Body.properties.routingRules[_][email protected] == STRING
    input.Body.properties.routingRules[_].properties.rulesEngine.id == STRING
    input.Body.properties.routingRules[_].properties.webApplicationFirewallPolicyLink.id == STRING
    input.Body.properties.routingRules[_].name == STRING
    input.Body.properties.routingRules[_].id == STRING
    input.Body.properties.loadBalancingSettings[_].properties.sampleSize == INTEGER
    input.Body.properties.loadBalancingSettings[_].properties.successfulSamplesRequired == INTEGER
    input.Body.properties.loadBalancingSettings[_].properties.additionalLatencyMilliseconds == INTEGER
    input.Body.properties.loadBalancingSettings[_].name == STRING
    input.Body.properties.loadBalancingSettings[_].id == STRING
    input.Body.properties.healthProbeSettings[_].properties.path == STRING
    input.Body.properties.healthProbeSettings[_].properties.protocol == enum_HealthProbeSettingsUpdateParametersProtocol[_]
    input.Body.properties.healthProbeSettings[_].properties.intervalInSeconds == INTEGER
    input.Body.properties.healthProbeSettings[_].properties.healthProbeMethod == enum_HealthProbeSettingsUpdateParametersHealthProbeMethod[_]
    input.Body.properties.healthProbeSettings[_].properties.enabledState == enum_HealthProbeSettingsUpdateParametersEnabledState[_]
    input.Body.properties.healthProbeSettings[_].name == STRING
    input.Body.properties.healthProbeSettings[_].id == STRING
    input.Body.properties.backendPools[_].properties.backends[_].address == STRING
    input.Body.properties.backendPools[_].properties.backends[_].privateLinkAlias == STRING
    input.Body.properties.backendPools[_].properties.backends[_].privateLinkResourceId == STRING
    input.Body.properties.backendPools[_].properties.backends[_].privateLinkLocation == STRING
    input.Body.properties.backendPools[_].properties.backends[_].privateLinkApprovalMessage == STRING
    input.Body.properties.backendPools[_].properties.backends[_].httpPort == INTEGER
    input.Body.properties.backendPools[_].properties.backends[_].httpsPort == INTEGER
    input.Body.properties.backendPools[_].properties.backends[_].enabledState == enum_BackendEnabledState[_]
    input.Body.properties.backendPools[_].properties.backends[_].priority == INTEGER
    input.Body.properties.backendPools[_].properties.backends[_].weight == INTEGER
    input.Body.properties.backendPools[_].properties.backends[_].backendHostHeader == STRING
    input.Body.properties.backendPools[_].properties.loadBalancingSettings.id == STRING
    input.Body.properties.backendPools[_].properties.healthProbeSettings.id == STRING
    input.Body.properties.backendPools[_].name == STRING
    input.Body.properties.backendPools[_].id == STRING
    input.Body.properties.frontendEndpoints[_].properties.hostName == STRING
    input.Body.properties.frontendEndpoints[_].properties.sessionAffinityEnabledState == enum_FrontendEndpointUpdateParametersSessionAffinityEnabledState[_]
    input.Body.properties.frontendEndpoints[_].properties.sessionAffinityTtlSeconds == INTEGER
    input.Body.properties.frontendEndpoints[_].properties.webApplicationFirewallPolicyLink.id == STRING
    input.Body.properties.frontendEndpoints[_].name == STRING
    input.Body.properties.frontendEndpoints[_].id == STRING
    input.Body.properties.backendPoolsSettings.enforceCertificateNameCheck == enum_BackendPoolsSettingsEnforceCertificateNameCheck[_]
    input.Body.properties.backendPoolsSettings.sendRecvTimeoutSeconds == INTEGER
    input.Body.properties.enabledState == enum_FrontDoorUpdateParametersEnabledState[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontDoors_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontDoors_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontDoors_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

FrontDoors_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontDoors_ValidateCustomDomain

valid {
    input.Body.hostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontendEndpoints_DisableHttps

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.frontendEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontendEndpoints_EnableHttps

enum_CustomHttpsConfigurationCertificateSource := [ "AzureKeyVault", "FrontDoor" ]
enum_CustomHttpsConfigurationMinimumTlsVersion := [ "1.0", "1.2" ]
enum_CustomHttpsConfigurationProtocolType := [ "ServerNameIndication" ]
enum_FrontDoorCertificateSourceParametersCertificateType := [ "Dedicated" ]

valid {
    input.Body.certificateSource == enum_CustomHttpsConfigurationCertificateSource[_]
    input.Body.protocolType == enum_CustomHttpsConfigurationProtocolType[_]
    input.Body.minimumTlsVersion == enum_CustomHttpsConfigurationMinimumTlsVersion[_]
    input.Body.keyVaultCertificateSourceParameters.vault.id == STRING
    input.Body.keyVaultCertificateSourceParameters.secretName == STRING
    input.Body.keyVaultCertificateSourceParameters.secretVersion == STRING
    input.Body.frontDoorCertificateSourceParameters.certificateType == enum_FrontDoorCertificateSourceParametersCertificateType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.frontendEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontendEndpoints_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.frontendEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FrontendEndpoints_ListByFrontDoor

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

GeographicHierarchies_GetDefault

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

GetActiveSessions

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

GetBastionShareableLink

valid {
    input.Body.vms[_].vm == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HeatMap_Get

enum_HeatMapTypeParameter := [ "default" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.heatMapType == enum_HeatMapTypeParameter[_]
    input.Qs.topLeft == ARRAY
    input.Qs.botRight == ARRAY
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubRouteTables_CreateOrUpdate

valid {
    input.Body.properties.routes[_].name == STRING
    input.Body.properties.routes[_].destinationType == STRING
    input.Body.properties.routes[_].destinations[_] == STRING
    input.Body.properties.routes[_].nextHopType == STRING
    input.Body.properties.routes[_].nextHop == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubRouteTables_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubRouteTables_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubRouteTables_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubVirtualNetworkConnections_CreateOrUpdate

enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]

valid {
    input.Body.properties.remoteVirtualNetwork.id == STRING
    input.Body.properties.allowHubToRemoteVnetTransit == BOOLEAN
    input.Body.properties.allowRemoteVnetToUseHubVnetGateways == BOOLEAN
    input.Body.properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubVirtualNetworkConnections_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubVirtualNetworkConnections_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HubVirtualNetworkConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundEndpoints_CreateOrUpdate

enum_IpConfigurationPrivateIpAllocationMethod := [ "Static", "Dynamic" ]

valid {
    input.Body.properties.ipConfigurations[_].subnet.id == STRING
    input.Body.properties.ipConfigurations[_].privateIpAddress == STRING
    input.Body.properties.ipConfigurations[_].privateIpAllocationMethod == enum_IpConfigurationPrivateIpAllocationMethod[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.inboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundEndpoints_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.inboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundEndpoints_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.inboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundEndpoints_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundEndpoints_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.inboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundNatRules_CreateOrUpdate

enum_TransportProtocol := [ "Udp", "Tcp", "All" ]

valid {
    input.Body.properties.frontendIPConfiguration.id == STRING
    input.Body.properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.frontendPort == INTEGER
    input.Body.properties.backendPort == INTEGER
    input.Body.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.enableFloatingIP == BOOLEAN
    input.Body.properties.enableTcpReset == BOOLEAN
    input.Body.properties.frontendPortRangeStart == INTEGER
    input.Body.properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.backendAddressPool.id == STRING
    input.Body.name == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.inboundNatRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundNatRules_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.inboundNatRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundNatRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.inboundNatRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundNatRules_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InboundSecurityRule_CreateOrUpdate

enum_InboundSecurityRulePropertiesRuleType := [ "AutoExpire", "Permanent" ]
enum_InboundSecurityRulesProtocol := [ "TCP", "UDP" ]

valid {
    input.Body.properties.ruleType == enum_InboundSecurityRulePropertiesRuleType[_]
    input.Body.properties.rules[_].name == STRING
    input.Body.properties.rules[_].protocol == enum_InboundSecurityRulesProtocol[_]
    input.Body.properties.rules[_].sourceAddressPrefix == STRING
    input.Body.properties.rules[_].destinationPortRange == INTEGER
    input.Body.properties.rules[_].destinationPortRanges[_] == STRING
    input.Body.properties.rules[_].appliesOn[_] == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.ruleCollectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InterfaceEndpoints_CreateOrUpdate

enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*" ]

valid {
    input.Body.properties.fqdn == STRING
    input.Body.properties.endpointService.id == STRING
    input.Body.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.provisioningState == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].etag == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.description == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.priority == INTEGER
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].properties.provisioningState == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].name == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.defaultSecurityRules[_].etag == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.resourceGuid == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.provisioningState == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.etag == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.provisioningState == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].etag == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.subnet.properties.routeTable.properties.provisioningState == STRING
    input.Body.properties.subnet.properties.routeTable.etag == STRING
    input.Body.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].provisioningState == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].etag == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].etag == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.resourceNavigationLinks[_].properties.linkedResourceType == STRING
    input.Body.properties.subnet.properties.resourceNavigationLinks[_].properties.link == STRING
    input.Body.properties.subnet.properties.resourceNavigationLinks[_].name == STRING
    input.Body.properties.subnet.properties.resourceNavigationLinks[_].id == STRING
    input.Body.properties.subnet.properties.serviceAssociationLinks[_].properties.linkedResourceType == STRING
    input.Body.properties.subnet.properties.serviceAssociationLinks[_].properties.link == STRING
    input.Body.properties.subnet.properties.serviceAssociationLinks[_].name == STRING
    input.Body.properties.subnet.properties.serviceAssociationLinks[_].id == STRING
    input.Body.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.subnet.properties.delegations[_].properties.actions[_] == STRING
    input.Body.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.subnet.properties.delegations[_].etag == STRING
    input.Body.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.subnet.properties.provisioningState == STRING
    input.Body.properties.subnet.name == STRING
    input.Body.properties.subnet.etag == STRING
    input.Body.properties.subnet.id == STRING
    input.Body.etag == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.interfaceEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InterfaceEndpoints_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.interfaceEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InterfaceEndpoints_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.interfaceEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InterfaceEndpoints_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InterfaceEndpoints_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IpAllocations_CreateOrUpdate

enum_IPVersion := [ "IPv4", "IPv6" ]
enum_IpAllocationType := [ "Undefined", "Hypernet" ]

valid {
    input.Body.properties.type == enum_IpAllocationType[_]
    input.Body.properties.prefix == STRING
    input.Body.properties.prefixLength == INTEGER
    input.Body.properties.prefixType == enum_IPVersion[_]
    input.Body.properties.ipamAllocationId == STRING
    input.Body.properties.allocationTags.STRING == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipAllocationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpAllocations_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipAllocationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpAllocations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipAllocationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpAllocations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IpAllocations_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpAllocations_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipAllocationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpGroups_CreateOrUpdate

valid {
    input.Body.properties.ipAddresses[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipGroupsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipGroupsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipGroupsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpGroups_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IpGroups_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IpGroups_UpdateGroups

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ipGroupsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ListActiveConnectivityConfigurations

valid {
    input.Body.regions[_] == STRING
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

ListActiveSecurityAdminRules

valid {
    input.Body.regions[_] == STRING
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

ListActiveSecurityUserRules

valid {
    input.Body.regions[_] == STRING
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

ListEffectiveVirtualNetworks_ByNetworkGroup

valid {
    input.Body.skipToken == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.ReqMap.networkGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ListNetworkGroupMemberships

valid {
    input.ProviderMetadata.Region == STRING
}

ListNetworkManagerEffectiveConnectivityConfigurations

valid {
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

ListNetworkManagerEffectiveSecurityAdminRules

valid {
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

LoadBalancerBackendAddressPools_CreateOrUpdate

enum_BackendAddressPoolPropertiesFormatSyncMode := [ "Automatic", "Manual" ]
enum_GatewayLoadBalancerTunnelInterfaceProtocol := [ "None", "Native", "VXLAN" ]
enum_GatewayLoadBalancerTunnelInterfaceType := [ "None", "Internal", "External" ]
enum_LoadBalancerBackendAddressPropertiesFormatAdminState := [ "None", "Up", "Down" ]

valid {
    input.Body.properties.location == STRING
    input.Body.properties.tunnelInterfaces[_].port == INTEGER
    input.Body.properties.tunnelInterfaces[_].identifier == INTEGER
    input.Body.properties.tunnelInterfaces[_].protocol == enum_GatewayLoadBalancerTunnelInterfaceProtocol[_]
    input.Body.properties.tunnelInterfaces[_].type == enum_GatewayLoadBalancerTunnelInterfaceType[_]
    input.Body.properties.loadBalancerBackendAddresses[_].properties.virtualNetwork.id == STRING
    input.Body.properties.loadBalancerBackendAddresses[_].properties.subnet.id == STRING
    input.Body.properties.loadBalancerBackendAddresses[_].properties.ipAddress == STRING
    input.Body.properties.loadBalancerBackendAddresses[_].properties.loadBalancerFrontendIPConfiguration.id == STRING
    input.Body.properties.loadBalancerBackendAddresses[_].properties.adminState == enum_LoadBalancerBackendAddressPropertiesFormatAdminState[_]
    input.Body.properties.loadBalancerBackendAddresses[_].name == STRING
    input.Body.properties.drainPeriodInSeconds == INTEGER
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.syncMode == enum_BackendAddressPoolPropertiesFormatSyncMode[_]
    input.Body.name == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.backendAddressPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerBackendAddressPools_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.backendAddressPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerBackendAddressPools_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.backendAddressPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerBackendAddressPools_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerFrontendIPConfigurations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.frontendIPConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerFrontendIPConfigurations_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerLoadBalancingRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.loadBalancingRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerLoadBalancingRules_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerNetworkInterfaces_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerOutboundRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.outboundRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerOutboundRules_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerProbes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.probeName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancerProbes_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancers_CreateOrUpdate

enum_BackendAddressPoolPropertiesFormatSyncMode := [ "Automatic", "Manual" ]
enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_GatewayLoadBalancerTunnelInterfaceProtocol := [ "None", "Native", "VXLAN" ]
enum_GatewayLoadBalancerTunnelInterfaceType := [ "None", "Internal", "External" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_LoadBalancerBackendAddressPropertiesFormatAdminState := [ "None", "Up", "Down" ]
enum_LoadBalancerSkuName := [ "Basic", "Standard", "Gateway" ]
enum_LoadBalancerSkuTier := [ "Regional", "Global" ]
enum_LoadBalancingRulePropertiesFormatLoadDistribution := [ "Default", "SourceIP", "SourceIPProtocol" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_OutboundRulePropertiesFormatProtocol := [ "Tcp", "Udp", "All" ]
enum_ProbePropertiesFormatProtocol := [ "Http", "Tcp", "Https" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]
enum_TransportProtocol := [ "Udp", "Tcp", "All" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.sku.name == enum_LoadBalancerSkuName[_]
    input.Body.sku.tier == enum_LoadBalancerSkuTier[_]
    input.Body.properties.frontendIPConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.frontendIPConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.location == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.publicIPPrefix.id == STRING
    input.Body.properties.frontendIPConfigurations[_].properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.frontendIPConfigurations[_].name == STRING
    input.Body.properties.frontendIPConfigurations[_].zones[_] == STRING
    input.Body.properties.frontendIPConfigurations[_].id == STRING
    input.Body.properties.backendAddressPools[_].properties.location == STRING
    input.Body.properties.backendAddressPools[_].properties.tunnelInterfaces[_].port == INTEGER
    input.Body.properties.backendAddressPools[_].properties.tunnelInterfaces[_].identifier == INTEGER
    input.Body.properties.backendAddressPools[_].properties.tunnelInterfaces[_].protocol == enum_GatewayLoadBalancerTunnelInterfaceProtocol[_]
    input.Body.properties.backendAddressPools[_].properties.tunnelInterfaces[_].type == enum_GatewayLoadBalancerTunnelInterfaceType[_]
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.virtualNetwork.id == STRING
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.subnet.id == STRING
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.ipAddress == STRING
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.loadBalancerFrontendIPConfiguration.id == STRING
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.adminState == enum_LoadBalancerBackendAddressPropertiesFormatAdminState[_]
    input.Body.properties.backendAddressPools[_].properties.loadBalancerBackendAddresses[_].name == STRING
    input.Body.properties.backendAddressPools[_].properties.drainPeriodInSeconds == INTEGER
    input.Body.properties.backendAddressPools[_].properties.virtualNetwork.id == STRING
    input.Body.properties.backendAddressPools[_].properties.syncMode == enum_BackendAddressPoolPropertiesFormatSyncMode[_]
    input.Body.properties.backendAddressPools[_].name == STRING
    input.Body.properties.backendAddressPools[_].id == STRING
    input.Body.properties.loadBalancingRules[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.loadBalancingRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.loadBalancingRules[_].properties.backendAddressPools[_].id == STRING
    input.Body.properties.loadBalancingRules[_].properties.probe.id == STRING
    input.Body.properties.loadBalancingRules[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.loadBalancingRules[_].properties.loadDistribution == enum_LoadBalancingRulePropertiesFormatLoadDistribution[_]
    input.Body.properties.loadBalancingRules[_].properties.frontendPort == INTEGER
    input.Body.properties.loadBalancingRules[_].properties.backendPort == INTEGER
    input.Body.properties.loadBalancingRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.loadBalancingRules[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.loadBalancingRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.loadBalancingRules[_].properties.disableOutboundSnat == BOOLEAN
    input.Body.properties.loadBalancingRules[_].name == STRING
    input.Body.properties.loadBalancingRules[_].id == STRING
    input.Body.properties.probes[_].properties.protocol == enum_ProbePropertiesFormatProtocol[_]
    input.Body.properties.probes[_].properties.port == INTEGER
    input.Body.properties.probes[_].properties.intervalInSeconds == INTEGER
    input.Body.properties.probes[_].properties.numberOfProbes == INTEGER
    input.Body.properties.probes[_].properties.probeThreshold == INTEGER
    input.Body.properties.probes[_].properties.requestPath == STRING
    input.Body.properties.probes[_].name == STRING
    input.Body.properties.probes[_].id == STRING
    input.Body.properties.inboundNatRules[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.inboundNatRules[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.inboundNatRules[_].properties.frontendPort == INTEGER
    input.Body.properties.inboundNatRules[_].properties.backendPort == INTEGER
    input.Body.properties.inboundNatRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.inboundNatRules[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.inboundNatRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.inboundNatRules[_].properties.frontendPortRangeStart == INTEGER
    input.Body.properties.inboundNatRules[_].properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.inboundNatRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.inboundNatRules[_].name == STRING
    input.Body.properties.inboundNatRules[_].id == STRING
    input.Body.properties.inboundNatPools[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.inboundNatPools[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.inboundNatPools[_].properties.frontendPortRangeStart == INTEGER
    input.Body.properties.inboundNatPools[_].properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.inboundNatPools[_].properties.backendPort == INTEGER
    input.Body.properties.inboundNatPools[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.inboundNatPools[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.inboundNatPools[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.inboundNatPools[_].name == STRING
    input.Body.properties.inboundNatPools[_].id == STRING
    input.Body.properties.outboundRules[_].properties.allocatedOutboundPorts == INTEGER
    input.Body.properties.outboundRules[_].properties.frontendIPConfigurations[_].id == STRING
    input.Body.properties.outboundRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.outboundRules[_].properties.protocol == enum_OutboundRulePropertiesFormatProtocol[_]
    input.Body.properties.outboundRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.outboundRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.outboundRules[_].name == STRING
    input.Body.properties.outboundRules[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancers_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancers_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancers_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LoadBalancers_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LoadBalancers_ListInboundNatRulePortMappings

valid {
    input.Body.ipConfiguration.id == STRING
    input.Body.ipAddress == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.backendPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LoadBalancers_MigrateToIpBased

valid {
    input.Body.pools[_] == STRING
    input.ReqMap.groupName == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LoadBalancers_SwapPublicIpAddresses

valid {
    input.Body.frontendIPConfigurations[_].id == STRING
    input.Body.frontendIPConfigurations[_].properties.publicIPAddress.id == STRING
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LoadBalancers_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.loadBalancerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalNetworkGateways_CreateOrUpdate

valid {
    input.Body.properties.localNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.gatewayIpAddress == STRING
    input.Body.properties.fqdn == STRING
    input.Body.properties.bgpSettings.asn == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalNetworkGateways_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalNetworkGateways_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalNetworkGateways_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalNetworkGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ManagedRuleSets_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ManagementGroupNetworkManagerConnections_CreateOrUpdate

valid {
    input.Body.properties.networkManagerId == STRING
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

ManagementGroupNetworkManagerConnections_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

ManagementGroupNetworkManagerConnections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

ManagementGroupNetworkManagerConnections_List

valid {
    input.ReqMap.managementGroupId == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

NatGateways_CreateOrUpdate

enum_NatGatewaySkuName := [ "Standard" ]

valid {
    input.Body.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.publicIpPrefixes[_].id == STRING
    input.Body.zones[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.natGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatGateways_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.natGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatGateways_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.natGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatGateways_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatGateways_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NatGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.natGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatRules_CreateOrUpdate

enum_VpnGatewayNatRulePropertiesMode := [ "EgressSnat", "IngressSnat" ]
enum_VpnGatewayNatRulePropertiesType := [ "Static", "Dynamic" ]

valid {
    input.Body.properties.type == enum_VpnGatewayNatRulePropertiesType[_]
    input.Body.properties.mode == enum_VpnGatewayNatRulePropertiesMode[_]
    input.Body.properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.internalMappings[_].portRange == STRING
    input.Body.properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.externalMappings[_].portRange == STRING
    input.Body.properties.ipConfigurationId == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatRules_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatRules_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NatRules_ListByVpnGateway

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkExperimentProfiles_CreateOrUpdate

enum_ProfilePropertiesEnabledState := [ "Enabled", "Disabled" ]

valid {
    input.Body.name == STRING
    input.Body.properties.enabledState == enum_ProfilePropertiesEnabledState[_]
    input.Body.etag == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkExperimentProfiles_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkExperimentProfiles_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkExperimentProfiles_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkExperimentProfiles_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkExperimentProfiles_Update

enum_ProfileUpdatePropertiesEnabledState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.enabledState == enum_ProfileUpdatePropertiesEnabledState[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkGroups_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkGroups_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

NetworkGroups_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NetworkGroups_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceIPConfigurations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceIPConfigurations_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceLoadBalancers_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceTapConfigurations_CreateOrUpdate

enum_BackendAddressPoolPropertiesFormatSyncMode := [ "Automatic", "Manual" ]
enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_GatewayLoadBalancerTunnelInterfaceProtocol := [ "None", "Native", "VXLAN" ]
enum_GatewayLoadBalancerTunnelInterfaceType := [ "None", "Internal", "External" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_LoadBalancerBackendAddressPropertiesFormatAdminState := [ "None", "Up", "Down" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]
enum_TransportProtocol := [ "Udp", "Tcp", "All" ]

valid {
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.virtualNetworkTaps[_] == NESTED
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].fqdn == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].ipAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].port == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].identifier == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].protocol == enum_GatewayLoadBalancerTunnelInterfaceProtocol[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].type == enum_GatewayLoadBalancerTunnelInterfaceType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.virtualNetwork.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.subnet.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.ipAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.loadBalancerFrontendIPConfiguration.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.adminState == enum_LoadBalancerBackendAddressPropertiesFormatAdminState[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.drainPeriodInSeconds == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.virtualNetwork.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.syncMode == enum_BackendAddressPoolPropertiesFormatSyncMode[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPort == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.backendPort == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeStart == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddressPrefixLength == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.primary == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].properties == {}
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationNetworkInterfaceIPConfiguration.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.type == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.location == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPPrefix.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.name == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.zones[_] == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationLoadBalancerFrontEndIPConfiguration.id == STRING
    input.Body.properties.virtualNetworkTap.properties.destinationPort == INTEGER
    input.Body.properties.virtualNetworkTap.id == STRING
    input.Body.properties.virtualNetworkTap.location == STRING
    input.Body.properties.virtualNetworkTap.tags.STRING == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.tapConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceTapConfigurations_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.tapConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceTapConfigurations_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.tapConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaceTapConfigurations_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_CreateOrUpdate

enum_BackendAddressPoolPropertiesFormatSyncMode := [ "Automatic", "Manual" ]
enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_GatewayLoadBalancerTunnelInterfaceProtocol := [ "None", "Native", "VXLAN" ]
enum_GatewayLoadBalancerTunnelInterfaceType := [ "None", "Internal", "External" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_LoadBalancerBackendAddressPropertiesFormatAdminState := [ "None", "Up", "Down" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_NetworkInterfacePropertiesFormatAuxiliaryMode := [ "None", "MaxConnections", "Floating", "AcceleratedConnections" ]
enum_NetworkInterfacePropertiesFormatAuxiliarySku := [ "None", "A1", "A2", "A4", "A8" ]
enum_NetworkInterfacePropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_NetworkInterfacePropertiesFormatNicType := [ "Standard", "Elastic" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]
enum_TransportProtocol := [ "Udp", "Tcp", "All" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.networkSecurityGroup.id == STRING
    input.Body.properties.networkSecurityGroup.location == STRING
    input.Body.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationNetworkInterfaceIPConfiguration.properties == NESTED
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationNetworkInterfaceIPConfiguration.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationNetworkInterfaceIPConfiguration.type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationNetworkInterfaceIPConfiguration.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.type == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPPrefix.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.name == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationLoadBalancerFrontEndIPConfiguration.id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].properties.destinationPort == INTEGER
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.virtualNetworkTaps[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].fqdn == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].ipAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationGatewayBackendAddressPools[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationGatewayBackendAddressPools[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.location == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].port == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].identifier == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].protocol == enum_GatewayLoadBalancerTunnelInterfaceProtocol[_]
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].type == enum_GatewayLoadBalancerTunnelInterfaceType[_]
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.virtualNetwork.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.ipAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.loadBalancerFrontendIPConfiguration.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.adminState == enum_LoadBalancerBackendAddressPropertiesFormatAdminState[_]
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.drainPeriodInSeconds == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.virtualNetwork.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].properties.syncMode == enum_BackendAddressPoolPropertiesFormatSyncMode[_]
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerBackendAddressPools[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.frontendPort == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.backendPort == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeStart == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.loadBalancerInboundNatRules[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAddressPrefixLength == INTEGER
    input.Body.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.primary == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.location == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.applicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.applicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].type == STRING
    input.Body.properties.ipConfigurations[_].id == STRING
    input.Body.properties.dnsSettings.dnsServers[_] == STRING
    input.Body.properties.dnsSettings.internalDnsNameLabel == STRING
    input.Body.properties.enableAcceleratedNetworking == BOOLEAN
    input.Body.properties.disableTcpStateTracking == BOOLEAN
    input.Body.properties.enableIPForwarding == BOOLEAN
    input.Body.properties.workloadType == STRING
    input.Body.properties.nicType == enum_NetworkInterfacePropertiesFormatNicType[_]
    input.Body.properties.privateLinkService.extendedLocation.name == STRING
    input.Body.properties.privateLinkService.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.location == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPPrefix.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].name == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].zones[_] == STRING
    input.Body.properties.privateLinkService.properties.loadBalancerFrontendIpConfigurations[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.primary == BOOLEAN
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].name == STRING
    input.Body.properties.privateLinkService.properties.ipConfigurations[_].id == STRING
    input.Body.properties.privateLinkService.properties.visibility.subscriptions[_] == STRING
    input.Body.properties.privateLinkService.properties.autoApproval.subscriptions[_] == STRING
    input.Body.properties.privateLinkService.properties.fqdns[_] == STRING
    input.Body.properties.privateLinkService.properties.enableProxyProtocol == BOOLEAN
    input.Body.properties.privateLinkService.id == STRING
    input.Body.properties.privateLinkService.location == STRING
    input.Body.properties.privateLinkService.tags.STRING == STRING
    input.Body.properties.migrationPhase == enum_NetworkInterfacePropertiesFormatMigrationPhase[_]
    input.Body.properties.auxiliaryMode == enum_NetworkInterfacePropertiesFormatAuxiliaryMode[_]
    input.Body.properties.auxiliarySku == enum_NetworkInterfacePropertiesFormatAuxiliarySku[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_GetCloudServiceNetworkInterface

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.roleInstanceName == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_GetEffectiveRouteTable

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_GetVirtualMachineScaleSetIpConfiguration

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkInterfaces_ListCloudServiceNetworkInterfaces

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListCloudServiceRoleInstanceNetworkInterfaces

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.roleInstanceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListEffectiveNetworkSecurityGroups

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListVirtualMachineScaleSetIpConfigurations

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkInterfaces_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkManagerCommits_Post

enum_ConfigurationType := [ "SecurityAdmin", "Connectivity" ]

valid {
    input.Body.targetLocations[_] == STRING
    input.Body.configurationIds[_] == STRING
    input.Body.commitType == enum_ConfigurationType[_]
    input.ProviderMetadata.Region == STRING
}

NetworkManagerDeploymentStatus_List

enum_ConfigurationType := [ "SecurityAdmin", "Connectivity" ]

valid {
    input.Body.regions[_] == STRING
    input.Body.deploymentTypes[_] == enum_ConfigurationType[_]
    input.Body.skipToken == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkManagers_CreateOrUpdate

enum_ConfigurationType := [ "SecurityAdmin", "Connectivity" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.networkManagerScopes.managementGroups[_] == STRING
    input.Body.properties.networkManagerScopes.subscriptions[_] == STRING
    input.Body.properties.networkManagerScopeAccesses[_] == enum_ConfigurationType[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkManagers_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

NetworkManagers_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NetworkManagers_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkManagers_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkManagers_Patch

valid {
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkProfiles_CreateOrUpdate

enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]

valid {
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.ipConfigurations[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].properties.containerNetworkInterfaces[_].id == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].name == STRING
    input.Body.properties.containerNetworkInterfaceConfigurations[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkProfileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkProfiles_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkProfileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkProfiles_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkProfileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkProfiles_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkProfiles_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkProfiles_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkProfileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityGroups_CreateOrUpdate

enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]

valid {
    input.Body.properties.flushConnection == BOOLEAN
    input.Body.properties.securityRules[_].properties.description == STRING
    input.Body.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.securityRules[_].name == STRING
    input.Body.properties.securityRules[_].type == STRING
    input.Body.properties.securityRules[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityGroups_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityGroups_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkSecurityGroups_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityPerimeters_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkSecurityPerimeters_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NetworkSecurityPerimeters_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NetworkSecurityPerimeters_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityPerimeters_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkSecurityPerimeters_Patch

valid {
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NetworkVirtualApplianceConnections_CreateOrUpdate

enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]

valid {
    input.Body.properties.name == STRING
    input.Body.properties.asn == INTEGER
    input.Body.properties.tunnelIdentifier == INTEGER
    input.Body.properties.bgpPeerAddress[_] == STRING
    input.Body.properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualApplianceConnections_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualApplianceConnections_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualApplianceConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_CreateOrUpdate

enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_VirtualApplianceNetworkInterfaceConfigurationType := [ "PublicNic", "PrivateNic" ]

valid {
    input.Body.properties.nvaSku.vendor == STRING
    input.Body.properties.nvaSku.bundledScaleUnit == STRING
    input.Body.properties.nvaSku.marketPlaceVersion == STRING
    input.Body.properties.bootStrapConfigurationBlobs[_] == STRING
    input.Body.properties.virtualHub.id == STRING
    input.Body.properties.cloudInitConfigurationBlobs[_] == STRING
    input.Body.properties.cloudInitConfiguration == STRING
    input.Body.properties.virtualApplianceAsn == INTEGER
    input.Body.properties.sshPublicKey == STRING
    input.Body.properties.networkProfile.networkInterfaceConfigurations[_].type == enum_VirtualApplianceNetworkInterfaceConfigurationType[_]
    input.Body.properties.networkProfile.networkInterfaceConfigurations[_].properties.ipConfigurations[_].name == STRING
    input.Body.properties.networkProfile.networkInterfaceConfigurations[_].properties.ipConfigurations[_].properties.primary == BOOLEAN
    input.Body.properties.additionalNics[_].name == STRING
    input.Body.properties.additionalNics[_].hasPublicIp == BOOLEAN
    input.Body.properties.internetIngressPublicIps[_].id == STRING
    input.Body.properties.delegation.serviceName == STRING
    input.Body.properties.partnerManagedResource == {}
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkVirtualAppliances_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_Restart

valid {
    input.Body.instanceIds[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkVirtualAppliances_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_CheckConnectivity

enum_ConnectivityParametersProtocol := [ "Tcp", "Http", "Https", "Icmp" ]
enum_HTTPConfigurationMethod := [ "Get" ]
enum_IPVersion := [ "IPv4", "IPv6" ]

valid {
    input.Body.source.resourceId == STRING
    input.Body.source.port == INTEGER
    input.Body.destination.resourceId == STRING
    input.Body.destination.address == STRING
    input.Body.destination.port == INTEGER
    input.Body.protocol == enum_ConnectivityParametersProtocol[_]
    input.Body.protocolConfiguration.HTTPConfiguration.method == enum_HTTPConfigurationMethod[_]
    input.Body.protocolConfiguration.HTTPConfiguration.headers[_].name == STRING
    input.Body.protocolConfiguration.HTTPConfiguration.headers[_].value == STRING
    input.Body.protocolConfiguration.HTTPConfiguration.validStatusCodes[_] == INTEGER
    input.Body.preferredIPVersion == enum_IPVersion[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetAzureReachabilityReport

valid {
    input.Body.providerLocation.country == STRING
    input.Body.providerLocation.state == STRING
    input.Body.providerLocation.city == STRING
    input.Body.providers[_] == STRING
    input.Body.azureLocations[_] == STRING
    input.Body.startTime == STRING
    input.Body.endTime == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetFlowLogStatus

valid {
    input.Body.targetResourceId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetNetworkConfigurationDiagnostic

enum_Direction := [ "Inbound", "Outbound" ]
enum_NetworkConfigurationDiagnosticParametersVerbosityLevel := [ "Normal", "Minimum", "Full" ]

valid {
    input.Body.targetResourceId == STRING
    input.Body.verbosityLevel == enum_NetworkConfigurationDiagnosticParametersVerbosityLevel[_]
    input.Body.profiles[_].direction == enum_Direction[_]
    input.Body.profiles[_].protocol == STRING
    input.Body.profiles[_].source == STRING
    input.Body.profiles[_].destination == STRING
    input.Body.profiles[_].destinationPort == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetNextHop

valid {
    input.Body.targetResourceId == STRING
    input.Body.sourceIPAddress == STRING
    input.Body.destinationIPAddress == STRING
    input.Body.targetNicResourceId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetTopology

valid {
    input.Body.targetResourceGroupName == STRING
    input.Body.targetVirtualNetwork.id == STRING
    input.Body.targetSubnet.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetTroubleshooting

valid {
    input.Body.targetResourceId == STRING
    input.Body.properties.storageId == STRING
    input.Body.properties.storagePath == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetTroubleshootingResult

valid {
    input.Body.targetResourceId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_GetVMSecurityRules

valid {
    input.Body.targetResourceId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NetworkWatchers_ListAvailableProviders

valid {
    input.Body.azureLocations[_] == STRING
    input.Body.country == STRING
    input.Body.state == STRING
    input.Body.city == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_SetFlowLogConfiguration

enum_FlowLogFormatParametersType := [ "JSON" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]

valid {
    input.Body.targetResourceId == STRING
    input.Body.properties.storageId == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.retentionPolicy.days == INTEGER
    input.Body.properties.retentionPolicy.enabled == BOOLEAN
    input.Body.properties.format.type == enum_FlowLogFormatParametersType[_]
    input.Body.properties.format.version == INTEGER
    input.Body.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled == BOOLEAN
    input.Body.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId == STRING
    input.Body.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion == STRING
    input.Body.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId == STRING
    input.Body.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.trafficAnalyticsInterval == INTEGER
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkWatchers_VerifyIPFlow

enum_Direction := [ "Inbound", "Outbound" ]
enum_VerificationIPFlowParametersProtocol := [ "TCP", "UDP" ]

valid {
    input.Body.targetResourceId == STRING
    input.Body.direction == enum_Direction[_]
    input.Body.protocol == enum_VerificationIPFlowParametersProtocol[_]
    input.Body.localPort == STRING
    input.Body.remotePort == STRING
    input.Body.localIPAddress == STRING
    input.Body.remoteIPAddress == STRING
    input.Body.targetNicResourceId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NspAccessRulesReconcile_Post

valid {
    input.Body.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NspAccessRules_CreateOrUpdate

enum_NspAccessRulePropertiesDirection := [ "Inbound", "Outbound" ]

valid {
    input.Body.properties.direction == enum_NspAccessRulePropertiesDirection[_]
    input.Body.properties.addressPrefixes[_] == STRING
    input.Body.properties.fullyQualifiedDomainNames[_] == STRING
    input.Body.properties.subscriptions[_].id == STRING
    input.Body.properties.emailAddresses[_] == STRING
    input.Body.properties.phoneNumbers[_] == STRING
    input.Body.properties.serviceTags[_] == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NspAccessRules_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NspAccessRules_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NspAccessRules_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityPerimeterName == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NspAssociationReconcile_Post

valid {
    input.Body.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NspAssociations_CreateOrUpdate

enum_NspAssociationPropertiesAccessMode := [ "Learning", "Enforced", "Audit" ]

valid {
    input.Body.properties.privateLinkResource.id == STRING
    input.Body.properties.profile.id == STRING
    input.Body.properties.accessMode == enum_NspAssociationPropertiesAccessMode[_]
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NspAssociations_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NspAssociations_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NspAssociations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityPerimeterName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NspLinkReferences_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NspLinkReferences_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NspLinkReferences_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityPerimeterName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NspLinks_CreateOrUpdate

valid {
    input.Body.properties.autoApprovedRemotePerimeterResourceId == STRING
    input.Body.properties.localInboundProfiles[_] == STRING
    input.Body.properties.remoteInboundProfiles[_] == STRING
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

NspLinks_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NspLinks_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NspLinks_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityPerimeterName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NspProfiles_CreateOrUpdate

valid {
    input.Body.properties == {}
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Region == STRING
}

NspProfiles_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

NspProfiles_Get

valid {
    input.ProviderMetadata.Region == STRING
}

NspProfiles_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityPerimeterName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

OutboundEndpoints_CreateOrUpdate

valid {
    input.Body.properties.subnet.id == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.outboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

OutboundEndpoints_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.outboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

OutboundEndpoints_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.outboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

OutboundEndpoints_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

OutboundEndpoints_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsResolverName == STRING
    input.ReqMap.outboundEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2SVpnGateways_Reset

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_CreateOrUpdate

enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]

valid {
    input.Body.properties.virtualHub.id == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.properties.p2SConnectionConfigurations[_].properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.p2SConnectionConfigurations[_].name == STRING
    input.Body.properties.p2SConnectionConfigurations[_].id == STRING
    input.Body.properties.vpnGatewayScaleUnit == INTEGER
    input.Body.properties.vpnServerConfiguration.id == STRING
    input.Body.properties.customDnsServers[_] == STRING
    input.Body.properties.isRoutingPreferenceInternet == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_DisconnectP2sVpnConnections

valid {
    input.Body.vpnConnectionIds[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.p2sVpnGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_GenerateVpnProfile

enum_AuthenticationMethod := [ "EAPTLS", "EAPMSCHAPv2" ]

valid {
    input.Body.authenticationMethod == enum_AuthenticationMethod[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_GetP2sVpnConnectionHealth

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_GetP2sVpnConnectionHealthDetailed

valid {
    input.Body.vpnUserNamesFilter[_] == STRING
    input.Body.outputBlobSasUrl == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

P2sVpnGateways_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnServerConfigurations_CreateOrUpdate

enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_P2SVpnServerConfigurationPropertiesVpnProtocols := [ "IkeV2", "OpenVPN" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]

valid {
    input.Body.properties.name == STRING
    input.Body.properties.vpnProtocols[_] == enum_P2SVpnServerConfigurationPropertiesVpnProtocols[_]
    input.Body.properties.p2SVpnServerConfigVpnClientRootCertificates[_].properties.publicCertData == STRING
    input.Body.properties.p2SVpnServerConfigVpnClientRootCertificates[_].name == STRING
    input.Body.properties.p2SVpnServerConfigVpnClientRootCertificates[_].etag == STRING
    input.Body.properties.p2SVpnServerConfigVpnClientRevokedCertificates[_].properties.thumbprint == STRING
    input.Body.properties.p2SVpnServerConfigVpnClientRevokedCertificates[_].name == STRING
    input.Body.properties.p2SVpnServerConfigVpnClientRevokedCertificates[_].etag == STRING
    input.Body.properties.p2SVpnServerConfigRadiusServerRootCertificates[_].properties.publicCertData == STRING
    input.Body.properties.p2SVpnServerConfigRadiusServerRootCertificates[_].name == STRING
    input.Body.properties.p2SVpnServerConfigRadiusServerRootCertificates[_].etag == STRING
    input.Body.properties.p2SVpnServerConfigRadiusClientRootCertificates[_].properties.thumbprint == STRING
    input.Body.properties.p2SVpnServerConfigRadiusClientRootCertificates[_].name == STRING
    input.Body.properties.p2SVpnServerConfigRadiusClientRootCertificates[_].etag == STRING
    input.Body.properties.vpnClientIpsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.vpnClientIpsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.vpnClientIpsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.vpnClientIpsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.vpnClientIpsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.radiusServerAddress == STRING
    input.Body.properties.radiusServerSecret == STRING
    input.Body.properties.etag == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWanName == STRING
    input.ReqMap.p2SVpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnServerConfigurations_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWanName == STRING
    input.ReqMap.p2SVpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnServerConfigurations_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWanName == STRING
    input.ReqMap.p2SVpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

P2sVpnServerConfigurations_ListByVirtualWan

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWanName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_Create

enum_PacketCaptureFilterProtocol := [ "TCP", "UDP", "Any" ]
enum_PacketCaptureParametersTargetType := [ "AzureVM", "AzureVMSS" ]

valid {
    input.Body.properties.target == STRING
    input.Body.properties.scope.include[_] == STRING
    input.Body.properties.scope.exclude[_] == STRING
    input.Body.properties.targetType == enum_PacketCaptureParametersTargetType[_]
    input.Body.properties.bytesToCapturePerPacket == INTEGER
    input.Body.properties.totalBytesPerSession == INTEGER
    input.Body.properties.timeLimitInSeconds == INTEGER
    input.Body.properties.storageLocation.storageId == STRING
    input.Body.properties.storageLocation.storagePath == STRING
    input.Body.properties.storageLocation.filePath == STRING
    input.Body.properties.storageLocation.localPath == STRING
    input.Body.properties.filters[_].protocol == enum_PacketCaptureFilterProtocol[_]
    input.Body.properties.filters[_].localIPAddress == STRING
    input.Body.properties.filters[_].remoteIPAddress == STRING
    input.Body.properties.filters[_].localPort == STRING
    input.Body.properties.filters[_].remotePort == STRING
    input.Body.properties.continuousCapture == BOOLEAN
    input.Body.properties.captureSettings.fileCount == INTEGER
    input.Body.properties.captureSettings.fileSizeInBytes == INTEGER
    input.Body.properties.captureSettings.sessionTimeLimitInSeconds == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.packetCaptureName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.packetCaptureName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.packetCaptureName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_GetStatus

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.packetCaptureName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PacketCaptures_Stop

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkWatcherName == STRING
    input.ReqMap.packetCaptureName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeerExpressRouteCircuitConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeerExpressRouteCircuitConnections_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.circuitName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PerimeterAssociableResourceTypes_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Policies_CreateOrUpdate

enum_ActionType := [ "Allow", "Block", "Log", "Redirect", "AnomalyScoring", "JSChallenge" ]
enum_CustomRuleEnabledState := [ "Disabled", "Enabled" ]
enum_CustomRuleRuleType := [ "MatchRule", "RateLimitRule" ]
enum_GroupByVariableVariableName := [ "SocketAddr", "GeoLocation", "None" ]
enum_ManagedRuleEnabledState := [ "Disabled", "Enabled" ]
enum_ManagedRuleExclusionMatchVariable := [ "RequestHeaderNames", "RequestCookieNames", "QueryStringArgNames", "RequestBodyPostArgNames", "RequestBodyJsonArgNames" ]
enum_ManagedRuleExclusionSelectorMatchOperator := [ "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny" ]
enum_ManagedRuleSetActionType := [ "Block", "Log", "Redirect" ]
enum_MatchConditionMatchVariable := [ "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", "RequestBody", "Cookies", "SocketAddr" ]
enum_MatchConditionOperator := [ "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "RegEx" ]
enum_PolicySettingsEnabledState := [ "Disabled", "Enabled" ]
enum_PolicySettingsLogScrubbingState := [ "Enabled", "Disabled" ]
enum_PolicySettingsMode := [ "Prevention", "Detection" ]
enum_PolicySettingsRequestBodyCheck := [ "Disabled", "Enabled" ]
enum_SkuName := [ "Classic_AzureFrontDoor", "Standard_AzureFrontDoor", "Premium_AzureFrontDoor" ]
enum_TransformType := [ "Lowercase", "Uppercase", "Trim", "UrlDecode", "UrlEncode", "RemoveNulls" ]
enum_WebApplicationFirewallScrubbingRulesMatchVariable := [ "RequestIPAddress", "RequestUri", "QueryStringArgNames", "RequestHeaderNames", "RequestCookieNames", "RequestBodyPostArgNames", "RequestBodyJsonArgNames" ]
enum_WebApplicationFirewallScrubbingRulesSelectorMatchOperator := [ "EqualsAny", "Equals" ]
enum_WebApplicationFirewallScrubbingRulesState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.policySettings.enabledState == enum_PolicySettingsEnabledState[_]
    input.Body.properties.policySettings.mode == enum_PolicySettingsMode[_]
    input.Body.properties.policySettings.redirectUrl == STRING
    input.Body.properties.policySettings.customBlockResponseStatusCode == INTEGER
    input.Body.properties.policySettings.customBlockResponseBody == STRING
    input.Body.properties.policySettings.requestBodyCheck == enum_PolicySettingsRequestBodyCheck[_]
    input.Body.properties.policySettings.javascriptChallengeExpirationInMinutes == INTEGER
    input.Body.properties.policySettings.logScrubbing.state == enum_PolicySettingsLogScrubbingState[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].matchVariable == enum_WebApplicationFirewallScrubbingRulesMatchVariable[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].selectorMatchOperator == enum_WebApplicationFirewallScrubbingRulesSelectorMatchOperator[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].selector == STRING
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].state == enum_WebApplicationFirewallScrubbingRulesState[_]
    input.Body.properties.customRules.rules[_].name == STRING
    input.Body.properties.customRules.rules[_].priority == INTEGER
    input.Body.properties.customRules.rules[_].enabledState == enum_CustomRuleEnabledState[_]
    input.Body.properties.customRules.rules[_].ruleType == enum_CustomRuleRuleType[_]
    input.Body.properties.customRules.rules[_].rateLimitDurationInMinutes == INTEGER
    input.Body.properties.customRules.rules[_].rateLimitThreshold == INTEGER
    input.Body.properties.customRules.rules[_].groupBy[_].variableName == enum_GroupByVariableVariableName[_]
    input.Body.properties.customRules.rules[_].matchConditions[_].matchVariable == enum_MatchConditionMatchVariable[_]
    input.Body.properties.customRules.rules[_].matchConditions[_].selector == STRING
    input.Body.properties.customRules.rules[_].matchConditions[_].operator == enum_MatchConditionOperator[_]
    input.Body.properties.customRules.rules[_].matchConditions[_].negateCondition == BOOLEAN
    input.Body.properties.customRules.rules[_].matchConditions[_].matchValue[_] == STRING
    input.Body.properties.customRules.rules[_].matchConditions[_].transforms[_] == enum_TransformType[_]
    input.Body.properties.customRules.rules[_].action == enum_ActionType[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleSetType == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleSetVersion == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleSetAction == enum_ManagedRuleSetActionType[_]
    input.Body.properties.managedRules.managedRuleSets[_].exclusions[_].matchVariable == enum_ManagedRuleExclusionMatchVariable[_]
    input.Body.properties.managedRules.managedRuleSets[_].exclusions[_].selectorMatchOperator == enum_ManagedRuleExclusionSelectorMatchOperator[_]
    input.Body.properties.managedRules.managedRuleSets[_].exclusions[_].selector == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].ruleGroupName == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].exclusions[_].matchVariable == enum_ManagedRuleExclusionMatchVariable[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].exclusions[_].selectorMatchOperator == enum_ManagedRuleExclusionSelectorMatchOperator[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].exclusions[_].selector == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].ruleId == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].enabledState == enum_ManagedRuleEnabledState[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].action == enum_ActionType[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].exclusions[_].matchVariable == enum_ManagedRuleExclusionMatchVariable[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].exclusions[_].selectorMatchOperator == enum_ManagedRuleExclusionSelectorMatchOperator[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].exclusions[_].selector == STRING
    input.Body.etag == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Policies_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Policies_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Policies_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Policies_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Policies_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PreconfiguredEndpoints_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateDnsZoneGroups_CreateOrUpdate

valid {
    input.Body.name == STRING
    input.Body.properties.privateDnsZoneConfigs[_].name == STRING
    input.Body.properties.privateDnsZoneConfigs[_].properties.privateDnsZoneId == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.privateDnsZoneGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateDnsZoneGroups_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.privateDnsZoneGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateDnsZoneGroups_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.privateDnsZoneGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateDnsZoneGroups_List

valid {
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpoints_CreateOrUpdate

enum_ExtendedLocationType := [ "EdgeZone" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.subnet.name == STRING
    input.Body.properties.subnet.type == STRING
    input.Body.properties.subnet.id == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.privateLinkServiceId == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.groupIds[_] == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.requestMessage == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.privateLinkServiceConnections[_].name == STRING
    input.Body.properties.privateLinkServiceConnections[_].id == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.privateLinkServiceId == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.groupIds[_] == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.requestMessage == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.manualPrivateLinkServiceConnections[_].name == STRING
    input.Body.properties.customDnsConfigs[_].fqdn == STRING
    input.Body.properties.customDnsConfigs[_].ipAddresses[_] == STRING
    input.Body.properties.applicationSecurityGroups[_].properties == {}
    input.Body.properties.applicationSecurityGroups[_].id == STRING
    input.Body.properties.applicationSecurityGroups[_].location == STRING
    input.Body.properties.applicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.groupId == STRING
    input.Body.properties.ipConfigurations[_].properties.memberName == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.customNetworkInterfaceName == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpoints_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpoints_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateEndpointName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpoints_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpoints_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PrivateLinkServices_CheckPrivateLinkServiceVisibility

valid {
    input.Body.privateLinkServiceAlias == STRING
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PrivateLinkServices_CheckPrivateLinkServiceVisibilityByResourceGroup

valid {
    input.Body.privateLinkServiceAlias == STRING
    input.ReqMap.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_CreateOrUpdate

enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.location == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.publicIPPrefix.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].name == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].zones[_] == STRING
    input.Body.properties.loadBalancerFrontendIpConfigurations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.subnet.name == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.type == STRING
    input.Body.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.primary == BOOLEAN
    input.Body.properties.ipConfigurations[_].properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].id == STRING
    input.Body.properties.visibility.subscriptions[_] == STRING
    input.Body.properties.autoApproval.subscriptions[_] == STRING
    input.Body.properties.fqdns[_] == STRING
    input.Body.properties.enableProxyProtocol == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_DeletePrivateEndpointConnection

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.peConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_GetPrivateEndpointConnection

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.peConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_ListAutoApprovedPrivateLinkServices

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PrivateLinkServices_ListAutoApprovedPrivateLinkServicesByResourceGroup

valid {
    input.ReqMap.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PrivateLinkServices_ListPrivateEndpointConnections

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkServices_UpdatePrivateEndpointConnection

valid {
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.peConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateZones_CreateOrUpdate

valid {
    input.Body.etag == STRING
    input.Body.properties == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateZoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateZones_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateZoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateZones_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateZoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateZones_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PrivateZones_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateZones_Update

valid {
    input.Body.etag == STRING
    input.Body.properties == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateZoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_CheckTrafficManagerRelativeDnsNameAvailability

valid {
    input.Body.name == STRING
    input.Body.type == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Profiles_CreateOrUpdate

enum_AllowedEndpointRecordType := [ "DomainName", "IPv4Address", "IPv6Address", "Any" ]
enum_EndpointPropertiesAlwaysServe := [ "Enabled", "Disabled" ]
enum_EndpointPropertiesEndpointMonitorStatus := [ "CheckingEndpoint", "Online", "Degraded", "Disabled", "Inactive", "Stopped", "Unmonitored" ]
enum_EndpointPropertiesEndpointStatus := [ "Enabled", "Disabled" ]
enum_MonitorConfigProfileMonitorStatus := [ "CheckingEndpoints", "Online", "Degraded", "Disabled", "Inactive" ]
enum_MonitorConfigProtocol := [ "HTTP", "HTTPS", "TCP" ]
enum_ProfilePropertiesProfileStatus := [ "Enabled", "Disabled" ]
enum_ProfilePropertiesTrafficRoutingMethod := [ "Performance", "Priority", "Weighted", "Geographic", "MultiValue", "Subnet" ]
enum_ProfilePropertiesTrafficViewEnrollmentStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.profileStatus == enum_ProfilePropertiesProfileStatus[_]
    input.Body.properties.trafficRoutingMethod == enum_ProfilePropertiesTrafficRoutingMethod[_]
    input.Body.properties.dnsConfig.relativeName == STRING
    input.Body.properties.dnsConfig.ttl == INTEGER
    input.Body.properties.monitorConfig.profileMonitorStatus == enum_MonitorConfigProfileMonitorStatus[_]
    input.Body.properties.monitorConfig.protocol == enum_MonitorConfigProtocol[_]
    input.Body.properties.monitorConfig.port == INTEGER
    input.Body.properties.monitorConfig.path == STRING
    input.Body.properties.monitorConfig.intervalInSeconds == INTEGER
    input.Body.properties.monitorConfig.timeoutInSeconds == INTEGER
    input.Body.properties.monitorConfig.toleratedNumberOfFailures == INTEGER
    input.Body.properties.monitorConfig.customHeaders[_].name == STRING
    input.Body.properties.monitorConfig.customHeaders[_].value == STRING
    input.Body.properties.monitorConfig.expectedStatusCodeRanges[_].min == INTEGER
    input.Body.properties.monitorConfig.expectedStatusCodeRanges[_].max == INTEGER
    input.Body.properties.endpoints[_].properties.targetResourceId == STRING
    input.Body.properties.endpoints[_].properties.target == STRING
    input.Body.properties.endpoints[_].properties.endpointStatus == enum_EndpointPropertiesEndpointStatus[_]
    input.Body.properties.endpoints[_].properties.weight == INTEGER
    input.Body.properties.endpoints[_].properties.priority == INTEGER
    input.Body.properties.endpoints[_].properties.endpointLocation == STRING
    input.Body.properties.endpoints[_].properties.endpointMonitorStatus == enum_EndpointPropertiesEndpointMonitorStatus[_]
    input.Body.properties.endpoints[_].properties.minChildEndpoints == INTEGER
    input.Body.properties.endpoints[_].properties.minChildEndpointsIPv4 == INTEGER
    input.Body.properties.endpoints[_].properties.minChildEndpointsIPv6 == INTEGER
    input.Body.properties.endpoints[_].properties.geoMapping[_] == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].first == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].last == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].scope == INTEGER
    input.Body.properties.endpoints[_].properties.customHeaders[_].name == STRING
    input.Body.properties.endpoints[_].properties.customHeaders[_].value == STRING
    input.Body.properties.endpoints[_].properties.alwaysServe == enum_EndpointPropertiesAlwaysServe[_]
    input.Body.properties.trafficViewEnrollmentStatus == enum_ProfilePropertiesTrafficViewEnrollmentStatus[_]
    input.Body.properties.allowedEndpointRecordTypes[_] == enum_AllowedEndpointRecordType[_]
    input.Body.properties.maxReturn == INTEGER
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Profiles_Update

enum_AllowedEndpointRecordType := [ "DomainName", "IPv4Address", "IPv6Address", "Any" ]
enum_EndpointPropertiesAlwaysServe := [ "Enabled", "Disabled" ]
enum_EndpointPropertiesEndpointMonitorStatus := [ "CheckingEndpoint", "Online", "Degraded", "Disabled", "Inactive", "Stopped", "Unmonitored" ]
enum_EndpointPropertiesEndpointStatus := [ "Enabled", "Disabled" ]
enum_MonitorConfigProfileMonitorStatus := [ "CheckingEndpoints", "Online", "Degraded", "Disabled", "Inactive" ]
enum_MonitorConfigProtocol := [ "HTTP", "HTTPS", "TCP" ]
enum_ProfilePropertiesProfileStatus := [ "Enabled", "Disabled" ]
enum_ProfilePropertiesTrafficRoutingMethod := [ "Performance", "Priority", "Weighted", "Geographic", "MultiValue", "Subnet" ]
enum_ProfilePropertiesTrafficViewEnrollmentStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.profileStatus == enum_ProfilePropertiesProfileStatus[_]
    input.Body.properties.trafficRoutingMethod == enum_ProfilePropertiesTrafficRoutingMethod[_]
    input.Body.properties.dnsConfig.relativeName == STRING
    input.Body.properties.dnsConfig.ttl == INTEGER
    input.Body.properties.monitorConfig.profileMonitorStatus == enum_MonitorConfigProfileMonitorStatus[_]
    input.Body.properties.monitorConfig.protocol == enum_MonitorConfigProtocol[_]
    input.Body.properties.monitorConfig.port == INTEGER
    input.Body.properties.monitorConfig.path == STRING
    input.Body.properties.monitorConfig.intervalInSeconds == INTEGER
    input.Body.properties.monitorConfig.timeoutInSeconds == INTEGER
    input.Body.properties.monitorConfig.toleratedNumberOfFailures == INTEGER
    input.Body.properties.monitorConfig.customHeaders[_].name == STRING
    input.Body.properties.monitorConfig.customHeaders[_].value == STRING
    input.Body.properties.monitorConfig.expectedStatusCodeRanges[_].min == INTEGER
    input.Body.properties.monitorConfig.expectedStatusCodeRanges[_].max == INTEGER
    input.Body.properties.endpoints[_].properties.targetResourceId == STRING
    input.Body.properties.endpoints[_].properties.target == STRING
    input.Body.properties.endpoints[_].properties.endpointStatus == enum_EndpointPropertiesEndpointStatus[_]
    input.Body.properties.endpoints[_].properties.weight == INTEGER
    input.Body.properties.endpoints[_].properties.priority == INTEGER
    input.Body.properties.endpoints[_].properties.endpointLocation == STRING
    input.Body.properties.endpoints[_].properties.endpointMonitorStatus == enum_EndpointPropertiesEndpointMonitorStatus[_]
    input.Body.properties.endpoints[_].properties.minChildEndpoints == INTEGER
    input.Body.properties.endpoints[_].properties.minChildEndpointsIPv4 == INTEGER
    input.Body.properties.endpoints[_].properties.minChildEndpointsIPv6 == INTEGER
    input.Body.properties.endpoints[_].properties.geoMapping[_] == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].first == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].last == STRING
    input.Body.properties.endpoints[_].properties.subnets[_].scope == INTEGER
    input.Body.properties.endpoints[_].properties.customHeaders[_].name == STRING
    input.Body.properties.endpoints[_].properties.customHeaders[_].value == STRING
    input.Body.properties.endpoints[_].properties.alwaysServe == enum_EndpointPropertiesAlwaysServe[_]
    input.Body.properties.trafficViewEnrollmentStatus == enum_ProfilePropertiesTrafficViewEnrollmentStatus[_]
    input.Body.properties.allowedEndpointRecordTypes[_] == enum_AllowedEndpointRecordType[_]
    input.Body.properties.maxReturn == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Profiles_checkTrafficManagerNameAvailabilityV2

valid {
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PublicIPAddresses_CreateOrUpdate

enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.dnsSettings.fqdn == STRING
    input.Body.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.ipTags[_].tag == STRING
    input.Body.properties.ipAddress == STRING
    input.Body.properties.publicIPPrefix.id == STRING
    input.Body.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.servicePublicIPAddress == NESTED
    input.Body.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.natGateway.zones[_] == STRING
    input.Body.properties.natGateway.id == STRING
    input.Body.properties.natGateway.location == STRING
    input.Body.properties.natGateway.tags.STRING == STRING
    input.Body.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.linkedPublicIPAddress == NESTED
    input.Body.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.zones[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_DdosProtectionStatus

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_GetCloudServicePublicIPAddress

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.roleInstanceName == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_GetVirtualMachineScaleSetPublicIPAddress

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PublicIPAddresses_ListCloudServicePublicIPAddresses

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_ListCloudServiceRoleInstancePublicIPAddresses

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudServiceName == STRING
    input.ReqMap.roleInstanceName == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_ListVirtualMachineScaleSetPublicIPAddresses

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_ListVirtualMachineScaleSetVMPublicIPAddresses

enum_ApiVersionVmssParameter := [ "2017-03-30" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineScaleSetName == STRING
    input.ReqMap.virtualmachineIndex == STRING
    input.ReqMap.networkInterfaceName == STRING
    input.ReqMap.ipConfigurationName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == enum_ApiVersionVmssParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPAddresses_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpAddressName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPPrefixes_CreateOrUpdate

enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPPrefixSkuName := [ "Standard" ]
enum_PublicIPPrefixSkuTier := [ "Regional", "Global" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.sku.name == enum_PublicIPPrefixSkuName[_]
    input.Body.sku.tier == enum_PublicIPPrefixSkuTier[_]
    input.Body.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.ipTags[_].tag == STRING
    input.Body.properties.prefixLength == INTEGER
    input.Body.properties.customIPPrefix.id == STRING
    input.Body.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.natGateway.zones[_] == STRING
    input.Body.properties.natGateway.id == STRING
    input.Body.properties.natGateway.location == STRING
    input.Body.properties.natGateway.tags.STRING == STRING
    input.Body.zones[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPPrefixes_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPPrefixes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPPrefixes_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PublicIPPrefixes_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PublicIPPrefixes_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.publicIpPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PutBastionShareableLink

valid {
    input.Body.vms[_].vm.id == STRING
    input.Body.vms[_].vm.location == STRING
    input.Body.vms[_].vm.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.bastionHostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_CreateOrUpdate

enum_RecordTypeParameter := [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "TLSA", "DS", "NAPTR" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.metadata.STRING == STRING
    input.Body.properties.TTL == INTEGER
    input.Body.properties.targetResource.id == STRING
    input.Body.properties.trafficManagementProfile.id == STRING
    input.Body.properties.ARecords[_].ipv4Address == STRING
    input.Body.properties.AAAARecords[_].ipv6Address == STRING
    input.Body.properties.MXRecords[_].preference == INTEGER
    input.Body.properties.MXRecords[_].exchange == STRING
    input.Body.properties.NSRecords[_].nsdname == STRING
    input.Body.properties.PTRRecords[_].ptrdname == STRING
    input.Body.properties.SRVRecords[_].priority == INTEGER
    input.Body.properties.SRVRecords[_].weight == INTEGER
    input.Body.properties.SRVRecords[_].port == INTEGER
    input.Body.properties.SRVRecords[_].target == STRING
    input.Body.properties.TXTRecords[_].value[_] == STRING
    input.Body.properties.CNAMERecord.cname == STRING
    input.Body.properties.SOARecord.host == STRING
    input.Body.properties.SOARecord.email == STRING
    input.Body.properties.SOARecord.serialNumber == INTEGER
    input.Body.properties.SOARecord.refreshTime == INTEGER
    input.Body.properties.SOARecord.retryTime == INTEGER
    input.Body.properties.SOARecord.expireTime == INTEGER
    input.Body.properties.SOARecord.minimumTTL == INTEGER
    input.Body.properties.caaRecords[_].flags == INTEGER
    input.Body.properties.caaRecords[_].tag == STRING
    input.Body.properties.caaRecords[_].value == STRING
    input.Body.properties.DSRecords[_].keyTag == INTEGER
    input.Body.properties.DSRecords[_].algorithm == INTEGER
    input.Body.properties.DSRecords[_].digest.algorithmType == INTEGER
    input.Body.properties.DSRecords[_].digest.value == STRING
    input.Body.properties.TLSARecords[_].usage == INTEGER
    input.Body.properties.TLSARecords[_].selector == INTEGER
    input.Body.properties.TLSARecords[_].matchingType == INTEGER
    input.Body.properties.TLSARecords[_].certAssociationData == STRING
    input.Body.properties.NAPTRRecords[_].order == INTEGER
    input.Body.properties.NAPTRRecords[_].preference == INTEGER
    input.Body.properties.NAPTRRecords[_].flags == STRING
    input.Body.properties.NAPTRRecords[_].services == STRING
    input.Body.properties.NAPTRRecords[_].regexp == STRING
    input.Body.properties.NAPTRRecords[_].replacement == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.relativeRecordSetName == STRING
    input.ReqMap.recordType == enum_RecordTypeParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_Delete

enum_RecordTypeParameter := [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "TLSA", "DS", "NAPTR" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.relativeRecordSetName == STRING
    input.ReqMap.recordType == enum_RecordTypeParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_Get

enum_RecordTypeParameter := [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "TLSA", "DS", "NAPTR" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.relativeRecordSetName == STRING
    input.ReqMap.recordType == enum_RecordTypeParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.privateZoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.$recordsetnamesuffix == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_ListAll

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == STRING
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_ListAllByDnsZone

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.$recordsetnamesuffix == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_ListByDnsZone

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.$recordsetnamesuffix == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_ListByType

enum_RecordTypeParameter := [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "TLSA", "DS", "NAPTR" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.recordType == enum_RecordTypeParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.$recordsetnamesuffix == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RecordSets_Update

enum_RecordTypeParameter := [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "TLSA", "DS", "NAPTR" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.metadata.STRING == STRING
    input.Body.properties.TTL == INTEGER
    input.Body.properties.targetResource.id == STRING
    input.Body.properties.trafficManagementProfile.id == STRING
    input.Body.properties.ARecords[_].ipv4Address == STRING
    input.Body.properties.AAAARecords[_].ipv6Address == STRING
    input.Body.properties.MXRecords[_].preference == INTEGER
    input.Body.properties.MXRecords[_].exchange == STRING
    input.Body.properties.NSRecords[_].nsdname == STRING
    input.Body.properties.PTRRecords[_].ptrdname == STRING
    input.Body.properties.SRVRecords[_].priority == INTEGER
    input.Body.properties.SRVRecords[_].weight == INTEGER
    input.Body.properties.SRVRecords[_].port == INTEGER
    input.Body.properties.SRVRecords[_].target == STRING
    input.Body.properties.TXTRecords[_].value[_] == STRING
    input.Body.properties.CNAMERecord.cname == STRING
    input.Body.properties.SOARecord.host == STRING
    input.Body.properties.SOARecord.email == STRING
    input.Body.properties.SOARecord.serialNumber == INTEGER
    input.Body.properties.SOARecord.refreshTime == INTEGER
    input.Body.properties.SOARecord.retryTime == INTEGER
    input.Body.properties.SOARecord.expireTime == INTEGER
    input.Body.properties.SOARecord.minimumTTL == INTEGER
    input.Body.properties.caaRecords[_].flags == INTEGER
    input.Body.properties.caaRecords[_].tag == STRING
    input.Body.properties.caaRecords[_].value == STRING
    input.Body.properties.DSRecords[_].keyTag == INTEGER
    input.Body.properties.DSRecords[_].algorithm == INTEGER
    input.Body.properties.DSRecords[_].digest.algorithmType == INTEGER
    input.Body.properties.DSRecords[_].digest.value == STRING
    input.Body.properties.TLSARecords[_].usage == INTEGER
    input.Body.properties.TLSARecords[_].selector == INTEGER
    input.Body.properties.TLSARecords[_].matchingType == INTEGER
    input.Body.properties.TLSARecords[_].certAssociationData == STRING
    input.Body.properties.NAPTRRecords[_].order == INTEGER
    input.Body.properties.NAPTRRecords[_].preference == INTEGER
    input.Body.properties.NAPTRRecords[_].flags == STRING
    input.Body.properties.NAPTRRecords[_].services == STRING
    input.Body.properties.NAPTRRecords[_].regexp == STRING
    input.Body.properties.NAPTRRecords[_].replacement == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.relativeRecordSetName == STRING
    input.ReqMap.recordType == enum_RecordTypeParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Reports_GetLatencyScorecards

enum_AggregationIntervalParameter := [ "Daily", "Weekly", "Monthly" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.Qs.endDateTimeUTC == STRING
    input.Qs.country == STRING
    input.Qs.aggregationInterval == enum_AggregationIntervalParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Reports_GetTimeseries

enum_AggregationIntervalParameter := [ "Hourly", "Daily" ]
enum_TimeseriesTypeParameter := [ "MeasurementCounts", "LatencyP50", "LatencyP75", "LatencyP95" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.profileName == STRING
    input.ReqMap.experimentName == STRING
    input.Qs.api-version == STRING
    input.Qs.startDateTimeUTC == STRING
    input.Qs.endDateTimeUTC == STRING
    input.Qs.aggregationInterval == enum_AggregationIntervalParameter[_]
    input.Qs.timeseriesType == enum_TimeseriesTypeParameter[_]
    input.Qs.endpoint == STRING
    input.Qs.country == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ResourceNavigationLinks_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilterRules_CreateOrUpdate

enum_Access := [ "Allow", "Deny" ]
enum_RouteFilterRulePropertiesFormatRouteFilterRuleType := [ "Community" ]

valid {
    input.Body.properties.access == enum_Access[_]
    input.Body.properties.routeFilterRuleType == enum_RouteFilterRulePropertiesFormatRouteFilterRuleType[_]
    input.Body.properties.communities[_] == STRING
    input.Body.name == STRING
    input.Body.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilterRules_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilterRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilterRules_ListByRouteFilter

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilterRules_Update

enum_Access := [ "Allow", "Deny" ]
enum_RouteFilterRulePropertiesFormatRouteFilterRuleType := [ "Community" ]

valid {
    input.Body.properties.access == enum_Access[_]
    input.Body.properties.routeFilterRuleType == enum_RouteFilterRulePropertiesFormatRouteFilterRuleType[_]
    input.Body.properties.communities[_] == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilters_CreateOrUpdate

enum_Access := [ "Allow", "Deny" ]
enum_RouteFilterRulePropertiesFormatRouteFilterRuleType := [ "Community" ]

valid {
    input.Body.properties.rules[_].properties.access == enum_Access[_]
    input.Body.properties.rules[_].properties.routeFilterRuleType == enum_RouteFilterRulePropertiesFormatRouteFilterRuleType[_]
    input.Body.properties.rules[_].properties.communities[_] == STRING
    input.Body.properties.rules[_].name == STRING
    input.Body.properties.rules[_].location == STRING
    input.Body.properties.rules[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilters_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilters_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilters_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

RouteFilters_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteFilters_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeFilterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteMaps_CreateOrUpdate

enum_NextStep := [ "Unknown", "Continue", "Terminate" ]
enum_RouteMapActionType := [ "Unknown", "Remove", "Add", "Replace", "Drop" ]
enum_RouteMapMatchCondition := [ "Unknown", "Contains", "Equals", "NotContains", "NotEquals" ]

valid {
    input.Body.properties.associatedInboundConnections[_] == STRING
    input.Body.properties.associatedOutboundConnections[_] == STRING
    input.Body.properties.rules[_].name == STRING
    input.Body.properties.rules[_].matchCriteria[_].routePrefix[_] == STRING
    input.Body.properties.rules[_].matchCriteria[_].community[_] == STRING
    input.Body.properties.rules[_].matchCriteria[_].asPath[_] == STRING
    input.Body.properties.rules[_].matchCriteria[_].matchCondition == enum_RouteMapMatchCondition[_]
    input.Body.properties.rules[_].actions[_].type == enum_RouteMapActionType[_]
    input.Body.properties.rules[_].actions[_].parameters[_].routePrefix[_] == STRING
    input.Body.properties.rules[_].actions[_].parameters[_].community[_] == STRING
    input.Body.properties.rules[_].actions[_].parameters[_].asPath[_] == STRING
    input.Body.properties.rules[_].nextStepIfMatched == enum_NextStep[_]
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteMaps_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteMaps_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteMaps_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteTables_CreateOrUpdate

enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]

valid {
    input.Body.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.routes[_].name == STRING
    input.Body.properties.routes[_].type == STRING
    input.Body.properties.routes[_].id == STRING
    input.Body.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteTables_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteTables_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteTables_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RouteTables_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

RouteTables_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Routes_CreateOrUpdate

enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]

valid {
    input.Body.properties.addressPrefix == STRING
    input.Body.properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.nextHopIpAddress == STRING
    input.Body.properties.hasBgpOverride == BOOLEAN
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.routeName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Routes_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.routeName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Routes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.routeName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Routes_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.routeTableName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingConfigurations_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

RoutingConfigurations_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingConfigurations_Get

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingConfigurations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingIntent_CreateOrUpdate

valid {
    input.Body.properties.routingPolicies[_].name == STRING
    input.Body.properties.routingPolicies[_].destinations[_] == STRING
    input.Body.properties.routingPolicies[_].nextHop == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routingIntentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingIntent_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routingIntentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingIntent_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routingIntentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingIntent_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingRuleCollections_CreateOrUpdate

enum_RoutingRuleCollectionLocalRouteSetting := [ "NotSpecified", "DirectRoutingWithinVNet", "DirectRoutingWithinSubnet" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.appliesTo[_].networkGroupId == STRING
    input.Body.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.localRouteSetting == enum_RoutingRuleCollectionLocalRouteSetting[_]
    input.ProviderMetadata.Region == STRING
}

RoutingRuleCollections_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingRuleCollections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingRuleCollections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.ReqMap.configurationName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RoutingRules_CreateOrUpdate

enum_RoutingRuleDestinationType := [ "AddressPrefix", "ServiceTag" ]
enum_RoutingRuleNextHopType := [ "Internet", "NoNextNop", "VirtualAppliance", "VirtualNetworkGateway", "VnetLocal" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.destination.type == enum_RoutingRuleDestinationType[_]
    input.Body.properties.destination.destinationAddress == STRING
    input.Body.properties.nextHop.nextHopType == enum_RoutingRuleNextHopType[_]
    input.Body.properties.nextHop.nextHopAddress == STRING
    input.ProviderMetadata.Region == STRING
}

RoutingRules_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingRules_Get

valid {
    input.ProviderMetadata.Region == STRING
}

RoutingRules_List

valid {
    input.ProviderMetadata.Region == STRING
}

RulesEngines_CreateOrUpdate

enum_HeaderActionHeaderActionType := [ "Append", "Delete", "Overwrite" ]
enum_RulesEngineMatchConditionRulesEngineMatchVariable := [ "IsMobile", "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestPath", "RequestFilename", "RequestFilenameExtension", "RequestHeader", "RequestBody", "RequestScheme" ]
enum_RulesEngineMatchConditionRulesEngineOperator := [ "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith" ]
enum_RulesEngineRuleMatchProcessingBehavior := [ "Continue", "Stop" ]
enum_transform := [ "Lowercase", "Uppercase", "Trim", "UrlDecode", "UrlEncode", "RemoveNulls" ]

valid {
    input.Body.properties.rules[_].name == STRING
    input.Body.properties.rules[_].priority == INTEGER
    input.Body.properties.rules[_].action.requestHeaderActions[_].headerActionType == enum_HeaderActionHeaderActionType[_]
    input.Body.properties.rules[_].action.requestHeaderActions[_].headerName == STRING
    input.Body.properties.rules[_].action.requestHeaderActions[_].value == STRING
    input.Body.properties.rules[_].action.responseHeaderActions[_].headerActionType == enum_HeaderActionHeaderActionType[_]
    input.Body.properties.rules[_].action.responseHeaderActions[_].headerName == STRING
    input.Body.properties.rules[_].action.responseHeaderActions[_].value == STRING
    input.Body.properties.rules[_][email protected] == STRING
    input.Body.properties.rules[_].matchConditions[_].rulesEngineMatchVariable == enum_RulesEngineMatchConditionRulesEngineMatchVariable[_]
    input.Body.properties.rules[_].matchConditions[_].selector == STRING
    input.Body.properties.rules[_].matchConditions[_].rulesEngineOperator == enum_RulesEngineMatchConditionRulesEngineOperator[_]
    input.Body.properties.rules[_].matchConditions[_].negateCondition == BOOLEAN
    input.Body.properties.rules[_].matchConditions[_].rulesEngineMatchValue[_] == STRING
    input.Body.properties.rules[_].matchConditions[_].transforms[_] == enum_transform[_]
    input.Body.properties.rules[_].matchProcessingBehavior == enum_RulesEngineRuleMatchProcessingBehavior[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.rulesEngineName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RulesEngines_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.rulesEngineName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RulesEngines_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.ReqMap.rulesEngineName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RulesEngines_ListByFrontDoor

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.frontDoorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScopeConnections_CreateOrUpdate

valid {
    input.Body.properties.tenantId == STRING
    input.Body.properties.resourceId == STRING
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

ScopeConnections_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

ScopeConnections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

ScopeConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityAdminConfigurations_CreateOrUpdate

enum_NetworkIntentPolicyBasedService := [ "None", "All", "AllowRulesOnly" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.applyOnNetworkIntentPolicyBasedServices[_] == enum_NetworkIntentPolicyBasedService[_]
    input.ProviderMetadata.Region == STRING
}

SecurityAdminConfigurations_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

SecurityAdminConfigurations_Get

valid {
    input.ProviderMetadata.Region == STRING
}

SecurityAdminConfigurations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityPartnerProviders_CreateOrUpdate

enum_SecurityPartnerProvidersecurityProviderName := [ "ZScaler", "IBoss", "Checkpoint" ]

valid {
    input.Body.properties.securityProviderName == enum_SecurityPartnerProvidersecurityProviderName[_]
    input.Body.properties.virtualHub.id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.securityPartnerProviderName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityPartnerProviders_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.securityPartnerProviderName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityPartnerProviders_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.securityPartnerProviderName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityPartnerProviders_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SecurityPartnerProviders_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityPartnerProviders_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.securityPartnerProviderName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityRules_CreateOrUpdate

enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.sourcePortRange == STRING
    input.Body.properties.destinationPortRange == STRING
    input.Body.properties.sourceAddressPrefix == STRING
    input.Body.properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationAddressPrefix == STRING
    input.Body.properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.sourcePortRanges[_] == STRING
    input.Body.properties.destinationPortRanges[_] == STRING
    input.Body.properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.priority == INTEGER
    input.Body.properties.direction == enum_SecurityRuleDirection[_]
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.securityRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityRules_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.securityRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityRules_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.securityRuleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityRules_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkSecurityGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SecurityUserConfigurations_CreateOrUpdate

enum_SecurityUserConfigurationPropertiesFormatDeleteExistingNSGs := [ "False", "True" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.deleteExistingNSGs == enum_SecurityUserConfigurationPropertiesFormatDeleteExistingNSGs[_]
    input.ProviderMetadata.Region == STRING
}

SecurityUserConfigurations_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

SecurityUserConfigurations_Get

valid {
    input.ProviderMetadata.Region == STRING
}

SecurityUserConfigurations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceAssociationLinks_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicies_CreateOrUpdate

valid {
    input.Body.properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.serviceAlias == STRING
    input.Body.properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicies_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicies_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicies_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ServiceEndpointPolicies_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicies_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicyDefinitions_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.service == STRING
    input.Body.properties.serviceResources[_] == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.serviceEndpointPolicyDefinitionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicyDefinitions_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.serviceEndpointPolicyDefinitionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicyDefinitions_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.serviceEndpointPolicyDefinitionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceEndpointPolicyDefinitions_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceEndpointPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceTagInformation_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.noAddressPrefixes == BOOLEAN
    input.Qs.tagName == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ServiceTags_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

StaticMembers_CreateOrUpdate

valid {
    input.Body.properties.resourceId == STRING
    input.ProviderMetadata.Region == STRING
}

StaticMembers_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

StaticMembers_Get

valid {
    input.ProviderMetadata.Region == STRING
}

StaticMembers_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.ReqMap.networkGroupName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_CreateOrUpdate

enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]

valid {
    input.Body.properties.addressPrefix == STRING
    input.Body.properties.addressPrefixes[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.networkSecurityGroup.id == STRING
    input.Body.properties.networkSecurityGroup.location == STRING
    input.Body.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.routeTable.id == STRING
    input.Body.properties.routeTable.location == STRING
    input.Body.properties.routeTable.tags.STRING == STRING
    input.Body.properties.natGateway.id == STRING
    input.Body.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.ipAllocations[_].id == STRING
    input.Body.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.delegations[_].name == STRING
    input.Body.properties.delegations[_].type == STRING
    input.Body.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.defaultOutboundAccess == BOOLEAN
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_PrepareNetworkPolicies

valid {
    input.Body.serviceName == STRING
    input.Body.networkIntentPolicyConfigurations[_].networkIntentPolicyName == STRING
    input.Body.networkIntentPolicyConfigurations[_].sourceNetworkIntentPolicy.id == STRING
    input.Body.networkIntentPolicyConfigurations[_].sourceNetworkIntentPolicy.location == STRING
    input.Body.networkIntentPolicyConfigurations[_].sourceNetworkIntentPolicy.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Subnets_UnprepareNetworkPolicies

valid {
    input.Body.serviceName == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.subnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SubscriptionNetworkManagerConnections_CreateOrUpdate

valid {
    input.Body.properties.networkManagerId == STRING
    input.Body.properties.description == STRING
    input.ProviderMetadata.Region == STRING
}

SubscriptionNetworkManagerConnections_Delete

valid {
    input.ProviderMetadata.Region == STRING
}

SubscriptionNetworkManagerConnections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

SubscriptionNetworkManagerConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SupportedSecurityProviders

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TrafficManagerUserMetricsKeys_CreateOrUpdate

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

TrafficManagerUserMetricsKeys_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

TrafficManagerUserMetricsKeys_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Usages_List

valid {
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

UserRuleCollections_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.appliesToGroups[_].networkGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

UserRuleCollections_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

UserRuleCollections_Get

valid {
    input.ProviderMetadata.Region == STRING
}

UserRuleCollections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkManagerName == STRING
    input.ReqMap.configurationName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.Qs.$skipToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UserRules_CreateOrUpdate

enum_BaseUserRuleKind := [ "Custom", "Default" ]

valid {
    input.Body.kind == enum_BaseUserRuleKind[_]
    input.ProviderMetadata.Region == STRING
}

UserRules_Delete

valid {
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

UserRules_Get

valid {
    input.ProviderMetadata.Region == STRING
}

UserRules_List

valid {
    input.ProviderMetadata.Region == STRING
}

VipSwap_Create

enum_SingletonResourceParameter := [ "swap" ]
enum_SwapResourcePropertiesSlotType := [ "Production", "Staging" ]

valid {
    input.Body.properties.slotType == enum_SwapResourcePropertiesSlotType[_]
    input.ReqMap.groupName == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.singletonResource == enum_SingletonResourceParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VipSwap_Get

enum_SingletonResourceParameter := [ "swap" ]

valid {
    input.ReqMap.groupName == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.singletonResource == enum_SingletonResourceParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VipSwap_List

valid {
    input.ReqMap.groupName == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualApplianceSites_CreateOrUpdate

valid {
    input.Body.properties.addressPrefix == STRING
    input.Body.properties.o365Policy.breakOutCategories.allow == BOOLEAN
    input.Body.properties.o365Policy.breakOutCategories.optimize == BOOLEAN
    input.Body.properties.o365Policy.breakOutCategories.default == BOOLEAN
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualApplianceSites_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualApplianceSites_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualApplianceSites_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.networkVirtualApplianceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualApplianceSkus_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.skuName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualApplianceSkus_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualHubBgpConnection_CreateOrUpdate

valid {
    input.Body.properties.peerAsn == INTEGER
    input.Body.properties.peerIp == STRING
    input.Body.properties.hubVirtualNetworkConnection.id == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubBgpConnection_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubBgpConnection_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubBgpConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubBgpConnections_ListAdvertisedRoutes

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hubName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubBgpConnections_ListLearnedRoutes

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hubName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubIpConfiguration_CreateOrUpdate

enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]

valid {
    input.Body.properties.privateIPAddress == STRING
    input.Body.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.subnet.name == STRING
    input.Body.properties.subnet.type == STRING
    input.Body.properties.subnet.id == STRING
    input.Body.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.publicIPAddress.id == STRING
    input.Body.properties.publicIPAddress.location == STRING
    input.Body.properties.publicIPAddress.tags.STRING == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.ipConfigName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubIpConfiguration_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.ipConfigName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubIpConfiguration_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.ipConfigName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubIpConfiguration_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubRouteTableV2s_CreateOrUpdate

valid {
    input.Body.properties.routes[_].destinationType == STRING
    input.Body.properties.routes[_].destinations[_] == STRING
    input.Body.properties.routes[_].nextHopType == STRING
    input.Body.properties.routes[_].nextHops[_] == STRING
    input.Body.properties.attachedConnections[_] == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubRouteTableV2s_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubRouteTableV2s_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.ReqMap.routeTableName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubRouteTableV2s_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_CreateOrUpdate

enum_HubRoutingPreference := [ "ExpressRoute", "VpnGateway", "ASPath" ]
enum_PreferredRoutingGateway := [ "ExpressRoute", "VpnGateway", "None" ]

valid {
    input.Body.properties.virtualWan.id == STRING
    input.Body.properties.vpnGateway.id == STRING
    input.Body.properties.p2SVpnGateway.id == STRING
    input.Body.properties.expressRouteGateway.id == STRING
    input.Body.properties.azureFirewall.id == STRING
    input.Body.properties.securityPartnerProvider.id == STRING
    input.Body.properties.addressPrefix == STRING
    input.Body.properties.routeTable.routes[_].addressPrefixes[_] == STRING
    input.Body.properties.routeTable.routes[_].nextHopIpAddress == STRING
    input.Body.properties.securityProviderName == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].properties.routes[_].destinationType == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].properties.routes[_].destinations[_] == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].properties.routes[_].nextHopType == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].properties.routes[_].nextHops[_] == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].properties.attachedConnections[_] == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].name == STRING
    input.Body.properties.virtualHubRouteTableV2s[_].id == STRING
    input.Body.properties.sku == STRING
    input.Body.properties.virtualRouterAsn == INTEGER
    input.Body.properties.virtualRouterIps[_] == STRING
    input.Body.properties.allowBranchToBranchTraffic == BOOLEAN
    input.Body.properties.preferredRoutingGateway == enum_PreferredRoutingGateway[_]
    input.Body.properties.hubRoutingPreference == enum_HubRoutingPreference[_]
    input.Body.properties.virtualRouterAutoScaleConfiguration.minCapacity == INTEGER
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_GetEffectiveVirtualHubRoutes

valid {
    input.Body.resourceId == STRING
    input.Body.virtualWanResourceType == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_GetInboundRoutes

valid {
    input.Body.resourceUri == STRING
    input.Body.connectionType == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_GetOutboundRoutes

valid {
    input.Body.resourceUri == STRING
    input.Body.connectionType == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualHubs_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualHubs_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_CreateOrUpdate

enum_ConnectionProtocol := [ "IKEv2", "IKEv1" ]
enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]
enum_VirtualNetworkGatewayConnectionMode := [ "Default", "ResponderOnly", "InitiatorOnly" ]
enum_VirtualNetworkGatewayConnectionType := [ "IPsec", "Vnet2Vnet", "ExpressRoute", "VPNClient" ]
enum_VirtualNetworkGatewayNatRulePropertiesMode := [ "EgressSnat", "IngressSnat" ]
enum_VirtualNetworkGatewayNatRulePropertiesType := [ "Static", "Dynamic" ]
enum_VirtualNetworkGatewayPolicyGroupMemberAttributeType := [ "CertificateGroupId", "AADGroupId", "RadiusAzureGroupId" ]
enum_VirtualNetworkGatewayPropertiesFormatAdminState := [ "Enabled", "Disabled" ]
enum_VirtualNetworkGatewayPropertiesFormatGatewayType := [ "Vpn", "ExpressRoute", "LocalGateway" ]
enum_VirtualNetworkGatewayPropertiesFormatVpnGatewayGeneration := [ "None", "Generation1", "Generation2" ]
enum_VirtualNetworkGatewayPropertiesFormatVpnType := [ "PolicyBased", "RouteBased" ]
enum_VirtualNetworkGatewaySkuName := [ "Basic", "HighPerformance", "Standard", "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ", "ErGwScale" ]
enum_VirtualNetworkGatewaySkuTier := [ "Basic", "HighPerformance", "Standard", "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ", "ErGwScale" ]
enum_VpnClientConfigurationVpnAuthenticationTypes := [ "Certificate", "Radius", "AAD" ]
enum_VpnClientConfigurationVpnClientProtocols := [ "IkeV2", "SSTP", "OpenVPN" ]

valid {
    input.Body.properties.authorizationKey == STRING
    input.Body.properties.virtualNetworkGateway1.properties.autoScaleConfiguration.bounds.min == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.autoScaleConfiguration.bounds.max == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkGateway1.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.virtualNetworkGateway1.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.virtualNetworkGateway1.properties.ipConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.gatewayType == enum_VirtualNetworkGatewayPropertiesFormatGatewayType[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnType == enum_VirtualNetworkGatewayPropertiesFormatVpnType[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnGatewayGeneration == enum_VirtualNetworkGatewayPropertiesFormatVpnGatewayGeneration[_]
    input.Body.properties.virtualNetworkGateway1.properties.enableBgp == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.enablePrivateIpAddress == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.activeActive == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.disableIPSecReplayProtection == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.gatewayDefaultSite.id == STRING
    input.Body.properties.virtualNetworkGateway1.properties.sku.name == enum_VirtualNetworkGatewaySkuName[_]
    input.Body.properties.virtualNetworkGateway1.properties.sku.tier == enum_VirtualNetworkGatewaySkuTier[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientRootCertificates[_].properties.publicCertData == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientRootCertificates[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].properties.thumbprint == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientProtocols[_] == enum_VpnClientConfigurationVpnClientProtocols[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnAuthenticationTypes[_] == enum_VpnClientConfigurationVpnAuthenticationTypes[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.radiusServerAddress == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.radiusServerSecret == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.radiusServers[_].radiusServerAddress == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.radiusServers[_].radiusServerScore == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.radiusServers[_].radiusServerSecret == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.aadTenant == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.aadAudience == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.aadIssuer == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.virtualNetworkGatewayPolicyGroups[_].id == STRING
    input.Body.properties.virtualNetworkGateway1.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].properties.isDefault == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].properties.priority == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeType == enum_VirtualNetworkGatewayPolicyGroupMemberAttributeType[_]
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeValue == STRING
    input.Body.properties.virtualNetworkGateway1.properties.virtualNetworkGatewayPolicyGroups[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.bgpSettings.asn == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.virtualNetworkGateway1.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.virtualNetworkGateway1.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.virtualNetworkGateway1.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.virtualNetworkGateway1.properties.customRoutes.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway1.properties.enableDnsForwarding == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.vNetExtendedLocationResourceId == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.type == enum_VirtualNetworkGatewayNatRulePropertiesType[_]
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.mode == enum_VirtualNetworkGatewayNatRulePropertiesMode[_]
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.internalMappings[_].portRange == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.externalMappings[_].portRange == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].properties.ipConfigurationId == STRING
    input.Body.properties.virtualNetworkGateway1.properties.natRules[_].name == STRING
    input.Body.properties.virtualNetworkGateway1.properties.enableBgpRouteTranslationForNat == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.allowVirtualWanTraffic == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.allowRemoteVnetTraffic == BOOLEAN
    input.Body.properties.virtualNetworkGateway1.properties.adminState == enum_VirtualNetworkGatewayPropertiesFormatAdminState[_]
    input.Body.properties.virtualNetworkGateway1.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkGateway1.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.virtualNetworkGateway2.properties.autoScaleConfiguration.bounds.min == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.autoScaleConfiguration.bounds.max == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.virtualNetworkGateway2.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.virtualNetworkGateway2.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.virtualNetworkGateway2.properties.ipConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.gatewayType == enum_VirtualNetworkGatewayPropertiesFormatGatewayType[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnType == enum_VirtualNetworkGatewayPropertiesFormatVpnType[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnGatewayGeneration == enum_VirtualNetworkGatewayPropertiesFormatVpnGatewayGeneration[_]
    input.Body.properties.virtualNetworkGateway2.properties.enableBgp == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.enablePrivateIpAddress == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.activeActive == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.disableIPSecReplayProtection == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.gatewayDefaultSite.id == STRING
    input.Body.properties.virtualNetworkGateway2.properties.sku.name == enum_VirtualNetworkGatewaySkuName[_]
    input.Body.properties.virtualNetworkGateway2.properties.sku.tier == enum_VirtualNetworkGatewaySkuTier[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientRootCertificates[_].properties.publicCertData == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientRootCertificates[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].properties.thumbprint == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientProtocols[_] == enum_VpnClientConfigurationVpnClientProtocols[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnAuthenticationTypes[_] == enum_VpnClientConfigurationVpnAuthenticationTypes[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.radiusServerAddress == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.radiusServerSecret == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.radiusServers[_].radiusServerAddress == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.radiusServers[_].radiusServerScore == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.radiusServers[_].radiusServerSecret == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.aadTenant == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.aadAudience == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.aadIssuer == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.virtualNetworkGatewayPolicyGroups[_].id == STRING
    input.Body.properties.virtualNetworkGateway2.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].properties.isDefault == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].properties.priority == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeType == enum_VirtualNetworkGatewayPolicyGroupMemberAttributeType[_]
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeValue == STRING
    input.Body.properties.virtualNetworkGateway2.properties.virtualNetworkGatewayPolicyGroups[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.bgpSettings.asn == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.virtualNetworkGateway2.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.virtualNetworkGateway2.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.virtualNetworkGateway2.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.virtualNetworkGateway2.properties.customRoutes.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkGateway2.properties.enableDnsForwarding == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.vNetExtendedLocationResourceId == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.type == enum_VirtualNetworkGatewayNatRulePropertiesType[_]
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.mode == enum_VirtualNetworkGatewayNatRulePropertiesMode[_]
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.internalMappings[_].portRange == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.externalMappings[_].portRange == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].properties.ipConfigurationId == STRING
    input.Body.properties.virtualNetworkGateway2.properties.natRules[_].name == STRING
    input.Body.properties.virtualNetworkGateway2.properties.enableBgpRouteTranslationForNat == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.allowVirtualWanTraffic == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.allowRemoteVnetTraffic == BOOLEAN
    input.Body.properties.virtualNetworkGateway2.properties.adminState == enum_VirtualNetworkGatewayPropertiesFormatAdminState[_]
    input.Body.properties.virtualNetworkGateway2.extendedLocation.name == STRING
    input.Body.properties.virtualNetworkGateway2.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.localNetworkGateway2.properties.localNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.localNetworkGateway2.properties.gatewayIpAddress == STRING
    input.Body.properties.localNetworkGateway2.properties.fqdn == STRING
    input.Body.properties.localNetworkGateway2.properties.bgpSettings.asn == INTEGER
    input.Body.properties.localNetworkGateway2.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.localNetworkGateway2.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.localNetworkGateway2.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.localNetworkGateway2.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.localNetworkGateway2.id == STRING
    input.Body.properties.localNetworkGateway2.location == STRING
    input.Body.properties.localNetworkGateway2.tags.STRING == STRING
    input.Body.properties.ingressNatRules[_].id == STRING
    input.Body.properties.egressNatRules[_].id == STRING
    input.Body.properties.connectionType == enum_VirtualNetworkGatewayConnectionType[_]
    input.Body.properties.connectionProtocol == enum_ConnectionProtocol[_]
    input.Body.properties.routingWeight == INTEGER
    input.Body.properties.dpdTimeoutSeconds == INTEGER
    input.Body.properties.connectionMode == enum_VirtualNetworkGatewayConnectionMode[_]
    input.Body.properties.sharedKey == STRING
    input.Body.properties.peer.id == STRING
    input.Body.properties.enableBgp == BOOLEAN
    input.Body.properties.gatewayCustomBgpIpAddresses[_].ipConfigurationId == STRING
    input.Body.properties.gatewayCustomBgpIpAddresses[_].customBgpIpAddress == STRING
    input.Body.properties.useLocalAzureIpAddress == BOOLEAN
    input.Body.properties.usePolicyBasedTrafficSelectors == BOOLEAN
    input.Body.properties.ipsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.ipsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.ipsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.ipsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.ipsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.ipsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.ipsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.ipsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.trafficSelectorPolicies[_].localAddressRanges[_] == STRING
    input.Body.properties.trafficSelectorPolicies[_].remoteAddressRanges[_] == STRING
    input.Body.properties.expressRouteGatewayBypass == BOOLEAN
    input.Body.properties.enablePrivateLinkFastPath == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_GetIkeSas

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_GetSharedKey

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_ResetConnection

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_ResetSharedKey

valid {
    input.Body.keyLength == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_SetSharedKey

valid {
    input.Body.value == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_StartPacketCapture

valid {
    input.Body.filterData == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_StopPacketCapture

valid {
    input.Body.sasUrl == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayConnections_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayNatRules_CreateOrUpdate

enum_VirtualNetworkGatewayNatRulePropertiesMode := [ "EgressSnat", "IngressSnat" ]
enum_VirtualNetworkGatewayNatRulePropertiesType := [ "Static", "Dynamic" ]

valid {
    input.Body.properties.type == enum_VirtualNetworkGatewayNatRulePropertiesType[_]
    input.Body.properties.mode == enum_VirtualNetworkGatewayNatRulePropertiesMode[_]
    input.Body.properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.internalMappings[_].portRange == STRING
    input.Body.properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.externalMappings[_].portRange == STRING
    input.Body.properties.ipConfigurationId == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayNatRules_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayNatRules_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.natRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGatewayNatRules_ListByVirtualNetworkGateway

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_CreateOrUpdate

enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]
enum_VirtualNetworkGatewayNatRulePropertiesMode := [ "EgressSnat", "IngressSnat" ]
enum_VirtualNetworkGatewayNatRulePropertiesType := [ "Static", "Dynamic" ]
enum_VirtualNetworkGatewayPolicyGroupMemberAttributeType := [ "CertificateGroupId", "AADGroupId", "RadiusAzureGroupId" ]
enum_VirtualNetworkGatewayPropertiesFormatAdminState := [ "Enabled", "Disabled" ]
enum_VirtualNetworkGatewayPropertiesFormatGatewayType := [ "Vpn", "ExpressRoute", "LocalGateway" ]
enum_VirtualNetworkGatewayPropertiesFormatVpnGatewayGeneration := [ "None", "Generation1", "Generation2" ]
enum_VirtualNetworkGatewayPropertiesFormatVpnType := [ "PolicyBased", "RouteBased" ]
enum_VirtualNetworkGatewaySkuName := [ "Basic", "HighPerformance", "Standard", "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ", "ErGwScale" ]
enum_VirtualNetworkGatewaySkuTier := [ "Basic", "HighPerformance", "Standard", "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ", "ErGwScale" ]
enum_VpnClientConfigurationVpnAuthenticationTypes := [ "Certificate", "Radius", "AAD" ]
enum_VpnClientConfigurationVpnClientProtocols := [ "IkeV2", "SSTP", "OpenVPN" ]

valid {
    input.Body.properties.autoScaleConfiguration.bounds.min == INTEGER
    input.Body.properties.autoScaleConfiguration.bounds.max == INTEGER
    input.Body.properties.ipConfigurations[_].properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.ipConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.ipConfigurations[_].properties.publicIPAddress.id == STRING
    input.Body.properties.ipConfigurations[_].name == STRING
    input.Body.properties.ipConfigurations[_].id == STRING
    input.Body.properties.gatewayType == enum_VirtualNetworkGatewayPropertiesFormatGatewayType[_]
    input.Body.properties.vpnType == enum_VirtualNetworkGatewayPropertiesFormatVpnType[_]
    input.Body.properties.vpnGatewayGeneration == enum_VirtualNetworkGatewayPropertiesFormatVpnGatewayGeneration[_]
    input.Body.properties.enableBgp == BOOLEAN
    input.Body.properties.enablePrivateIpAddress == BOOLEAN
    input.Body.properties.activeActive == BOOLEAN
    input.Body.properties.disableIPSecReplayProtection == BOOLEAN
    input.Body.properties.gatewayDefaultSite.id == STRING
    input.Body.properties.sku.name == enum_VirtualNetworkGatewaySkuName[_]
    input.Body.properties.sku.tier == enum_VirtualNetworkGatewaySkuTier[_]
    input.Body.properties.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRootCertificates[_].properties.publicCertData == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRootCertificates[_].name == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRootCertificates[_].id == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].properties.thumbprint == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].name == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientRevokedCertificates[_].id == STRING
    input.Body.properties.vpnClientConfiguration.vpnClientProtocols[_] == enum_VpnClientConfigurationVpnClientProtocols[_]
    input.Body.properties.vpnClientConfiguration.vpnAuthenticationTypes[_] == enum_VpnClientConfigurationVpnAuthenticationTypes[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.vpnClientConfiguration.vpnClientIpsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.vpnClientConfiguration.radiusServerAddress == STRING
    input.Body.properties.vpnClientConfiguration.radiusServerSecret == STRING
    input.Body.properties.vpnClientConfiguration.radiusServers[_].radiusServerAddress == STRING
    input.Body.properties.vpnClientConfiguration.radiusServers[_].radiusServerScore == INTEGER
    input.Body.properties.vpnClientConfiguration.radiusServers[_].radiusServerSecret == STRING
    input.Body.properties.vpnClientConfiguration.aadTenant == STRING
    input.Body.properties.vpnClientConfiguration.aadAudience == STRING
    input.Body.properties.vpnClientConfiguration.aadIssuer == STRING
    input.Body.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.vpnClientAddressPool.addressPrefixes[_] == STRING
    input.Body.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].properties.virtualNetworkGatewayPolicyGroups[_].id == STRING
    input.Body.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].name == STRING
    input.Body.properties.vpnClientConfiguration.vngClientConnectionConfigurations[_].id == STRING
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].properties.isDefault == BOOLEAN
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].properties.priority == INTEGER
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].name == STRING
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeType == enum_VirtualNetworkGatewayPolicyGroupMemberAttributeType[_]
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].properties.policyMembers[_].attributeValue == STRING
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].name == STRING
    input.Body.properties.virtualNetworkGatewayPolicyGroups[_].id == STRING
    input.Body.properties.bgpSettings.asn == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.customRoutes.addressPrefixes[_] == STRING
    input.Body.properties.enableDnsForwarding == BOOLEAN
    input.Body.properties.vNetExtendedLocationResourceId == STRING
    input.Body.properties.natRules[_].properties.type == enum_VirtualNetworkGatewayNatRulePropertiesType[_]
    input.Body.properties.natRules[_].properties.mode == enum_VirtualNetworkGatewayNatRulePropertiesMode[_]
    input.Body.properties.natRules[_].properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.natRules[_].properties.internalMappings[_].portRange == STRING
    input.Body.properties.natRules[_].properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.natRules[_].properties.externalMappings[_].portRange == STRING
    input.Body.properties.natRules[_].properties.ipConfigurationId == STRING
    input.Body.properties.natRules[_].name == STRING
    input.Body.properties.natRules[_].id == STRING
    input.Body.properties.enableBgpRouteTranslationForNat == BOOLEAN
    input.Body.properties.allowVirtualWanTraffic == BOOLEAN
    input.Body.properties.allowRemoteVnetTraffic == BOOLEAN
    input.Body.properties.adminState == enum_VirtualNetworkGatewayPropertiesFormatAdminState[_]
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_DisconnectVirtualNetworkGatewayVpnConnections

valid {
    input.Body.vpnConnectionIds[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GenerateVpnProfile

enum_AuthenticationMethod := [ "EAPTLS", "EAPMSCHAPv2" ]
enum_VpnClientParametersProcessorArchitecture := [ "Amd64", "X86" ]

valid {
    input.Body.processorArchitecture == enum_VpnClientParametersProcessorArchitecture[_]
    input.Body.authenticationMethod == enum_AuthenticationMethod[_]
    input.Body.radiusServerAuthCertificate == STRING
    input.Body.clientRootCertificates[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_Generatevpnclientpackage

enum_AuthenticationMethod := [ "EAPTLS", "EAPMSCHAPv2" ]
enum_VpnClientParametersProcessorArchitecture := [ "Amd64", "X86" ]

valid {
    input.Body.processorArchitecture == enum_VpnClientParametersProcessorArchitecture[_]
    input.Body.authenticationMethod == enum_AuthenticationMethod[_]
    input.Body.radiusServerAuthCertificate == STRING
    input.Body.clientRootCertificates[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetAdvertisedRoutes

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.peer == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetBgpPeerStatus

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.peer == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetLearnedRoutes

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetVpnProfilePackageUrl

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetVpnclientConnectionHealth

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_GetVpnclientIpsecParameters

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_ListConnections

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_Reset

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.gatewayVip == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_ResetVpnClientSharedKey

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_SetVpnclientIpsecParameters

enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]

valid {
    input.Body.saLifeTimeSeconds == INTEGER
    input.Body.saDataSizeKilobytes == INTEGER
    input.Body.ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.ikeEncryption == enum_IkeEncryption[_]
    input.Body.ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.dhGroup == enum_DhGroup[_]
    input.Body.pfsGroup == enum_PfsGroup[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_StartPacketCapture

valid {
    input.Body.filterData == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_StopPacketCapture

valid {
    input.Body.sasUrl == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_SupportedVpnDevices

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkGateways_VpnDeviceConfigurationScript

valid {
    input.Body.vendor == STRING
    input.Body.deviceFamily == STRING
    input.Body.firmwareVersion == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkGatewayConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkLinks_CreateOrUpdate

valid {
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.metadata.STRING == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.virtualNetworkLinkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkLinks_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.virtualNetworkLinkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkLinks_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.virtualNetworkLinkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkLinks_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.Qs.api-version == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkLinks_Update

valid {
    input.Body.properties.metadata.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dnsForwardingRulesetName == STRING
    input.ReqMap.virtualNetworkLinkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkPeerings_CreateOrUpdate

enum_SyncRemoteAddressSpaceParameter := [ "true" ]
enum_VirtualNetworkPeeringPropertiesFormatPeeringState := [ "Initiated", "Connected", "Disconnected" ]
enum_VirtualNetworkPeeringPropertiesFormatPeeringSyncLevel := [ "FullyInSync", "RemoteNotInSync", "LocalNotInSync", "LocalAndRemoteNotInSync" ]

valid {
    input.Body.properties.allowVirtualNetworkAccess == BOOLEAN
    input.Body.properties.allowForwardedTraffic == BOOLEAN
    input.Body.properties.allowGatewayTransit == BOOLEAN
    input.Body.properties.useRemoteGateways == BOOLEAN
    input.Body.properties.remoteVirtualNetwork.id == STRING
    input.Body.properties.localAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.localVirtualNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.remoteAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.remoteVirtualNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.remoteBgpCommunities.virtualNetworkCommunity == STRING
    input.Body.properties.peeringState == enum_VirtualNetworkPeeringPropertiesFormatPeeringState[_]
    input.Body.properties.peeringSyncLevel == enum_VirtualNetworkPeeringPropertiesFormatPeeringSyncLevel[_]
    input.Body.properties.doNotVerifyRemoteGateways == BOOLEAN
    input.Body.properties.peerCompleteVnets == BOOLEAN
    input.Body.properties.enableOnlyIPv6Peering == BOOLEAN
    input.Body.properties.localSubnetNames[_] == STRING
    input.Body.properties.remoteSubnetNames[_] == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.virtualNetworkPeeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.syncRemoteAddressSpace == enum_SyncRemoteAddressSpaceParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkPeerings_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.virtualNetworkPeeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkPeerings_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.virtualNetworkPeeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkPeerings_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkTaps_CreateOrUpdate

enum_BackendAddressPoolPropertiesFormatSyncMode := [ "Automatic", "Manual" ]
enum_DdosSettingsProtectionMode := [ "VirtualNetworkInherited", "Enabled", "Disabled" ]
enum_ExtendedLocationType := [ "EdgeZone" ]
enum_GatewayLoadBalancerTunnelInterfaceProtocol := [ "None", "Native", "VXLAN" ]
enum_GatewayLoadBalancerTunnelInterfaceType := [ "None", "Internal", "External" ]
enum_IPAllocationMethod := [ "Static", "Dynamic" ]
enum_IPVersion := [ "IPv4", "IPv6" ]
enum_LoadBalancerBackendAddressPropertiesFormatAdminState := [ "None", "Up", "Down" ]
enum_NatGatewaySkuName := [ "Standard" ]
enum_PublicIPAddressDnsSettingsDomainNameLabelScope := [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ]
enum_PublicIPAddressPropertiesFormatDeleteOption := [ "Delete", "Detach" ]
enum_PublicIPAddressPropertiesFormatMigrationPhase := [ "None", "Prepare", "Commit", "Abort", "Committed" ]
enum_PublicIPAddressSkuName := [ "Basic", "Standard" ]
enum_PublicIPAddressSkuTier := [ "Regional", "Global" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]
enum_TransportProtocol := [ "Udp", "Tcp", "All" ]

valid {
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.virtualNetworkTaps[_].properties == NESTED
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.virtualNetworkTaps[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.virtualNetworkTaps[_].location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.virtualNetworkTaps[_].tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].fqdn == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].properties.backendAddresses[_].ipAddress == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationGatewayBackendAddressPools[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].port == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].identifier == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].protocol == enum_GatewayLoadBalancerTunnelInterfaceProtocol[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.tunnelInterfaces[_].type == enum_GatewayLoadBalancerTunnelInterfaceType[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.virtualNetwork.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.subnet.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.ipAddress == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.loadBalancerFrontendIPConfiguration.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].properties.adminState == enum_LoadBalancerBackendAddressPropertiesFormatAdminState[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.loadBalancerBackendAddresses[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.drainPeriodInSeconds == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.virtualNetwork.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].properties.syncMode == enum_BackendAddressPoolPropertiesFormatSyncMode[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerBackendAddressPools[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendIPConfiguration.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.protocol == enum_TransportProtocol[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPort == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.backendPort == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.enableFloatingIP == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.enableTcpReset == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeStart == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.frontendPortRangeEnd == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].properties.backendAddressPool.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.loadBalancerInboundNatRules[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddress == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddressPrefixLength == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.subnet.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.primary == BOOLEAN
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.properties.applicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.name == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.type == STRING
    input.Body.properties.destinationNetworkInterfaceIPConfiguration.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddress == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.privateIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefix == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.addressPrefixes[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.routeTable.tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.natGateway.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].service == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.ipAllocations[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].type == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.delegations[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.type == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.subnet.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAllocationMethod == enum_IPAllocationMethod[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPAddressVersion == enum_IPVersion[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabel == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.domainNameLabelScope == enum_PublicIPAddressDnsSettingsDomainNameLabelScope[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.fqdn == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.dnsSettings.reverseFqdn == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.protectionMode == enum_DdosSettingsProtectionMode[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ddosSettings.ddosProtectionPlan.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].ipTagType == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipTags[_].tag == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.ipAddress == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.publicIPPrefix.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.properties == NESTED
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.servicePublicIPAddress.zones[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.sku.name == enum_NatGatewaySkuName[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.idleTimeoutInMinutes == INTEGER
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpAddresses[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.properties.publicIpPrefixes[_].id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.zones[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.natGateway.tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.migrationPhase == enum_PublicIPAddressPropertiesFormatMigrationPhase[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.name == enum_PublicIPAddressSkuName[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.sku.tier == enum_PublicIPAddressSkuTier[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.properties == NESTED
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.linkedPublicIPAddress.zones[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.properties.deleteOption == enum_PublicIPAddressPropertiesFormatDeleteOption[_]
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.zones[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.location == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPAddress.tags.STRING == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.publicIPPrefix.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.properties.gatewayLoadBalancer.id == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.name == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.zones[_] == STRING
    input.Body.properties.destinationLoadBalancerFrontEndIPConfiguration.id == STRING
    input.Body.properties.destinationPort == INTEGER
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.tapName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkTaps_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.tapName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkTaps_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.tapName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkTaps_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualNetworkTaps_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworkTaps_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.tapName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_CheckIPAddressAvailability

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.ipAddress == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_CreateOrUpdate

enum_ExtendedLocationType := [ "EdgeZone" ]
enum_RouteNextHopType := [ "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None" ]
enum_SecurityRuleAccess := [ "Allow", "Deny" ]
enum_SecurityRuleDirection := [ "Inbound", "Outbound" ]
enum_SecurityRulePropertiesFormatProtocol := [ "Tcp", "Udp", "Icmp", "Esp", "*", "Ah" ]
enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies := [ "Enabled", "Disabled", "NetworkSecurityGroupEnabled", "RouteTableEnabled" ]
enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies := [ "Enabled", "Disabled" ]
enum_SubnetPropertiesFormatSharingScope := [ "Tenant", "DelegatedServices" ]
enum_VirtualNetworkEncryptionEnforcement := [ "DropUnencrypted", "AllowUnencrypted" ]
enum_VirtualNetworkPeeringPropertiesFormatPeeringState := [ "Initiated", "Connected", "Disconnected" ]
enum_VirtualNetworkPeeringPropertiesFormatPeeringSyncLevel := [ "FullyInSync", "RemoteNotInSync", "LocalNotInSync", "LocalAndRemoteNotInSync" ]

valid {
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.properties.addressSpace.addressPrefixes[_] == STRING
    input.Body.properties.dhcpOptions.dnsServers[_] == STRING
    input.Body.properties.flowTimeoutInMinutes == INTEGER
    input.Body.properties.subnets[_].properties.addressPrefix == STRING
    input.Body.properties.subnets[_].properties.addressPrefixes[_] == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.flushConnection == BOOLEAN
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.description == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.protocol == enum_SecurityRulePropertiesFormatProtocol[_]
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRange == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRange == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefix == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceAddressPrefixes[_] == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourceApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefix == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationAddressPrefixes[_] == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].properties == {}
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].id == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].location == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationApplicationSecurityGroups[_].tags.STRING == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.sourcePortRanges[_] == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.destinationPortRanges[_] == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.access == enum_SecurityRuleAccess[_]
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.priority == INTEGER
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].properties.direction == enum_SecurityRuleDirection[_]
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].name == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].type == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.properties.securityRules[_].id == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.id == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.location == STRING
    input.Body.properties.subnets[_].properties.networkSecurityGroup.tags.STRING == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].properties.addressPrefix == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].properties.nextHopType == enum_RouteNextHopType[_]
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].properties.nextHopIpAddress == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].properties.hasBgpOverride == BOOLEAN
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].name == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].type == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.routes[_].id == STRING
    input.Body.properties.subnets[_].properties.routeTable.properties.disableBgpRoutePropagation == BOOLEAN
    input.Body.properties.subnets[_].properties.routeTable.id == STRING
    input.Body.properties.subnets[_].properties.routeTable.location == STRING
    input.Body.properties.subnets[_].properties.routeTable.tags.STRING == STRING
    input.Body.properties.subnets[_].properties.natGateway.id == STRING
    input.Body.properties.subnets[_].properties.serviceEndpoints[_].service == STRING
    input.Body.properties.subnets[_].properties.serviceEndpoints[_].locations[_] == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.description == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.service == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].properties.serviceResources[_] == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].name == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].type == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceEndpointPolicyDefinitions[_].id == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.serviceAlias == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].properties.contextualServiceEndpointPolicies[_] == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].id == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].location == STRING
    input.Body.properties.subnets[_].properties.serviceEndpointPolicies[_].tags.STRING == STRING
    input.Body.properties.subnets[_].properties.ipAllocations[_].id == STRING
    input.Body.properties.subnets[_].properties.delegations[_].properties.serviceName == STRING
    input.Body.properties.subnets[_].properties.delegations[_].name == STRING
    input.Body.properties.subnets[_].properties.delegations[_].type == STRING
    input.Body.properties.subnets[_].properties.delegations[_].id == STRING
    input.Body.properties.subnets[_].properties.privateEndpointNetworkPolicies == enum_SubnetPropertiesFormatPrivateEndpointNetworkPolicies[_]
    input.Body.properties.subnets[_].properties.privateLinkServiceNetworkPolicies == enum_SubnetPropertiesFormatPrivateLinkServiceNetworkPolicies[_]
    input.Body.properties.subnets[_].properties.applicationGatewayIPConfigurations[_].properties.subnet.id == STRING
    input.Body.properties.subnets[_].properties.applicationGatewayIPConfigurations[_].name == STRING
    input.Body.properties.subnets[_].properties.applicationGatewayIPConfigurations[_].id == STRING
    input.Body.properties.subnets[_].properties.sharingScope == enum_SubnetPropertiesFormatSharingScope[_]
    input.Body.properties.subnets[_].properties.defaultOutboundAccess == BOOLEAN
    input.Body.properties.subnets[_].name == STRING
    input.Body.properties.subnets[_].type == STRING
    input.Body.properties.subnets[_].id == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.allowVirtualNetworkAccess == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.allowForwardedTraffic == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.allowGatewayTransit == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.useRemoteGateways == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.remoteVirtualNetwork.id == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.localAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.localVirtualNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.remoteAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.remoteVirtualNetworkAddressSpace.addressPrefixes[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.remoteBgpCommunities.virtualNetworkCommunity == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.peeringState == enum_VirtualNetworkPeeringPropertiesFormatPeeringState[_]
    input.Body.properties.virtualNetworkPeerings[_].properties.peeringSyncLevel == enum_VirtualNetworkPeeringPropertiesFormatPeeringSyncLevel[_]
    input.Body.properties.virtualNetworkPeerings[_].properties.doNotVerifyRemoteGateways == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.peerCompleteVnets == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.enableOnlyIPv6Peering == BOOLEAN
    input.Body.properties.virtualNetworkPeerings[_].properties.localSubnetNames[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].properties.remoteSubnetNames[_] == STRING
    input.Body.properties.virtualNetworkPeerings[_].name == STRING
    input.Body.properties.virtualNetworkPeerings[_].type == STRING
    input.Body.properties.virtualNetworkPeerings[_].id == STRING
    input.Body.properties.enableDdosProtection == BOOLEAN
    input.Body.properties.enableVmProtection == BOOLEAN
    input.Body.properties.ddosProtectionPlan.id == STRING
    input.Body.properties.bgpCommunities.virtualNetworkCommunity == STRING
    input.Body.properties.encryption.enabled == BOOLEAN
    input.Body.properties.encryption.enforcement == enum_VirtualNetworkEncryptionEnforcement[_]
    input.Body.properties.ipAllocations[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_GetBastionHosts

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualNetworks_ListDdosProtectionStatus

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.top == INTEGER
    input.Qs.skipToken == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_ListUsage

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouterPeerings_CreateOrUpdate

valid {
    input.Body.properties.peerAsn == INTEGER
    input.Body.properties.peerIp == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouterPeerings_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouterPeerings_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouterPeerings_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouterPeerings_Update

valid {
    input.Body.properties.peerAsn == INTEGER
    input.Body.properties.peerIp == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.peeringName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouters_CreateOrUpdate

valid {
    input.Body.properties.virtualRouterAsn == INTEGER
    input.Body.properties.virtualRouterIps[_] == STRING
    input.Body.properties.hostedSubnet.id == STRING
    input.Body.properties.hostedGateway.id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouters_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouters_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouters_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualRouters_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualRouters_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualRouterName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualWans_CreateOrUpdate

valid {
    input.Body.properties.disableVpnEncryption == BOOLEAN
    input.Body.properties.allowBranchToBranchTraffic == BOOLEAN
    input.Body.properties.allowVnetToVnetTraffic == BOOLEAN
    input.Body.properties.type == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.VirtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualWans_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.VirtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualWans_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.VirtualWANName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualWans_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VirtualWans_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualWans_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.VirtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_CreateOrUpdate

enum_ConnectionProtocol := [ "IKEv2", "IKEv1" ]
enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]
enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]
enum_VpnSiteLinkConnectionPropertiesVpnLinkConnectionMode := [ "Default", "ResponderOnly", "InitiatorOnly" ]

valid {
    input.Body.properties.remoteVpnSite.id == STRING
    input.Body.properties.routingWeight == INTEGER
    input.Body.properties.dpdTimeoutSeconds == INTEGER
    input.Body.properties.vpnConnectionProtocolType == enum_ConnectionProtocol[_]
    input.Body.properties.connectionBandwidth == INTEGER
    input.Body.properties.sharedKey == STRING
    input.Body.properties.enableBgp == BOOLEAN
    input.Body.properties.usePolicyBasedTrafficSelectors == BOOLEAN
    input.Body.properties.ipsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.ipsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.ipsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.ipsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.ipsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.ipsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.ipsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.ipsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.trafficSelectorPolicies[_].localAddressRanges[_] == STRING
    input.Body.properties.trafficSelectorPolicies[_].remoteAddressRanges[_] == STRING
    input.Body.properties.enableRateLimiting == BOOLEAN
    input.Body.properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.useLocalAzureIpAddress == BOOLEAN
    input.Body.properties.vpnLinkConnections[_].properties.vpnSiteLink.id == STRING
    input.Body.properties.vpnLinkConnections[_].properties.routingWeight == INTEGER
    input.Body.properties.vpnLinkConnections[_].properties.vpnLinkConnectionMode == enum_VpnSiteLinkConnectionPropertiesVpnLinkConnectionMode[_]
    input.Body.properties.vpnLinkConnections[_].properties.vpnConnectionProtocolType == enum_ConnectionProtocol[_]
    input.Body.properties.vpnLinkConnections[_].properties.connectionBandwidth == INTEGER
    input.Body.properties.vpnLinkConnections[_].properties.sharedKey == STRING
    input.Body.properties.vpnLinkConnections[_].properties.enableBgp == BOOLEAN
    input.Body.properties.vpnLinkConnections[_].properties.vpnGatewayCustomBgpAddresses[_].ipConfigurationId == STRING
    input.Body.properties.vpnLinkConnections[_].properties.vpnGatewayCustomBgpAddresses[_].customBgpIpAddress == STRING
    input.Body.properties.vpnLinkConnections[_].properties.usePolicyBasedTrafficSelectors == BOOLEAN
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.vpnLinkConnections[_].properties.ipsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.vpnLinkConnections[_].properties.enableRateLimiting == BOOLEAN
    input.Body.properties.vpnLinkConnections[_].properties.useLocalAzureIpAddress == BOOLEAN
    input.Body.properties.vpnLinkConnections[_].properties.ingressNatRules[_].id == STRING
    input.Body.properties.vpnLinkConnections[_].properties.egressNatRules[_].id == STRING
    input.Body.properties.vpnLinkConnections[_].properties.dpdTimeoutSeconds == INTEGER
    input.Body.properties.vpnLinkConnections[_].name == STRING
    input.Body.properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_ListByVpnGateway

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_StartPacketCapture

valid {
    input.Body.filterData == STRING
    input.Body.linkConnectionNames[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.vpnConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnConnections_StopPacketCapture

valid {
    input.Body.sasUrl == STRING
    input.Body.linkConnectionNames[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.vpnConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_CreateOrUpdate

enum_ConnectionProtocol := [ "IKEv2", "IKEv1" ]
enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]
enum_VnetLocalRouteOverrideCriteria := [ "Contains", "Equal" ]
enum_VpnGatewayNatRulePropertiesMode := [ "EgressSnat", "IngressSnat" ]
enum_VpnGatewayNatRulePropertiesType := [ "Static", "Dynamic" ]
enum_VpnSiteLinkConnectionPropertiesVpnLinkConnectionMode := [ "Default", "ResponderOnly", "InitiatorOnly" ]

valid {
    input.Body.properties.virtualHub.id == STRING
    input.Body.properties.connections[_].properties.remoteVpnSite.id == STRING
    input.Body.properties.connections[_].properties.routingWeight == INTEGER
    input.Body.properties.connections[_].properties.dpdTimeoutSeconds == INTEGER
    input.Body.properties.connections[_].properties.vpnConnectionProtocolType == enum_ConnectionProtocol[_]
    input.Body.properties.connections[_].properties.connectionBandwidth == INTEGER
    input.Body.properties.connections[_].properties.sharedKey == STRING
    input.Body.properties.connections[_].properties.enableBgp == BOOLEAN
    input.Body.properties.connections[_].properties.usePolicyBasedTrafficSelectors == BOOLEAN
    input.Body.properties.connections[_].properties.ipsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.connections[_].properties.ipsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.connections[_].properties.ipsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.connections[_].properties.ipsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.connections[_].properties.ipsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.connections[_].properties.ipsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.connections[_].properties.ipsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.connections[_].properties.ipsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.connections[_].properties.trafficSelectorPolicies[_].localAddressRanges[_] == STRING
    input.Body.properties.connections[_].properties.trafficSelectorPolicies[_].remoteAddressRanges[_] == STRING
    input.Body.properties.connections[_].properties.enableRateLimiting == BOOLEAN
    input.Body.properties.connections[_].properties.enableInternetSecurity == BOOLEAN
    input.Body.properties.connections[_].properties.useLocalAzureIpAddress == BOOLEAN
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.vpnSiteLink.id == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.routingWeight == INTEGER
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.vpnLinkConnectionMode == enum_VpnSiteLinkConnectionPropertiesVpnLinkConnectionMode[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.vpnConnectionProtocolType == enum_ConnectionProtocol[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.connectionBandwidth == INTEGER
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.sharedKey == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.enableBgp == BOOLEAN
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.vpnGatewayCustomBgpAddresses[_].ipConfigurationId == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.vpnGatewayCustomBgpAddresses[_].customBgpIpAddress == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.usePolicyBasedTrafficSelectors == BOOLEAN
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ipsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.enableRateLimiting == BOOLEAN
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.useLocalAzureIpAddress == BOOLEAN
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.ingressNatRules[_].id == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.egressNatRules[_].id == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].properties.dpdTimeoutSeconds == INTEGER
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].name == STRING
    input.Body.properties.connections[_].properties.vpnLinkConnections[_].id == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.associatedRouteTable.id == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.propagatedRouteTables.labels[_] == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.propagatedRouteTables.ids[_].id == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.vnetRoutes.staticRoutesConfig.vnetLocalRouteOverrideCriteria == enum_VnetLocalRouteOverrideCriteria[_]
    input.Body.properties.connections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].name == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].addressPrefixes[_] == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.vnetRoutes.staticRoutes[_].nextHopIpAddress == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.inboundRouteMap.id == STRING
    input.Body.properties.connections[_].properties.routingConfiguration.outboundRouteMap.id == STRING
    input.Body.properties.connections[_].name == STRING
    input.Body.properties.connections[_].id == STRING
    input.Body.properties.bgpSettings.asn == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddress == STRING
    input.Body.properties.bgpSettings.peerWeight == INTEGER
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.bgpSettings.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.vpnGatewayScaleUnit == INTEGER
    input.Body.properties.enableBgpRouteTranslationForNat == BOOLEAN
    input.Body.properties.isRoutingPreferenceInternet == BOOLEAN
    input.Body.properties.natRules[_].properties.type == enum_VpnGatewayNatRulePropertiesType[_]
    input.Body.properties.natRules[_].properties.mode == enum_VpnGatewayNatRulePropertiesMode[_]
    input.Body.properties.natRules[_].properties.internalMappings[_].addressSpace == STRING
    input.Body.properties.natRules[_].properties.internalMappings[_].portRange == STRING
    input.Body.properties.natRules[_].properties.externalMappings[_].addressSpace == STRING
    input.Body.properties.natRules[_].properties.externalMappings[_].portRange == STRING
    input.Body.properties.natRules[_].properties.ipConfigurationId == STRING
    input.Body.properties.natRules[_].name == STRING
    input.Body.properties.natRules[_].id == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VpnGateways_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_Reset

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.ipConfigurationId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_StartPacketCapture

valid {
    input.Body.filterData == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_StopPacketCapture

valid {
    input.Body.sasUrl == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnGateways_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnLinkConnections_GetIkeSas

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.linkConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnLinkConnections_ListByVpnConnection

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnLinkConnections_ResetConnection

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.linkConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurationsAssociatedWithVirtualWan_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurations_CreateOrUpdate

enum_DhGroup := [ "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", "DHGroup24" ]
enum_IkeEncryption := [ "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128" ]
enum_IkeIntegrity := [ "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128" ]
enum_IpsecEncryption := [ "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_IpsecIntegrity := [ "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256" ]
enum_PfsGroup := [ "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM" ]
enum_VpnServerConfigurationPolicyGroupMemberAttributeType := [ "CertificateGroupId", "AADGroupId", "RadiusAzureGroupId" ]
enum_VpnServerConfigurationPropertiesVpnAuthenticationTypes := [ "Certificate", "Radius", "AAD" ]
enum_VpnServerConfigurationPropertiesVpnProtocols := [ "IkeV2", "OpenVPN" ]

valid {
    input.Body.properties.name == STRING
    input.Body.properties.vpnProtocols[_] == enum_VpnServerConfigurationPropertiesVpnProtocols[_]
    input.Body.properties.vpnAuthenticationTypes[_] == enum_VpnServerConfigurationPropertiesVpnAuthenticationTypes[_]
    input.Body.properties.vpnClientRootCertificates[_].name == STRING
    input.Body.properties.vpnClientRootCertificates[_].publicCertData == STRING
    input.Body.properties.vpnClientRevokedCertificates[_].name == STRING
    input.Body.properties.vpnClientRevokedCertificates[_].thumbprint == STRING
    input.Body.properties.radiusServerRootCertificates[_].name == STRING
    input.Body.properties.radiusServerRootCertificates[_].publicCertData == STRING
    input.Body.properties.radiusClientRootCertificates[_].name == STRING
    input.Body.properties.radiusClientRootCertificates[_].thumbprint == STRING
    input.Body.properties.vpnClientIpsecPolicies[_].saLifeTimeSeconds == INTEGER
    input.Body.properties.vpnClientIpsecPolicies[_].saDataSizeKilobytes == INTEGER
    input.Body.properties.vpnClientIpsecPolicies[_].ipsecEncryption == enum_IpsecEncryption[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ipsecIntegrity == enum_IpsecIntegrity[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ikeEncryption == enum_IkeEncryption[_]
    input.Body.properties.vpnClientIpsecPolicies[_].ikeIntegrity == enum_IkeIntegrity[_]
    input.Body.properties.vpnClientIpsecPolicies[_].dhGroup == enum_DhGroup[_]
    input.Body.properties.vpnClientIpsecPolicies[_].pfsGroup == enum_PfsGroup[_]
    input.Body.properties.radiusServerAddress == STRING
    input.Body.properties.radiusServerSecret == STRING
    input.Body.properties.radiusServers[_].radiusServerAddress == STRING
    input.Body.properties.radiusServers[_].radiusServerScore == INTEGER
    input.Body.properties.radiusServers[_].radiusServerSecret == STRING
    input.Body.properties.aadAuthenticationParameters.aadTenant == STRING
    input.Body.properties.aadAuthenticationParameters.aadAudience == STRING
    input.Body.properties.aadAuthenticationParameters.aadIssuer == STRING
    input.Body.properties.configurationPolicyGroups[_].properties.isDefault == BOOLEAN
    input.Body.properties.configurationPolicyGroups[_].properties.priority == INTEGER
    input.Body.properties.configurationPolicyGroups[_].properties.policyMembers[_].name == STRING
    input.Body.properties.configurationPolicyGroups[_].properties.policyMembers[_].attributeType == enum_VpnServerConfigurationPolicyGroupMemberAttributeType[_]
    input.Body.properties.configurationPolicyGroups[_].properties.policyMembers[_].attributeValue == STRING
    input.Body.properties.configurationPolicyGroups[_].name == STRING
    input.Body.properties.configurationPolicyGroups[_].id == STRING
    input.Body.name == STRING
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurations_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurations_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VpnServerConfigurations_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnServerConfigurations_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSiteLinkConnections_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.linkConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSiteLinks_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.ReqMap.vpnSiteLinkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSiteLinks_ListByVpnSite

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSitesConfiguration_Download

valid {
    input.Body.vpnSites[_] == STRING
    input.Body.outputBlobSasUrl == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSites_CreateOrUpdate

valid {
    input.Body.properties.virtualWan.id == STRING
    input.Body.properties.deviceProperties.deviceVendor == STRING
    input.Body.properties.deviceProperties.deviceModel == STRING
    input.Body.properties.deviceProperties.linkSpeedInMbps == INTEGER
    input.Body.properties.ipAddress == STRING
    input.Body.properties.siteKey == STRING
    input.Body.properties.addressSpace.addressPrefixes[_] == STRING
    input.Body.properties.bgpProperties.asn == INTEGER
    input.Body.properties.bgpProperties.bgpPeeringAddress == STRING
    input.Body.properties.bgpProperties.peerWeight == INTEGER
    input.Body.properties.bgpProperties.bgpPeeringAddresses[_].ipconfigurationId == STRING
    input.Body.properties.bgpProperties.bgpPeeringAddresses[_].customBgpIpAddresses[_] == STRING
    input.Body.properties.isSecuritySite == BOOLEAN
    input.Body.properties.vpnSiteLinks[_].properties.linkProperties.linkProviderName == STRING
    input.Body.properties.vpnSiteLinks[_].properties.linkProperties.linkSpeedInMbps == INTEGER
    input.Body.properties.vpnSiteLinks[_].properties.ipAddress == STRING
    input.Body.properties.vpnSiteLinks[_].properties.fqdn == STRING
    input.Body.properties.vpnSiteLinks[_].properties.bgpProperties.asn == INTEGER
    input.Body.properties.vpnSiteLinks[_].properties.bgpProperties.bgpPeeringAddress == STRING
    input.Body.properties.vpnSiteLinks[_].name == STRING
    input.Body.properties.vpnSiteLinks[_].id == STRING
    input.Body.properties.o365Policy.breakOutCategories.allow == BOOLEAN
    input.Body.properties.o365Policy.breakOutCategories.optimize == BOOLEAN
    input.Body.properties.o365Policy.breakOutCategories.default == BOOLEAN
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSites_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSites_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSites_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

VpnSites_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VpnSites_UpdateTags

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnSiteName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApplicationFirewallPolicies_CreateOrUpdate

enum_ActionType := [ "AnomalyScoring", "Allow", "Block", "Log", "JSChallenge" ]
enum_GroupByVariableVariableName := [ "ClientAddr", "GeoLocation", "None" ]
enum_ManagedRuleOverrideState := [ "Disabled", "Enabled" ]
enum_MatchConditionOperator := [ "IPMatch", "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "Regex", "GeoMatch", "Any" ]
enum_MatchVariableVariableName := [ "RemoteAddr", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeaders", "RequestBody", "RequestCookies" ]
enum_OwaspCrsExclusionEntryMatchVariable := [ "RequestHeaderNames", "RequestCookieNames", "RequestArgNames", "RequestHeaderKeys", "RequestHeaderValues", "RequestCookieKeys", "RequestCookieValues", "RequestArgKeys", "RequestArgValues" ]
enum_OwaspCrsExclusionEntrySelectorMatchOperator := [ "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny" ]
enum_PolicySettingsLogScrubbingState := [ "Disabled", "Enabled" ]
enum_PolicySettingsMode := [ "Prevention", "Detection" ]
enum_PolicySettingsState := [ "Disabled", "Enabled" ]
enum_Transform := [ "Uppercase", "Lowercase", "Trim", "UrlDecode", "UrlEncode", "RemoveNulls", "HtmlEntityDecode" ]
enum_WebApplicationFirewallCustomRuleAction := [ "Allow", "Block", "Log", "JSChallenge" ]
enum_WebApplicationFirewallCustomRuleRateLimitDuration := [ "OneMin", "FiveMins" ]
enum_WebApplicationFirewallCustomRuleRuleType := [ "MatchRule", "RateLimitRule", "Invalid" ]
enum_WebApplicationFirewallCustomRuleState := [ "Disabled", "Enabled" ]
enum_WebApplicationFirewallScrubbingRulesMatchVariable := [ "RequestHeaderNames", "RequestCookieNames", "RequestArgNames", "RequestPostArgNames", "RequestJSONArgNames", "RequestIPAddress" ]
enum_WebApplicationFirewallScrubbingRulesSelectorMatchOperator := [ "Equals", "EqualsAny" ]
enum_WebApplicationFirewallScrubbingRulesState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.policySettings.state == enum_PolicySettingsState[_]
    input.Body.properties.policySettings.mode == enum_PolicySettingsMode[_]
    input.Body.properties.policySettings.requestBodyCheck == BOOLEAN
    input.Body.properties.policySettings.requestBodyInspectLimitInKB == INTEGER
    input.Body.properties.policySettings.requestBodyEnforcement == BOOLEAN
    input.Body.properties.policySettings.maxRequestBodySizeInKb == INTEGER
    input.Body.properties.policySettings.fileUploadEnforcement == BOOLEAN
    input.Body.properties.policySettings.fileUploadLimitInMb == INTEGER
    input.Body.properties.policySettings.customBlockResponseStatusCode == INTEGER
    input.Body.properties.policySettings.customBlockResponseBody == STRING
    input.Body.properties.policySettings.logScrubbing.state == enum_PolicySettingsLogScrubbingState[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].matchVariable == enum_WebApplicationFirewallScrubbingRulesMatchVariable[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].selectorMatchOperator == enum_WebApplicationFirewallScrubbingRulesSelectorMatchOperator[_]
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].selector == STRING
    input.Body.properties.policySettings.logScrubbing.scrubbingRules[_].state == enum_WebApplicationFirewallScrubbingRulesState[_]
    input.Body.properties.policySettings.jsChallengeCookieExpirationInMins == INTEGER
    input.Body.properties.customRules[_].name == STRING
    input.Body.properties.customRules[_].priority == INTEGER
    input.Body.properties.customRules[_].state == enum_WebApplicationFirewallCustomRuleState[_]
    input.Body.properties.customRules[_].rateLimitDuration == enum_WebApplicationFirewallCustomRuleRateLimitDuration[_]
    input.Body.properties.customRules[_].rateLimitThreshold == INTEGER
    input.Body.properties.customRules[_].ruleType == enum_WebApplicationFirewallCustomRuleRuleType[_]
    input.Body.properties.customRules[_].matchConditions[_].matchVariables[_].variableName == enum_MatchVariableVariableName[_]
    input.Body.properties.customRules[_].matchConditions[_].matchVariables[_].selector == STRING
    input.Body.properties.customRules[_].matchConditions[_].operator == enum_MatchConditionOperator[_]
    input.Body.properties.customRules[_].matchConditions[_].negationConditon == BOOLEAN
    input.Body.properties.customRules[_].matchConditions[_].matchValues[_] == STRING
    input.Body.properties.customRules[_].matchConditions[_].transforms[_] == enum_Transform[_]
    input.Body.properties.customRules[_].groupByUserSession[_].groupByVariables[_].variableName == enum_GroupByVariableVariableName[_]
    input.Body.properties.customRules[_].action == enum_WebApplicationFirewallCustomRuleAction[_]
    input.Body.properties.managedRules.exclusions[_].matchVariable == enum_OwaspCrsExclusionEntryMatchVariable[_]
    input.Body.properties.managedRules.exclusions[_].selectorMatchOperator == enum_OwaspCrsExclusionEntrySelectorMatchOperator[_]
    input.Body.properties.managedRules.exclusions[_].selector == STRING
    input.Body.properties.managedRules.exclusions[_].exclusionManagedRuleSets[_].ruleSetType == STRING
    input.Body.properties.managedRules.exclusions[_].exclusionManagedRuleSets[_].ruleSetVersion == STRING
    input.Body.properties.managedRules.exclusions[_].exclusionManagedRuleSets[_].ruleGroups[_].ruleGroupName == STRING
    input.Body.properties.managedRules.exclusions[_].exclusionManagedRuleSets[_].ruleGroups[_].rules[_].ruleId == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleSetType == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleSetVersion == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].ruleGroupName == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].ruleId == STRING
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].state == enum_ManagedRuleOverrideState[_]
    input.Body.properties.managedRules.managedRuleSets[_].ruleGroupOverrides[_].rules[_].action == enum_ActionType[_]
    input.Body.id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApplicationFirewallPolicies_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApplicationFirewallPolicies_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.policyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApplicationFirewallPolicies_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApplicationFirewallPolicies_ListAll

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

WebCategories_Get

valid {
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

WebCategories_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Zones_CreateOrUpdate

enum_ZonePropertiesZoneType := [ "Public", "Private" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.zoneType == enum_ZonePropertiesZoneType[_]
    input.Body.properties.registrationVirtualNetworks[_].id == STRING
    input.Body.properties.resolutionVirtualNetworks[_].id == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Zones_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Zones_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Zones_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Zones_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == INTEGER
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Zones_ListZonesInResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$top == STRING
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Zones_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.zoneName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

configurationPolicyGroups_ListByVpnServerConfiguration

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vpnServerConfigurationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

generatevirtualwanvpnserverconfigurationvpnprofile

enum_AuthenticationMethod := [ "EAPTLS", "EAPMSCHAPv2" ]

valid {
    input.Body.vpnServerConfigurationResourceId == STRING
    input.Body.authenticationMethod == enum_AuthenticationMethod[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualWANName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}