PALOALTONETWORKS.CLOUDNGFW

CertificateObjectGlobalRulestack_CreateOrUpdate

enum_BooleanEnum := [ "TRUE", "FALSE" ]

valid {
    input.Body.properties.certificateSignerResourceId == STRING
    input.Body.properties.certificateSelfSigned == enum_BooleanEnum[_]
    input.Body.properties.auditComment == STRING
    input.Body.properties.description == STRING
    input.Body.properties.etag == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

CertificateObjectGlobalRulestack_Delete

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

CertificateObjectGlobalRulestack_Get

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

CertificateObjectGlobalRulestack_List

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

CertificateObjectLocalRulestack_CreateOrUpdate

enum_BooleanEnum := [ "TRUE", "FALSE" ]

valid {
    input.Body.properties.certificateSignerResourceId == STRING
    input.Body.properties.certificateSelfSigned == enum_BooleanEnum[_]
    input.Body.properties.auditComment == STRING
    input.Body.properties.description == STRING
    input.Body.properties.etag == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CertificateObjectLocalRulestack_Delete

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

CertificateObjectLocalRulestack_Get

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

CertificateObjectLocalRulestack_ListByLocalRulestacks

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

Firewalls_CreateOrUpdate

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_BillingCycle := [ "WEEKLY", "MONTHLY" ]
enum_BooleanEnum := [ "TRUE", "FALSE" ]
enum_DNSProxy := [ "DISABLED", "ENABLED" ]
enum_EgressNat := [ "DISABLED", "ENABLED" ]
enum_EnabledDNSType := [ "CUSTOM", "AZURE" ]
enum_MarketplaceSubscriptionStatus := [ "PendingFulfillmentStart", "Subscribed", "Suspended", "Unsubscribed", "NotStarted", "FulfillmentRequested" ]
enum_NetworkType := [ "VNET", "VWAN" ]
enum_ProtocolType := [ "TCP", "UDP" ]
enum_UsageType := [ "PAYG", "COMMITTED" ]

valid {
    input.Body.properties.panEtag == STRING
    input.Body.properties.networkProfile.vnetConfiguration.vnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.vnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.trustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.trustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.unTrustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.unTrustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.ipOfTrustSubnetForUdr.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.ipOfTrustSubnetForUdr.address == STRING
    input.Body.properties.networkProfile.vwanConfiguration.networkVirtualApplianceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.vHub.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.vHub.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.trustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.trustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.unTrustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.unTrustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.ipOfTrustSubnetForUdr.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.ipOfTrustSubnetForUdr.address == STRING
    input.Body.properties.networkProfile.networkType == enum_NetworkType[_]
    input.Body.properties.networkProfile.publicIps[_].resourceId == STRING
    input.Body.properties.networkProfile.publicIps[_].address == STRING
    input.Body.properties.networkProfile.enableEgressNat == enum_EgressNat[_]
    input.Body.properties.networkProfile.egressNatIp[_].resourceId == STRING
    input.Body.properties.networkProfile.egressNatIp[_].address == STRING
    input.Body.properties.isPanoramaManaged == enum_BooleanEnum[_]
    input.Body.properties.panoramaConfig.configString == STRING
    input.Body.properties.associatedRulestack.resourceId == STRING
    input.Body.properties.associatedRulestack.rulestackId == STRING
    input.Body.properties.associatedRulestack.location == STRING
    input.Body.properties.dnsSettings.enableDnsProxy == enum_DNSProxy[_]
    input.Body.properties.dnsSettings.enabledDnsType == enum_EnabledDNSType[_]
    input.Body.properties.dnsSettings.dnsServers[_].resourceId == STRING
    input.Body.properties.dnsSettings.dnsServers[_].address == STRING
    input.Body.properties.frontEndSettings[_].name == STRING
    input.Body.properties.frontEndSettings[_].protocol == enum_ProtocolType[_]
    input.Body.properties.frontEndSettings[_].frontendConfiguration.port == STRING
    input.Body.properties.frontEndSettings[_].frontendConfiguration.address.resourceId == STRING
    input.Body.properties.frontEndSettings[_].frontendConfiguration.address.address == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.port == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.address.resourceId == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.address.address == STRING
    input.Body.properties.planData.usageType == enum_UsageType[_]
    input.Body.properties.planData.billingCycle == enum_BillingCycle[_]
    input.Body.properties.planData.planId == STRING
    input.Body.properties.marketplaceDetails.offerId == STRING
    input.Body.properties.marketplaceDetails.publisherId == STRING
    input.Body.properties.marketplaceDetails.marketplaceSubscriptionStatus == enum_MarketplaceSubscriptionStatus[_]
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Firewalls_Delete

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

Firewalls_Get

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

Firewalls_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
}

Firewalls_ListBySubscription

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

Firewalls_Update

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_BillingCycle := [ "WEEKLY", "MONTHLY" ]
enum_BooleanEnum := [ "TRUE", "FALSE" ]
enum_DNSProxy := [ "DISABLED", "ENABLED" ]
enum_EgressNat := [ "DISABLED", "ENABLED" ]
enum_EnabledDNSType := [ "CUSTOM", "AZURE" ]
enum_MarketplaceSubscriptionStatus := [ "PendingFulfillmentStart", "Subscribed", "Suspended", "Unsubscribed", "NotStarted", "FulfillmentRequested" ]
enum_NetworkType := [ "VNET", "VWAN" ]
enum_ProtocolType := [ "TCP", "UDP" ]
enum_UsageType := [ "PAYG", "COMMITTED" ]

valid {
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.tags.STRING == STRING
    input.Body.properties.panEtag == STRING
    input.Body.properties.networkProfile.vnetConfiguration.vnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.vnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.trustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.trustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.unTrustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.unTrustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vnetConfiguration.ipOfTrustSubnetForUdr.resourceId == STRING
    input.Body.properties.networkProfile.vnetConfiguration.ipOfTrustSubnetForUdr.address == STRING
    input.Body.properties.networkProfile.vwanConfiguration.networkVirtualApplianceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.vHub.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.vHub.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.trustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.trustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.unTrustSubnet.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.unTrustSubnet.addressSpace == STRING
    input.Body.properties.networkProfile.vwanConfiguration.ipOfTrustSubnetForUdr.resourceId == STRING
    input.Body.properties.networkProfile.vwanConfiguration.ipOfTrustSubnetForUdr.address == STRING
    input.Body.properties.networkProfile.networkType == enum_NetworkType[_]
    input.Body.properties.networkProfile.publicIps[_].resourceId == STRING
    input.Body.properties.networkProfile.publicIps[_].address == STRING
    input.Body.properties.networkProfile.enableEgressNat == enum_EgressNat[_]
    input.Body.properties.networkProfile.egressNatIp[_].resourceId == STRING
    input.Body.properties.networkProfile.egressNatIp[_].address == STRING
    input.Body.properties.isPanoramaManaged == enum_BooleanEnum[_]
    input.Body.properties.panoramaConfig.configString == STRING
    input.Body.properties.associatedRulestack.resourceId == STRING
    input.Body.properties.associatedRulestack.rulestackId == STRING
    input.Body.properties.associatedRulestack.location == STRING
    input.Body.properties.dnsSettings.enableDnsProxy == enum_DNSProxy[_]
    input.Body.properties.dnsSettings.enabledDnsType == enum_EnabledDNSType[_]
    input.Body.properties.dnsSettings.dnsServers[_].resourceId == STRING
    input.Body.properties.dnsSettings.dnsServers[_].address == STRING
    input.Body.properties.frontEndSettings[_].name == STRING
    input.Body.properties.frontEndSettings[_].protocol == enum_ProtocolType[_]
    input.Body.properties.frontEndSettings[_].frontendConfiguration.port == STRING
    input.Body.properties.frontEndSettings[_].frontendConfiguration.address.resourceId == STRING
    input.Body.properties.frontEndSettings[_].frontendConfiguration.address.address == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.port == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.address.resourceId == STRING
    input.Body.properties.frontEndSettings[_].backendConfiguration.address.address == STRING
    input.Body.properties.planData.usageType == enum_UsageType[_]
    input.Body.properties.planData.billingCycle == enum_BillingCycle[_]
    input.Body.properties.planData.planId == STRING
    input.Body.properties.marketplaceDetails.offerId == STRING
    input.Body.properties.marketplaceDetails.publisherId == STRING
    input.Body.properties.marketplaceDetails.marketplaceSubscriptionStatus == enum_MarketplaceSubscriptionStatus[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Firewalls_getGlobalRulestack

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

Firewalls_getLogProfile

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

Firewalls_getSupportInfo

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

Firewalls_saveLogProfile

enum_LogOption := [ "SAME_DESTINATION", "INDIVIDUAL_DESTINATION" ]
enum_LogType := [ "TRAFFIC", "THREAT", "DECRYPTION", "WILDFIRE", "DLP", "AUDIT" ]

valid {
    input.Body.logType == enum_LogType[_]
    input.Body.logOption == enum_LogOption[_]
    input.Body.applicationInsights.id == STRING
    input.Body.applicationInsights.key == STRING
    input.Body.commonDestination.storageConfigurations.id == STRING
    input.Body.commonDestination.storageConfigurations.subscriptionId == STRING
    input.Body.commonDestination.storageConfigurations.accountName == STRING
    input.Body.commonDestination.eventHubConfigurations.id == STRING
    input.Body.commonDestination.eventHubConfigurations.subscriptionId == STRING
    input.Body.commonDestination.eventHubConfigurations.name == STRING
    input.Body.commonDestination.eventHubConfigurations.nameSpace == STRING
    input.Body.commonDestination.eventHubConfigurations.policyName == STRING
    input.Body.commonDestination.monitorConfigurations.id == STRING
    input.Body.commonDestination.monitorConfigurations.subscriptionId == STRING
    input.Body.commonDestination.monitorConfigurations.workspace == STRING
    input.Body.commonDestination.monitorConfigurations.primaryKey == STRING
    input.Body.commonDestination.monitorConfigurations.secondaryKey == STRING
    input.Body.trafficLogDestination.storageConfigurations.id == STRING
    input.Body.trafficLogDestination.storageConfigurations.subscriptionId == STRING
    input.Body.trafficLogDestination.storageConfigurations.accountName == STRING
    input.Body.trafficLogDestination.eventHubConfigurations.id == STRING
    input.Body.trafficLogDestination.eventHubConfigurations.subscriptionId == STRING
    input.Body.trafficLogDestination.eventHubConfigurations.name == STRING
    input.Body.trafficLogDestination.eventHubConfigurations.nameSpace == STRING
    input.Body.trafficLogDestination.eventHubConfigurations.policyName == STRING
    input.Body.trafficLogDestination.monitorConfigurations.id == STRING
    input.Body.trafficLogDestination.monitorConfigurations.subscriptionId == STRING
    input.Body.trafficLogDestination.monitorConfigurations.workspace == STRING
    input.Body.trafficLogDestination.monitorConfigurations.primaryKey == STRING
    input.Body.trafficLogDestination.monitorConfigurations.secondaryKey == STRING
    input.Body.threatLogDestination.storageConfigurations.id == STRING
    input.Body.threatLogDestination.storageConfigurations.subscriptionId == STRING
    input.Body.threatLogDestination.storageConfigurations.accountName == STRING
    input.Body.threatLogDestination.eventHubConfigurations.id == STRING
    input.Body.threatLogDestination.eventHubConfigurations.subscriptionId == STRING
    input.Body.threatLogDestination.eventHubConfigurations.name == STRING
    input.Body.threatLogDestination.eventHubConfigurations.nameSpace == STRING
    input.Body.threatLogDestination.eventHubConfigurations.policyName == STRING
    input.Body.threatLogDestination.monitorConfigurations.id == STRING
    input.Body.threatLogDestination.monitorConfigurations.subscriptionId == STRING
    input.Body.threatLogDestination.monitorConfigurations.workspace == STRING
    input.Body.threatLogDestination.monitorConfigurations.primaryKey == STRING
    input.Body.threatLogDestination.monitorConfigurations.secondaryKey == STRING
    input.Body.decryptLogDestination.storageConfigurations.id == STRING
    input.Body.decryptLogDestination.storageConfigurations.subscriptionId == STRING
    input.Body.decryptLogDestination.storageConfigurations.accountName == STRING
    input.Body.decryptLogDestination.eventHubConfigurations.id == STRING
    input.Body.decryptLogDestination.eventHubConfigurations.subscriptionId == STRING
    input.Body.decryptLogDestination.eventHubConfigurations.name == STRING
    input.Body.decryptLogDestination.eventHubConfigurations.nameSpace == STRING
    input.Body.decryptLogDestination.eventHubConfigurations.policyName == STRING
    input.Body.decryptLogDestination.monitorConfigurations.id == STRING
    input.Body.decryptLogDestination.monitorConfigurations.subscriptionId == STRING
    input.Body.decryptLogDestination.monitorConfigurations.workspace == STRING
    input.Body.decryptLogDestination.monitorConfigurations.primaryKey == STRING
    input.Body.decryptLogDestination.monitorConfigurations.secondaryKey == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.firewallName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FqdnListGlobalRulestack_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.fqdnList[_] == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.auditComment == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

FqdnListGlobalRulestack_Delete

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

FqdnListGlobalRulestack_Get

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

FqdnListGlobalRulestack_List

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

FqdnListLocalRulestack_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.fqdnList[_] == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.auditComment == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FqdnListLocalRulestack_Delete

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

FqdnListLocalRulestack_Get

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

FqdnListLocalRulestack_ListByLocalRulestacks

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

GlobalRulestack_CreateOrUpdate

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_DefaultMode := [ "IPS", "FIREWALL", "NONE" ]
enum_ScopeType := [ "LOCAL", "GLOBAL" ]

valid {
    input.Body.properties.panEtag == STRING
    input.Body.properties.panLocation == STRING
    input.Body.properties.scope == enum_ScopeType[_]
    input.Body.properties.associatedSubscriptions[_] == STRING
    input.Body.properties.description == STRING
    input.Body.properties.defaultMode == enum_DefaultMode[_]
    input.Body.properties.minAppIdVersion == STRING
    input.Body.properties.securityServices.vulnerabilityProfile == STRING
    input.Body.properties.securityServices.antiSpywareProfile == STRING
    input.Body.properties.securityServices.antiVirusProfile == STRING
    input.Body.properties.securityServices.urlFilteringProfile == STRING
    input.Body.properties.securityServices.fileBlockingProfile == STRING
    input.Body.properties.securityServices.dnsSubscription == STRING
    input.Body.properties.securityServices.outboundUnTrustCertificate == STRING
    input.Body.properties.securityServices.outboundTrustCertificate == STRING
    input.Body.location == STRING
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

GlobalRulestack_Delete

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

GlobalRulestack_Get

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

GlobalRulestack_List

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

GlobalRulestack_Update

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_DefaultMode := [ "IPS", "FIREWALL", "NONE" ]
enum_ScopeType := [ "LOCAL", "GLOBAL" ]

valid {
    input.Body.location == STRING
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.properties.panEtag == STRING
    input.Body.properties.panLocation == STRING
    input.Body.properties.scope == enum_ScopeType[_]
    input.Body.properties.associatedSubscriptions[_] == STRING
    input.Body.properties.description == STRING
    input.Body.properties.defaultMode == enum_DefaultMode[_]
    input.Body.properties.minAppIdVersion == STRING
    input.Body.properties.securityServices.vulnerabilityProfile == STRING
    input.Body.properties.securityServices.antiSpywareProfile == STRING
    input.Body.properties.securityServices.antiVirusProfile == STRING
    input.Body.properties.securityServices.urlFilteringProfile == STRING
    input.Body.properties.securityServices.fileBlockingProfile == STRING
    input.Body.properties.securityServices.dnsSubscription == STRING
    input.Body.properties.securityServices.outboundUnTrustCertificate == STRING
    input.Body.properties.securityServices.outboundTrustCertificate == STRING
    input.ReqMap.globalRulestackName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

GlobalRulestack_commit

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

GlobalRulestack_getChangeLog

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

GlobalRulestack_listAdvancedSecurityObjects

enum_TypeParameter := [ "urlCustom", "feeds" ]

valid {
    input.ReqMap.globalRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

GlobalRulestack_listAppIds

valid {
    input.ReqMap.globalRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.appIdVersion == STRING
    input.Qs.appPrefix == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.ProviderMetadata.Region == STRING
}

GlobalRulestack_listCountries

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

GlobalRulestack_listFirewalls

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

GlobalRulestack_listPredefinedUrlCategories

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

GlobalRulestack_listSecurityServices

enum_TypeParameter := [ "antiSpyware", "antiVirus", "ipsVulnerability", "urlFiltering", "fileBlocking", "dnsSubscription" ]

valid {
    input.ReqMap.globalRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

GlobalRulestack_revert

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

LocalRules_CreateOrUpdate

enum_ActionEnum := [ "Allow", "DenySilent", "DenyResetServer", "DenyResetBoth" ]
enum_BooleanEnum := [ "TRUE", "FALSE" ]
enum_DecryptionRuleTypeEnum := [ "SSLOutboundInspection", "SSLInboundInspection", "None" ]
enum_StateEnum := [ "DISABLED", "ENABLED" ]

valid {
    input.Body.properties.etag == STRING
    input.Body.properties.ruleName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.ruleState == enum_StateEnum[_]
    input.Body.properties.source.cidrs[_] == STRING
    input.Body.properties.source.countries[_] == STRING
    input.Body.properties.source.feeds[_] == STRING
    input.Body.properties.source.prefixLists[_] == STRING
    input.Body.properties.negateSource == enum_BooleanEnum[_]
    input.Body.properties.destination.cidrs[_] == STRING
    input.Body.properties.destination.countries[_] == STRING
    input.Body.properties.destination.feeds[_] == STRING
    input.Body.properties.destination.prefixLists[_] == STRING
    input.Body.properties.destination.fqdnLists[_] == STRING
    input.Body.properties.negateDestination == enum_BooleanEnum[_]
    input.Body.properties.applications[_] == STRING
    input.Body.properties.category.urlCustom[_] == STRING
    input.Body.properties.category.feeds[_] == STRING
    input.Body.properties.protocol == STRING
    input.Body.properties.protocolPortList[_] == STRING
    input.Body.properties.inboundInspectionCertificate == STRING
    input.Body.properties.auditComment == STRING
    input.Body.properties.actionType == enum_ActionEnum[_]
    input.Body.properties.enableLogging == enum_StateEnum[_]
    input.Body.properties.decryptionRuleType == enum_DecryptionRuleTypeEnum[_]
    input.Body.properties.tags[_].key == STRING
    input.Body.properties.tags[_].value == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRules_Delete

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

LocalRules_Get

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

LocalRules_ListByLocalRulestacks

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

LocalRules_getCounters

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

LocalRules_refreshCounters

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

LocalRules_resetCounters

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

LocalRulestacks_CreateOrUpdate

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_DefaultMode := [ "IPS", "FIREWALL", "NONE" ]
enum_ScopeType := [ "LOCAL", "GLOBAL" ]

valid {
    input.Body.properties.panEtag == STRING
    input.Body.properties.panLocation == STRING
    input.Body.properties.scope == enum_ScopeType[_]
    input.Body.properties.associatedSubscriptions[_] == STRING
    input.Body.properties.description == STRING
    input.Body.properties.defaultMode == enum_DefaultMode[_]
    input.Body.properties.minAppIdVersion == STRING
    input.Body.properties.securityServices.vulnerabilityProfile == STRING
    input.Body.properties.securityServices.antiSpywareProfile == STRING
    input.Body.properties.securityServices.antiVirusProfile == STRING
    input.Body.properties.securityServices.urlFilteringProfile == STRING
    input.Body.properties.securityServices.fileBlockingProfile == STRING
    input.Body.properties.securityServices.dnsSubscription == STRING
    input.Body.properties.securityServices.outboundUnTrustCertificate == STRING
    input.Body.properties.securityServices.outboundTrustCertificate == STRING
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRulestacks_Delete

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

LocalRulestacks_Get

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

LocalRulestacks_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
}

LocalRulestacks_ListBySubscription

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

LocalRulestacks_Update

enum_Azure.ResourceManager.ManagedIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_DefaultMode := [ "IPS", "FIREWALL", "NONE" ]
enum_ScopeType := [ "LOCAL", "GLOBAL" ]

valid {
    input.Body.identity.type == enum_Azure.ResourceManager.ManagedIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.tags.STRING == STRING
    input.Body.properties.panEtag == STRING
    input.Body.properties.panLocation == STRING
    input.Body.properties.scope == enum_ScopeType[_]
    input.Body.properties.associatedSubscriptions[_] == STRING
    input.Body.properties.description == STRING
    input.Body.properties.defaultMode == enum_DefaultMode[_]
    input.Body.properties.minAppIdVersion == STRING
    input.Body.properties.securityServices.vulnerabilityProfile == STRING
    input.Body.properties.securityServices.antiSpywareProfile == STRING
    input.Body.properties.securityServices.antiVirusProfile == STRING
    input.Body.properties.securityServices.urlFilteringProfile == STRING
    input.Body.properties.securityServices.fileBlockingProfile == STRING
    input.Body.properties.securityServices.dnsSubscription == STRING
    input.Body.properties.securityServices.outboundUnTrustCertificate == STRING
    input.Body.properties.securityServices.outboundTrustCertificate == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRulestacks_commit

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

LocalRulestacks_getChangeLog

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

LocalRulestacks_getSupportInfo

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

LocalRulestacks_listAdvancedSecurityObjects

enum_TypeParameter := [ "urlCustom", "feeds" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRulestacks_listAppIds

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.appIdVersion == STRING
    input.Qs.appPrefix == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRulestacks_listCountries

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

LocalRulestacks_listFirewalls

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

LocalRulestacks_listPredefinedUrlCategories

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

LocalRulestacks_listSecurityServices

enum_TypeParameter := [ "antiSpyware", "antiVirus", "ipsVulnerability", "urlFiltering", "fileBlocking", "dnsSubscription" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == STRING
    input.Qs.skip == STRING
    input.Qs.top == INTEGER
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LocalRulestacks_revert

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.Qs.api-version == 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
}

PostRules_CreateOrUpdate

enum_ActionEnum := [ "Allow", "DenySilent", "DenyResetServer", "DenyResetBoth" ]
enum_BooleanEnum := [ "TRUE", "FALSE" ]
enum_DecryptionRuleTypeEnum := [ "SSLOutboundInspection", "SSLInboundInspection", "None" ]
enum_StateEnum := [ "DISABLED", "ENABLED" ]

valid {
    input.Body.properties.etag == STRING
    input.Body.properties.ruleName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.ruleState == enum_StateEnum[_]
    input.Body.properties.source.cidrs[_] == STRING
    input.Body.properties.source.countries[_] == STRING
    input.Body.properties.source.feeds[_] == STRING
    input.Body.properties.source.prefixLists[_] == STRING
    input.Body.properties.negateSource == enum_BooleanEnum[_]
    input.Body.properties.destination.cidrs[_] == STRING
    input.Body.properties.destination.countries[_] == STRING
    input.Body.properties.destination.feeds[_] == STRING
    input.Body.properties.destination.prefixLists[_] == STRING
    input.Body.properties.destination.fqdnLists[_] == STRING
    input.Body.properties.negateDestination == enum_BooleanEnum[_]
    input.Body.properties.applications[_] == STRING
    input.Body.properties.category.urlCustom[_] == STRING
    input.Body.properties.category.feeds[_] == STRING
    input.Body.properties.protocol == STRING
    input.Body.properties.protocolPortList[_] == STRING
    input.Body.properties.inboundInspectionCertificate == STRING
    input.Body.properties.auditComment == STRING
    input.Body.properties.actionType == enum_ActionEnum[_]
    input.Body.properties.enableLogging == enum_StateEnum[_]
    input.Body.properties.decryptionRuleType == enum_DecryptionRuleTypeEnum[_]
    input.Body.properties.tags[_].key == STRING
    input.Body.properties.tags[_].value == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PostRules_Delete

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

PostRules_Get

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

PostRules_List

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

PostRules_getCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PostRules_refreshCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PostRules_resetCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PreRules_CreateOrUpdate

enum_ActionEnum := [ "Allow", "DenySilent", "DenyResetServer", "DenyResetBoth" ]
enum_BooleanEnum := [ "TRUE", "FALSE" ]
enum_DecryptionRuleTypeEnum := [ "SSLOutboundInspection", "SSLInboundInspection", "None" ]
enum_StateEnum := [ "DISABLED", "ENABLED" ]

valid {
    input.Body.properties.etag == STRING
    input.Body.properties.ruleName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.ruleState == enum_StateEnum[_]
    input.Body.properties.source.cidrs[_] == STRING
    input.Body.properties.source.countries[_] == STRING
    input.Body.properties.source.feeds[_] == STRING
    input.Body.properties.source.prefixLists[_] == STRING
    input.Body.properties.negateSource == enum_BooleanEnum[_]
    input.Body.properties.destination.cidrs[_] == STRING
    input.Body.properties.destination.countries[_] == STRING
    input.Body.properties.destination.feeds[_] == STRING
    input.Body.properties.destination.prefixLists[_] == STRING
    input.Body.properties.destination.fqdnLists[_] == STRING
    input.Body.properties.negateDestination == enum_BooleanEnum[_]
    input.Body.properties.applications[_] == STRING
    input.Body.properties.category.urlCustom[_] == STRING
    input.Body.properties.category.feeds[_] == STRING
    input.Body.properties.protocol == STRING
    input.Body.properties.protocolPortList[_] == STRING
    input.Body.properties.inboundInspectionCertificate == STRING
    input.Body.properties.auditComment == STRING
    input.Body.properties.actionType == enum_ActionEnum[_]
    input.Body.properties.enableLogging == enum_StateEnum[_]
    input.Body.properties.decryptionRuleType == enum_DecryptionRuleTypeEnum[_]
    input.Body.properties.tags[_].key == STRING
    input.Body.properties.tags[_].value == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PreRules_Delete

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

PreRules_Get

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

PreRules_List

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

PreRules_getCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PreRules_refreshCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PreRules_resetCounters

valid {
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.priority == STRING
    input.Qs.api-version == STRING
    input.Qs.firewallName == STRING
    input.ProviderMetadata.Region == STRING
}

PrefixListGlobalRulestack_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.prefixList[_] == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.auditComment == STRING
    input.Body.STRING == STRING
    input.ReqMap.globalRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PrefixListGlobalRulestack_Delete

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

PrefixListGlobalRulestack_Get

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

PrefixListGlobalRulestack_List

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

PrefixListLocalRulestack_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.prefixList[_] == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.auditComment == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.localRulestackName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrefixListLocalRulestack_Delete

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

PrefixListLocalRulestack_Get

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

PrefixListLocalRulestack_ListByLocalRulestacks

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