MICROSOFT.WEB

AppServiceEnvironments_ApproveOrRejectPrivateEndpointConnection

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.ipAddresses[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_ChangeVnet

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

AppServiceEnvironments_CreateOrUpdate

enum_AppServiceEnvironmentInternalLoadBalancingMode := [ "None", "Web", "Publishing", "Web, Publishing" ]
enum_AppServiceEnvironmentUpgradePreference := [ "None", "Early", "Late", "Manual" ]

valid {
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.virtualNetwork.subnet == STRING
    input.Body.properties.internalLoadBalancingMode == enum_AppServiceEnvironmentInternalLoadBalancingMode[_]
    input.Body.properties.multiSize == STRING
    input.Body.properties.ipsslAddressCount == INTEGER
    input.Body.properties.dnsSuffix == STRING
    input.Body.properties.frontEndScaleFactor == INTEGER
    input.Body.properties.clusterSettings[_].name == STRING
    input.Body.properties.clusterSettings[_].value == STRING
    input.Body.properties.userWhitelistedIpRanges[_] == STRING
    input.Body.properties.upgradePreference == enum_AppServiceEnvironmentUpgradePreference[_]
    input.Body.properties.dedicatedHostCount == INTEGER
    input.Body.properties.zoneRedundant == BOOLEAN
    input.Body.properties.customDnsSuffixConfiguration.properties.dnsSuffix == STRING
    input.Body.properties.customDnsSuffixConfiguration.properties.certificateUrl == STRING
    input.Body.properties.customDnsSuffixConfiguration.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.customDnsSuffixConfiguration.kind == STRING
    input.Body.properties.networkingConfiguration.properties.allowNewPrivateEndpointConnections == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.ftpEnabled == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.remoteDebugEnabled == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.inboundIpAddressOverride == STRING
    input.Body.properties.networkingConfiguration.kind == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_CreateOrUpdateMultiRolePool

enum_WorkerPoolComputeMode := [ "Shared", "Dedicated", "Dynamic" ]

valid {
    input.Body.properties.workerSizeId == INTEGER
    input.Body.properties.computeMode == enum_WorkerPoolComputeMode[_]
    input.Body.properties.workerSize == STRING
    input.Body.properties.workerCount == INTEGER
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_CreateOrUpdateWorkerPool

enum_WorkerPoolComputeMode := [ "Shared", "Dedicated", "Dynamic" ]

valid {
    input.Body.properties.workerSizeId == INTEGER
    input.Body.properties.computeMode == enum_WorkerPoolComputeMode[_]
    input.Body.properties.workerSize == STRING
    input.Body.properties.workerCount == INTEGER
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workerPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_Delete

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

AppServiceEnvironments_DeleteAseCustomDnsSuffixConfiguration

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

AppServiceEnvironments_DeletePrivateEndpointConnection

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

AppServiceEnvironments_Get

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

AppServiceEnvironments_GetAseCustomDnsSuffixConfiguration

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

AppServiceEnvironments_GetAseV3NetworkingConfiguration

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

AppServiceEnvironments_GetDiagnosticsItem

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

AppServiceEnvironments_GetInboundNetworkDependenciesEndpoints

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

AppServiceEnvironments_GetMultiRolePool

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

AppServiceEnvironments_GetOutboundNetworkDependenciesEndpoints

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

AppServiceEnvironments_GetPrivateEndpointConnection

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

AppServiceEnvironments_GetPrivateEndpointConnectionList

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

AppServiceEnvironments_GetPrivateLinkResources

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

AppServiceEnvironments_GetVipInfo

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

AppServiceEnvironments_GetWorkerPool

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

AppServiceEnvironments_List

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

AppServiceEnvironments_ListAppServicePlans

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

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

AppServiceEnvironments_ListCapacities

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

AppServiceEnvironments_ListDiagnostics

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

AppServiceEnvironments_ListMetricDefinitions

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

AppServiceEnvironments_ListMetrics

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

AppServiceEnvironments_ListMultiRoleMetricDefinitions

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

AppServiceEnvironments_ListMultiRoleMetrics

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.details == BOOLEAN
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_ListMultiRolePoolInstanceMetricDefinitions

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

AppServiceEnvironments_ListMultiRolePoolInstanceMetrics

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

AppServiceEnvironments_ListMultiRolePoolSkus

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

AppServiceEnvironments_ListMultiRolePools

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

AppServiceEnvironments_ListMultiRoleUsages

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

AppServiceEnvironments_ListOperations

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

AppServiceEnvironments_ListUsages

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

AppServiceEnvironments_ListWebApps

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

AppServiceEnvironments_ListWebWorkerMetricDefinitions

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

AppServiceEnvironments_ListWebWorkerMetrics

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workerPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.details == BOOLEAN
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_ListWebWorkerUsages

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

AppServiceEnvironments_ListWorkerPoolInstanceMetricDefinitions

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

AppServiceEnvironments_ListWorkerPoolInstanceMetrics

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workerPoolName == STRING
    input.ReqMap.instance == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.details == BOOLEAN
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_ListWorkerPoolSkus

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

AppServiceEnvironments_ListWorkerPools

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

AppServiceEnvironments_Reboot

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

AppServiceEnvironments_Resume

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

AppServiceEnvironments_Suspend

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

AppServiceEnvironments_TestUpgradeAvailableNotification

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

AppServiceEnvironments_Update

enum_AppServiceEnvironmentInternalLoadBalancingMode := [ "None", "Web", "Publishing", "Web, Publishing" ]
enum_AppServiceEnvironmentUpgradePreference := [ "None", "Early", "Late", "Manual" ]

valid {
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.virtualNetwork.subnet == STRING
    input.Body.properties.internalLoadBalancingMode == enum_AppServiceEnvironmentInternalLoadBalancingMode[_]
    input.Body.properties.multiSize == STRING
    input.Body.properties.ipsslAddressCount == INTEGER
    input.Body.properties.dnsSuffix == STRING
    input.Body.properties.frontEndScaleFactor == INTEGER
    input.Body.properties.clusterSettings[_].name == STRING
    input.Body.properties.clusterSettings[_].value == STRING
    input.Body.properties.userWhitelistedIpRanges[_] == STRING
    input.Body.properties.upgradePreference == enum_AppServiceEnvironmentUpgradePreference[_]
    input.Body.properties.dedicatedHostCount == INTEGER
    input.Body.properties.zoneRedundant == BOOLEAN
    input.Body.properties.customDnsSuffixConfiguration.properties.dnsSuffix == STRING
    input.Body.properties.customDnsSuffixConfiguration.properties.certificateUrl == STRING
    input.Body.properties.customDnsSuffixConfiguration.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.customDnsSuffixConfiguration.kind == STRING
    input.Body.properties.networkingConfiguration.properties.allowNewPrivateEndpointConnections == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.ftpEnabled == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.remoteDebugEnabled == BOOLEAN
    input.Body.properties.networkingConfiguration.properties.inboundIpAddressOverride == STRING
    input.Body.properties.networkingConfiguration.kind == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_UpdateAseCustomDnsSuffixConfiguration

valid {
    input.Body.properties.dnsSuffix == STRING
    input.Body.properties.certificateUrl == STRING
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_UpdateAseNetworkingConfiguration

valid {
    input.Body.properties.allowNewPrivateEndpointConnections == BOOLEAN
    input.Body.properties.ftpEnabled == BOOLEAN
    input.Body.properties.remoteDebugEnabled == BOOLEAN
    input.Body.properties.inboundIpAddressOverride == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_UpdateMultiRolePool

enum_WorkerPoolComputeMode := [ "Shared", "Dedicated", "Dynamic" ]

valid {
    input.Body.properties.workerSizeId == INTEGER
    input.Body.properties.computeMode == enum_WorkerPoolComputeMode[_]
    input.Body.properties.workerSize == STRING
    input.Body.properties.workerCount == INTEGER
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_UpdateWorkerPool

enum_WorkerPoolComputeMode := [ "Shared", "Dedicated", "Dynamic" ]

valid {
    input.Body.properties.workerSizeId == INTEGER
    input.Body.properties.computeMode == enum_WorkerPoolComputeMode[_]
    input.Body.properties.workerSize == STRING
    input.Body.properties.workerCount == INTEGER
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workerPoolName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServiceEnvironments_Upgrade

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

AppServicePlans_CreateOrUpdate

valid {
    input.Body.properties.workerTierName == STRING
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.perSiteScaling == BOOLEAN
    input.Body.properties.elasticScaleEnabled == BOOLEAN
    input.Body.properties.maximumElasticWorkerCount == INTEGER
    input.Body.properties.isSpot == BOOLEAN
    input.Body.properties.spotExpirationTime == STRING
    input.Body.properties.freeOfferExpirationTime == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.targetWorkerCount == INTEGER
    input.Body.properties.targetWorkerSizeId == INTEGER
    input.Body.properties.kubeEnvironmentProfile.id == STRING
    input.Body.properties.zoneRedundant == BOOLEAN
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServicePlans_CreateOrUpdateVnetRoute

enum_VnetRoutePropertiesRouteType := [ "DEFAULT", "INHERITED", "STATIC" ]

valid {
    input.Body.properties.startAddress == STRING
    input.Body.properties.endAddress == STRING
    input.Body.properties.routeType == enum_VnetRoutePropertiesRouteType[_]
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

AppServicePlans_Delete

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

AppServicePlans_DeleteHybridConnection

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

AppServicePlans_DeleteVnetRoute

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

AppServicePlans_Get

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

AppServicePlans_GetHybridConnection

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

AppServicePlans_GetHybridConnectionPlanLimit

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

AppServicePlans_GetRouteForVnet

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

AppServicePlans_GetServerFarmSkus

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

AppServicePlans_GetVnetFromServerFarm

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

AppServicePlans_GetVnetGateway

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

AppServicePlans_List

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

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

AppServicePlans_ListCapabilities

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

AppServicePlans_ListHybridConnectionKeys

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

AppServicePlans_ListHybridConnections

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

AppServicePlans_ListMetricDefintions

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

AppServicePlans_ListMetrics

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

AppServicePlans_ListRoutesForVnet

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

AppServicePlans_ListUsages

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

AppServicePlans_ListVnets

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

AppServicePlans_ListWebApps

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

AppServicePlans_ListWebAppsByHybridConnection

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

AppServicePlans_RebootWorker

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

AppServicePlans_RestartWebApps

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

AppServicePlans_Update

valid {
    input.Body.properties.workerTierName == STRING
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.perSiteScaling == BOOLEAN
    input.Body.properties.elasticScaleEnabled == BOOLEAN
    input.Body.properties.maximumElasticWorkerCount == INTEGER
    input.Body.properties.isSpot == BOOLEAN
    input.Body.properties.spotExpirationTime == STRING
    input.Body.properties.freeOfferExpirationTime == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.targetWorkerCount == INTEGER
    input.Body.properties.targetWorkerSizeId == INTEGER
    input.Body.properties.kubeEnvironmentProfile.id == STRING
    input.Body.properties.zoneRedundant == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppServicePlans_UpdateVnetGateway

valid {
    input.Body.properties.vnetName == STRING
    input.Body.properties.vpnPackageUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

AppServicePlans_UpdateVnetRoute

enum_VnetRoutePropertiesRouteType := [ "DEFAULT", "INHERITED", "STATIC" ]

valid {
    input.Body.properties.startAddress == STRING
    input.Body.properties.endAddress == STRING
    input.Body.properties.routeType == enum_VnetRoutePropertiesRouteType[_]
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

CertificateOrders_CreateOrUpdateCertificateOrder

enum_CertificateOrderCertificatePropertiesProvisioningState := [ "Initialized", "WaitingOnCertificateOrder", "Succeeded", "CertificateOrderFailed", "OperationNotPermittedOnKeyVault", "AzureServiceUnauthorizedToAccessKeyVault", "KeyVaultDoesNotExist", "KeyVaultSecretDoesNotExist", "UnknownError", "Unknown" ]
enum_CertificateOrderPropertiesProductType := [ "StandardDomainValidatedSsl", "StandardDomainValidatedWildCardSsl" ]
enum_CertificateOrderPropertiesProvisioningState := [ "Succeeded", "Failed", "Canceled", "InProgress", "Deleting" ]
enum_CertificateOrderPropertiesStatus := [ "Pendingissuance", "Issued", "Revoked", "Canceled", "Denied", "Pendingrevocation", "PendingRekey", "Unused", "Expired", "NotSubmitted" ]

valid {
    input.Body.properties.certificates.STRING.properties.keyVaultId == STRING
    input.Body.properties.certificates.STRING.properties.keyVaultSecretName == STRING
    input.Body.properties.certificates.STRING.properties.provisioningState == enum_CertificateOrderCertificatePropertiesProvisioningState[_]
    input.Body.properties.certificates.STRING.id == STRING
    input.Body.properties.certificates.STRING.name == STRING
    input.Body.properties.certificates.STRING.kind == STRING
    input.Body.properties.certificates.STRING.location == STRING
    input.Body.properties.certificates.STRING.type == STRING
    input.Body.properties.certificates.STRING.tags.STRING == STRING
    input.Body.properties.distinguishedName == STRING
    input.Body.properties.domainVerificationToken == STRING
    input.Body.properties.validityInYears == INTEGER
    input.Body.properties.keySize == INTEGER
    input.Body.properties.productType == enum_CertificateOrderPropertiesProductType[_]
    input.Body.properties.autoRenew == BOOLEAN
    input.Body.properties.provisioningState == enum_CertificateOrderPropertiesProvisioningState[_]
    input.Body.properties.status == enum_CertificateOrderPropertiesStatus[_]
    input.Body.properties.signedCertificate.properties.version == INTEGER
    input.Body.properties.signedCertificate.properties.serialNumber == STRING
    input.Body.properties.signedCertificate.properties.thumbprint == STRING
    input.Body.properties.signedCertificate.properties.subject == STRING
    input.Body.properties.signedCertificate.properties.notBefore == STRING
    input.Body.properties.signedCertificate.properties.notAfter == STRING
    input.Body.properties.signedCertificate.properties.signatureAlgorithm == STRING
    input.Body.properties.signedCertificate.properties.issuer == STRING
    input.Body.properties.signedCertificate.properties.rawData == STRING
    input.Body.properties.signedCertificate.id == STRING
    input.Body.properties.signedCertificate.name == STRING
    input.Body.properties.signedCertificate.kind == STRING
    input.Body.properties.signedCertificate.location == STRING
    input.Body.properties.signedCertificate.type == STRING
    input.Body.properties.signedCertificate.tags.STRING == STRING
    input.Body.properties.csr == STRING
    input.Body.properties.intermediate.properties.version == INTEGER
    input.Body.properties.intermediate.properties.serialNumber == STRING
    input.Body.properties.intermediate.properties.thumbprint == STRING
    input.Body.properties.intermediate.properties.subject == STRING
    input.Body.properties.intermediate.properties.notBefore == STRING
    input.Body.properties.intermediate.properties.notAfter == STRING
    input.Body.properties.intermediate.properties.signatureAlgorithm == STRING
    input.Body.properties.intermediate.properties.issuer == STRING
    input.Body.properties.intermediate.properties.rawData == STRING
    input.Body.properties.root.properties.version == INTEGER
    input.Body.properties.root.properties.serialNumber == STRING
    input.Body.properties.root.properties.thumbprint == STRING
    input.Body.properties.root.properties.subject == STRING
    input.Body.properties.root.properties.notBefore == STRING
    input.Body.properties.root.properties.notAfter == STRING
    input.Body.properties.root.properties.signatureAlgorithm == STRING
    input.Body.properties.root.properties.issuer == STRING
    input.Body.properties.root.properties.rawData == STRING
    input.Body.properties.serialNumber == STRING
    input.Body.properties.lastCertificateIssuanceTime == STRING
    input.Body.properties.expirationTime == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CertificateOrders_DeleteCertificateOrder

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

CertificateOrders_GetCertificateOrder

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

CertificateOrders_ReissueCertificateOrder

valid {
    input.Body.properties.keySize == INTEGER
    input.Body.properties.delayExistingRevokeInHours == INTEGER
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CertificateOrders_RenewCertificateOrder

valid {
    input.Body.properties.keySize == INTEGER
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CertificateOrders_ResendCertificateEmail

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

CertificateOrders_UpdateCertificateOrder

enum_CertificateOrderCertificatePropertiesProvisioningState := [ "Initialized", "WaitingOnCertificateOrder", "Succeeded", "CertificateOrderFailed", "OperationNotPermittedOnKeyVault", "AzureServiceUnauthorizedToAccessKeyVault", "KeyVaultDoesNotExist", "KeyVaultSecretDoesNotExist", "UnknownError", "Unknown" ]
enum_CertificateOrderPropertiesProductType := [ "StandardDomainValidatedSsl", "StandardDomainValidatedWildCardSsl" ]
enum_CertificateOrderPropertiesProvisioningState := [ "Succeeded", "Failed", "Canceled", "InProgress", "Deleting" ]
enum_CertificateOrderPropertiesStatus := [ "Pendingissuance", "Issued", "Revoked", "Canceled", "Denied", "Pendingrevocation", "PendingRekey", "Unused", "Expired", "NotSubmitted" ]

valid {
    input.Body.properties.certificates.STRING.properties.keyVaultId == STRING
    input.Body.properties.certificates.STRING.properties.keyVaultSecretName == STRING
    input.Body.properties.certificates.STRING.properties.provisioningState == enum_CertificateOrderCertificatePropertiesProvisioningState[_]
    input.Body.properties.distinguishedName == STRING
    input.Body.properties.domainVerificationToken == STRING
    input.Body.properties.validityInYears == INTEGER
    input.Body.properties.keySize == INTEGER
    input.Body.properties.productType == enum_CertificateOrderPropertiesProductType[_]
    input.Body.properties.autoRenew == BOOLEAN
    input.Body.properties.provisioningState == enum_CertificateOrderPropertiesProvisioningState[_]
    input.Body.properties.status == enum_CertificateOrderPropertiesStatus[_]
    input.Body.properties.signedCertificate.properties.version == INTEGER
    input.Body.properties.signedCertificate.properties.serialNumber == STRING
    input.Body.properties.signedCertificate.properties.thumbprint == STRING
    input.Body.properties.signedCertificate.properties.subject == STRING
    input.Body.properties.signedCertificate.properties.notBefore == STRING
    input.Body.properties.signedCertificate.properties.notAfter == STRING
    input.Body.properties.signedCertificate.properties.signatureAlgorithm == STRING
    input.Body.properties.signedCertificate.properties.issuer == STRING
    input.Body.properties.signedCertificate.properties.rawData == STRING
    input.Body.properties.csr == STRING
    input.Body.properties.intermediate.properties.version == INTEGER
    input.Body.properties.intermediate.properties.serialNumber == STRING
    input.Body.properties.intermediate.properties.thumbprint == STRING
    input.Body.properties.intermediate.properties.subject == STRING
    input.Body.properties.intermediate.properties.notBefore == STRING
    input.Body.properties.intermediate.properties.notAfter == STRING
    input.Body.properties.intermediate.properties.signatureAlgorithm == STRING
    input.Body.properties.intermediate.properties.issuer == STRING
    input.Body.properties.intermediate.properties.rawData == STRING
    input.Body.properties.root.properties.version == INTEGER
    input.Body.properties.root.properties.serialNumber == STRING
    input.Body.properties.root.properties.thumbprint == STRING
    input.Body.properties.root.properties.subject == STRING
    input.Body.properties.root.properties.notBefore == STRING
    input.Body.properties.root.properties.notAfter == STRING
    input.Body.properties.root.properties.signatureAlgorithm == STRING
    input.Body.properties.root.properties.issuer == STRING
    input.Body.properties.root.properties.rawData == STRING
    input.Body.properties.serialNumber == STRING
    input.Body.properties.lastCertificateIssuanceTime == STRING
    input.Body.properties.expirationTime == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CertificateOrders_VerifyDomainOwnership

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

Certificates_CreateOrUpdate

valid {
    input.Body.properties.password == STRING
    input.Body.properties.hostNames[_] == STRING
    input.Body.properties.pfxBlob == STRING
    input.Body.properties.keyVaultId == STRING
    input.Body.properties.keyVaultSecretName == STRING
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.canonicalName == STRING
    input.Body.properties.domainValidationMethod == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_CreateOrUpdateCsr

valid {
    input.Body.properties.name == STRING
    input.Body.properties.distinguishedName == STRING
    input.Body.properties.csrString == STRING
    input.Body.properties.pfxBlob == STRING
    input.Body.properties.password == STRING
    input.Body.properties.publicKeyHash == STRING
    input.Body.properties.hostingEnvironment == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_Delete

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

Certificates_DeleteCsr

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

Certificates_Get

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

Certificates_GetCsr

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

Certificates_GetCsrs

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
}

Certificates_List

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

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

Certificates_Update

valid {
    input.Body.properties.password == STRING
    input.Body.properties.hostNames[_] == STRING
    input.Body.properties.pfxBlob == STRING
    input.Body.properties.keyVaultId == STRING
    input.Body.properties.keyVaultSecretName == STRING
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.canonicalName == STRING
    input.Body.properties.domainValidationMethod == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_UpdateCsr

valid {
    input.Body.properties.name == STRING
    input.Body.properties.distinguishedName == STRING
    input.Body.properties.csrString == STRING
    input.Body.properties.pfxBlob == STRING
    input.Body.properties.password == STRING
    input.Body.properties.publicKeyHash == STRING
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CheckNameAvailability

enum_ResourceNameAvailabilityRequestType := [ "Site", "Slot", "HostingEnvironment", "PublishingUser", "Microsoft.Web/sites", "Microsoft.Web/sites/slots", "Microsoft.Web/hostingEnvironments", "Microsoft.Web/publishingUsers" ]

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

ClassicMobileServices_DeleteClassicMobileService

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

ClassicMobileServices_GetClassicMobileService

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

ClassicMobileServices_GetClassicMobileServices

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
}

ConnectionGatewayInstallations_Get

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

ConnectionGatewayInstallations_List

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

ConnectionGateways_CreateOrUpdate

valid {
    input.Body.properties.connectionGatewayInstallation.location == STRING
    input.Body.properties.connectionGatewayInstallation.name == STRING
    input.Body.properties.connectionGatewayInstallation.id == STRING
    input.Body.properties.connectionGatewayInstallation.type == STRING
    input.Body.properties.contactInformation[_] == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.machineName == STRING
    input.Body.properties.status.STRING == STRING
    input.Body.properties.backendUri == STRING
    input.Body.location == STRING
    input.Body.etag == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionGateways_Delete

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

ConnectionGateways_Get

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

ConnectionGateways_List

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

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

ConnectionGateways_Update

valid {
    input.Body.properties.connectionGatewayInstallation.location == STRING
    input.Body.properties.connectionGatewayInstallation.name == STRING
    input.Body.properties.contactInformation[_] == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.machineName == STRING
    input.Body.properties.status.STRING == STRING
    input.Body.properties.backendUri == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionGatewayName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Connections_ConfirmConsentCode

valid {
    input.Body.tenantId == STRING
    input.Body.objectId == STRING
    input.Body.code == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Connections_CreateOrUpdate

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.statuses[_].status == STRING
    input.Body.properties.statuses[_].target == STRING
    input.Body.properties.statuses[_].error.properties.code == STRING
    input.Body.properties.statuses[_].error.properties.message == STRING
    input.Body.properties.statuses[_].error.location == STRING
    input.Body.properties.statuses[_].error.etag == STRING
    input.Body.properties.statuses[_].error.tags.STRING == STRING
    input.Body.properties.parameterValues.STRING == STRING
    input.Body.properties.customParameterValues.STRING == STRING
    input.Body.properties.nonSecretParameterValues.STRING == STRING
    input.Body.properties.createdTime == STRING
    input.Body.properties.changedTime == STRING
    input.Body.properties.api.swagger.STRING == STRING
    input.Body.properties.api.brandColor == STRING
    input.Body.properties.api.description == STRING
    input.Body.properties.api.displayName == STRING
    input.Body.properties.api.iconUri == STRING
    input.Body.properties.api.name == STRING
    input.Body.properties.testLinks[_].requestUri == STRING
    input.Body.properties.testLinks[_].method == STRING
    input.Body.location == STRING
    input.Body.etag == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Connections_Delete

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

Connections_Get

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

Connections_List

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

Connections_ListConnectionKeys

valid {
    input.Body.properties.validityTimeSpan == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Connections_ListConsentLinks

valid {
    input.Body.parameters[_].parameterName == STRING
    input.Body.parameters[_].redirectUrl == STRING
    input.Body.parameters[_].objectId == STRING
    input.Body.parameters[_].tenantId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Connections_Update

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.statuses[_].status == STRING
    input.Body.properties.statuses[_].target == STRING
    input.Body.properties.statuses[_].error.properties.code == STRING
    input.Body.properties.statuses[_].error.properties.message == STRING
    input.Body.properties.parameterValues.STRING == STRING
    input.Body.properties.customParameterValues.STRING == STRING
    input.Body.properties.nonSecretParameterValues.STRING == STRING
    input.Body.properties.createdTime == STRING
    input.Body.properties.changedTime == STRING
    input.Body.properties.api.swagger.STRING == STRING
    input.Body.properties.api.brandColor == STRING
    input.Body.properties.api.description == STRING
    input.Body.properties.api.displayName == STRING
    input.Body.properties.api.iconUri == STRING
    input.Body.properties.api.name == STRING
    input.Body.properties.testLinks[_].requestUri == STRING
    input.Body.properties.testLinks[_].method == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.connectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ContainerAppsRevisions_ActivateRevision

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

ContainerAppsRevisions_DeactivateRevision

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

ContainerAppsRevisions_GetRevision

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

ContainerAppsRevisions_ListRevisions

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

ContainerAppsRevisions_RestartRevision

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

ContainerApps_CreateOrUpdate

enum_ConfigurationActiveRevisionsMode := [ "multiple", "single" ]
enum_IngressTransport := [ "auto", "http", "http2" ]

valid {
    input.Body.properties.kubeEnvironmentId == STRING
    input.Body.properties.configuration.secrets[_].name == STRING
    input.Body.properties.configuration.secrets[_].value == STRING
    input.Body.properties.configuration.activeRevisionsMode == enum_ConfigurationActiveRevisionsMode[_]
    input.Body.properties.configuration.ingress.external == BOOLEAN
    input.Body.properties.configuration.ingress.targetPort == INTEGER
    input.Body.properties.configuration.ingress.transport == enum_IngressTransport[_]
    input.Body.properties.configuration.ingress.traffic[_].revisionName == STRING
    input.Body.properties.configuration.ingress.traffic[_].weight == INTEGER
    input.Body.properties.configuration.ingress.traffic[_].latestRevision == BOOLEAN
    input.Body.properties.configuration.ingress.allowInsecure == BOOLEAN
    input.Body.properties.configuration.registries[_].server == STRING
    input.Body.properties.configuration.registries[_].username == STRING
    input.Body.properties.configuration.registries[_].passwordSecretRef == STRING
    input.Body.properties.template.revisionSuffix == STRING
    input.Body.properties.template.containers[_].image == STRING
    input.Body.properties.template.containers[_].name == STRING
    input.Body.properties.template.containers[_].command[_] == STRING
    input.Body.properties.template.containers[_].args[_] == STRING
    input.Body.properties.template.containers[_].env[_].name == STRING
    input.Body.properties.template.containers[_].env[_].value == STRING
    input.Body.properties.template.containers[_].env[_].secretRef == STRING
    input.Body.properties.template.containers[_].resources.cpu == NUMBER
    input.Body.properties.template.containers[_].resources.memory == STRING
    input.Body.properties.template.scale.minReplicas == INTEGER
    input.Body.properties.template.scale.maxReplicas == INTEGER
    input.Body.properties.template.scale.rules[_].name == STRING
    input.Body.properties.template.scale.rules[_].azureQueue.queueName == STRING
    input.Body.properties.template.scale.rules[_].azureQueue.queueLength == INTEGER
    input.Body.properties.template.scale.rules[_].azureQueue.auth[_].secretRef == STRING
    input.Body.properties.template.scale.rules[_].azureQueue.auth[_].triggerParameter == STRING
    input.Body.properties.template.scale.rules[_].custom.type == STRING
    input.Body.properties.template.scale.rules[_].custom.metadata.STRING == STRING
    input.Body.properties.template.scale.rules[_].custom.auth[_].secretRef == STRING
    input.Body.properties.template.scale.rules[_].custom.auth[_].triggerParameter == STRING
    input.Body.properties.template.scale.rules[_].http.metadata.STRING == STRING
    input.Body.properties.template.scale.rules[_].http.auth[_].secretRef == STRING
    input.Body.properties.template.scale.rules[_].http.auth[_].triggerParameter == STRING
    input.Body.properties.template.dapr.enabled == BOOLEAN
    input.Body.properties.template.dapr.appId == STRING
    input.Body.properties.template.dapr.appPort == INTEGER
    input.Body.properties.template.dapr.components[_].name == STRING
    input.Body.properties.template.dapr.components[_].type == STRING
    input.Body.properties.template.dapr.components[_].version == STRING
    input.Body.properties.template.dapr.components[_].metadata[_].name == STRING
    input.Body.properties.template.dapr.components[_].metadata[_].value == STRING
    input.Body.properties.template.dapr.components[_].metadata[_].secretRef == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ContainerApps_Delete

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

ContainerApps_Get

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

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

ContainerApps_ListBySubscription

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

ContainerApps_ListSecrets

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

CustomApis_CreateOrUpdate

enum_ApiType := [ "NotSpecified", "Rest", "Soap" ]
enum_ConnectionParameterType := [ "string", "securestring", "secureobject", "int", "bool", "object", "array", "oauthSetting", "connection" ]
enum_WsdlImportMethod := [ "NotSpecified", "SoapToRest", "SoapPassThrough" ]

valid {
    input.Body.properties.connectionParameters.STRING.type == enum_ConnectionParameterType[_]
    input.Body.properties.connectionParameters.STRING.oAuthSettings.identityProvider == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.clientId == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.clientSecret == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.scopes[_] == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.redirectUrl == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.properties.STRING == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.value == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.options.STRING == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.uiDefinition.STRING == STRING
    input.Body.properties.runtimeUrls[_] == STRING
    input.Body.properties.capabilities[_] == STRING
    input.Body.properties.swagger.STRING == STRING
    input.Body.properties.brandColor == STRING
    input.Body.properties.description == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.iconUri == STRING
    input.Body.properties.backendService.serviceUrl == STRING
    input.Body.properties.apiDefinitions.originalSwaggerUrl == STRING
    input.Body.properties.apiDefinitions.modifiedSwaggerUrl == STRING
    input.Body.properties.apiType == enum_ApiType[_]
    input.Body.properties.wsdlDefinition.url == STRING
    input.Body.properties.wsdlDefinition.content == STRING
    input.Body.properties.wsdlDefinition.service.qualifiedName == STRING
    input.Body.properties.wsdlDefinition.service.endpointQualifiedNames[_] == STRING
    input.Body.properties.wsdlDefinition.importMethod == enum_WsdlImportMethod[_]
    input.Body.location == STRING
    input.Body.etag == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomApis_Delete

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

CustomApis_ExtractApiDefinitionFromWsdl

enum_WsdlImportMethod := [ "NotSpecified", "SoapToRest", "SoapPassThrough" ]

valid {
    input.Body.url == STRING
    input.Body.content == STRING
    input.Body.service.qualifiedName == STRING
    input.Body.service.endpointQualifiedNames[_] == STRING
    input.Body.importMethod == enum_WsdlImportMethod[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CustomApis_Get

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

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

CustomApis_ListByResourceGroup

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
}

CustomApis_ListWsdlInterfaces

enum_WsdlImportMethod := [ "NotSpecified", "SoapToRest", "SoapPassThrough" ]

valid {
    input.Body.url == STRING
    input.Body.content == STRING
    input.Body.service.qualifiedName == STRING
    input.Body.service.endpointQualifiedNames[_] == STRING
    input.Body.importMethod == enum_WsdlImportMethod[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CustomApis_Move

valid {
    input.Body.name == STRING
    input.Body.swagger.STRING == STRING
    input.Body.brandColor == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.iconUri == STRING
    input.Body.id == STRING
    input.Body.type == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomApis_Update

enum_ApiType := [ "NotSpecified", "Rest", "Soap" ]
enum_ConnectionParameterType := [ "string", "securestring", "secureobject", "int", "bool", "object", "array", "oauthSetting", "connection" ]
enum_WsdlImportMethod := [ "NotSpecified", "SoapToRest", "SoapPassThrough" ]

valid {
    input.Body.properties.connectionParameters.STRING.type == enum_ConnectionParameterType[_]
    input.Body.properties.connectionParameters.STRING.oAuthSettings.identityProvider == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.clientId == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.clientSecret == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.scopes[_] == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.redirectUrl == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.properties.STRING == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.value == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.options.STRING == STRING
    input.Body.properties.connectionParameters.STRING.oAuthSettings.customParameters.STRING.uiDefinition.STRING == STRING
    input.Body.properties.runtimeUrls[_] == STRING
    input.Body.properties.capabilities[_] == STRING
    input.Body.properties.swagger.STRING == STRING
    input.Body.properties.brandColor == STRING
    input.Body.properties.description == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.iconUri == STRING
    input.Body.properties.backendService.serviceUrl == STRING
    input.Body.properties.apiDefinitions.originalSwaggerUrl == STRING
    input.Body.properties.apiDefinitions.modifiedSwaggerUrl == STRING
    input.Body.properties.apiType == enum_ApiType[_]
    input.Body.properties.wsdlDefinition.url == STRING
    input.Body.properties.wsdlDefinition.content == STRING
    input.Body.properties.wsdlDefinition.service.qualifiedName == STRING
    input.Body.properties.wsdlDefinition.service.endpointQualifiedNames[_] == STRING
    input.Body.properties.wsdlDefinition.importMethod == enum_WsdlImportMethod[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DeletedWebApps_GetDeletedWebAppByLocation

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

DeletedWebApps_List

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

DeletedWebApps_ListByLocation

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

Diagnostics_ExecuteSiteAnalysis

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.diagnosticCategory == STRING
    input.ReqMap.analysisName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_ExecuteSiteAnalysisSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.diagnosticCategory == STRING
    input.ReqMap.analysisName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_ExecuteSiteDetector

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.detectorName == STRING
    input.ReqMap.diagnosticCategory == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_ExecuteSiteDetectorSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.detectorName == STRING
    input.ReqMap.diagnosticCategory == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_GetHostingEnvironmentDetectorResponse

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.detectorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_GetSiteAnalysis

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

Diagnostics_GetSiteAnalysisSlot

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

Diagnostics_GetSiteDetector

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

Diagnostics_GetSiteDetectorResponse

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.detectorName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_GetSiteDetectorResponseSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.detectorName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.startTime == STRING
    input.Qs.endTime == STRING
    input.Qs.timeGrain == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Diagnostics_GetSiteDetectorSlot

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

Diagnostics_GetSiteDiagnosticCategory

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

Diagnostics_GetSiteDiagnosticCategorySlot

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

Diagnostics_ListHostingEnvironmentDetectorResponses

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

Diagnostics_ListSiteAnalyses

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

Diagnostics_ListSiteAnalysesSlot

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

Diagnostics_ListSiteDetectorResponses

valid {
    input.ReqMap.ResourceGroup == 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
}

Diagnostics_ListSiteDetectorResponsesSlot

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

Diagnostics_ListSiteDetectors

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

Diagnostics_ListSiteDetectorsSlot

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

Diagnostics_ListSiteDiagnosticCategories

valid {
    input.ReqMap.ResourceGroup == 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
}

Diagnostics_ListSiteDiagnosticCategoriesSlot

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

Domains_GetDomainOperation

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

GetPublishingUser

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

GetSourceControl

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

GetSubscriptionDeploymentLocations

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

GetUsagesInLocation_list

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

GlobalDomainRegistration_ValidateDomainPurchaseInformation

enum_DomainRegistrationInputPropertiesDomainNotRenewableReasons := [ "RegistrationStatusNotSupportedForRenewal", "ExpirationNotInRenewalTimeRange", "SubscriptionNotActive" ]
enum_DomainRegistrationInputPropertiesProvisioningState := [ "Succeeded", "Failed", "Canceled", "InProgress", "Deleting" ]
enum_DomainRegistrationInputPropertiesRegistrationStatus := [ "Active", "Awaiting", "Cancelled", "Confiscated", "Disabled", "Excluded", "Expired", "Failed", "Held", "Locked", "Parked", "Pending", "Reserved", "Reverted", "Suspended", "Transferred", "Unknown", "Unlocked", "Unparked", "Updated", "JsonConverterFailed" ]
enum_HostNameAzureResourceType := [ "Website", "TrafficManager" ]
enum_HostNameCustomHostNameDnsRecordType := [ "CName", "A" ]
enum_HostNameHostNameType := [ "Verified", "Managed" ]

valid {
    input.Body.properties.name == STRING
    input.Body.properties.contactAdmin.addressMailing.address1 == STRING
    input.Body.properties.contactAdmin.addressMailing.address2 == STRING
    input.Body.properties.contactAdmin.addressMailing.city == STRING
    input.Body.properties.contactAdmin.addressMailing.country == STRING
    input.Body.properties.contactAdmin.addressMailing.postalCode == STRING
    input.Body.properties.contactAdmin.addressMailing.state == STRING
    input.Body.properties.contactAdmin.email == STRING
    input.Body.properties.contactAdmin.fax == STRING
    input.Body.properties.contactAdmin.jobTitle == STRING
    input.Body.properties.contactAdmin.nameFirst == STRING
    input.Body.properties.contactAdmin.nameLast == STRING
    input.Body.properties.contactAdmin.nameMiddle == STRING
    input.Body.properties.contactAdmin.organization == STRING
    input.Body.properties.contactAdmin.phone == STRING
    input.Body.properties.contactBilling.addressMailing.address1 == STRING
    input.Body.properties.contactBilling.addressMailing.address2 == STRING
    input.Body.properties.contactBilling.addressMailing.city == STRING
    input.Body.properties.contactBilling.addressMailing.country == STRING
    input.Body.properties.contactBilling.addressMailing.postalCode == STRING
    input.Body.properties.contactBilling.addressMailing.state == STRING
    input.Body.properties.contactBilling.email == STRING
    input.Body.properties.contactBilling.fax == STRING
    input.Body.properties.contactBilling.jobTitle == STRING
    input.Body.properties.contactBilling.nameFirst == STRING
    input.Body.properties.contactBilling.nameLast == STRING
    input.Body.properties.contactBilling.nameMiddle == STRING
    input.Body.properties.contactBilling.organization == STRING
    input.Body.properties.contactBilling.phone == STRING
    input.Body.properties.contactRegistrant.addressMailing.address1 == STRING
    input.Body.properties.contactRegistrant.addressMailing.address2 == STRING
    input.Body.properties.contactRegistrant.addressMailing.city == STRING
    input.Body.properties.contactRegistrant.addressMailing.country == STRING
    input.Body.properties.contactRegistrant.addressMailing.postalCode == STRING
    input.Body.properties.contactRegistrant.addressMailing.state == STRING
    input.Body.properties.contactRegistrant.email == STRING
    input.Body.properties.contactRegistrant.fax == STRING
    input.Body.properties.contactRegistrant.jobTitle == STRING
    input.Body.properties.contactRegistrant.nameFirst == STRING
    input.Body.properties.contactRegistrant.nameLast == STRING
    input.Body.properties.contactRegistrant.nameMiddle == STRING
    input.Body.properties.contactRegistrant.organization == STRING
    input.Body.properties.contactRegistrant.phone == STRING
    input.Body.properties.contactTech.addressMailing.address1 == STRING
    input.Body.properties.contactTech.addressMailing.address2 == STRING
    input.Body.properties.contactTech.addressMailing.city == STRING
    input.Body.properties.contactTech.addressMailing.country == STRING
    input.Body.properties.contactTech.addressMailing.postalCode == STRING
    input.Body.properties.contactTech.addressMailing.state == STRING
    input.Body.properties.contactTech.email == STRING
    input.Body.properties.contactTech.fax == STRING
    input.Body.properties.contactTech.jobTitle == STRING
    input.Body.properties.contactTech.nameFirst == STRING
    input.Body.properties.contactTech.nameLast == STRING
    input.Body.properties.contactTech.nameMiddle == STRING
    input.Body.properties.contactTech.organization == STRING
    input.Body.properties.contactTech.phone == STRING
    input.Body.properties.registrationStatus == enum_DomainRegistrationInputPropertiesRegistrationStatus[_]
    input.Body.properties.provisioningState == enum_DomainRegistrationInputPropertiesProvisioningState[_]
    input.Body.properties.nameServers[_] == STRING
    input.Body.properties.privacy == BOOLEAN
    input.Body.properties.createdTime == STRING
    input.Body.properties.expirationTime == STRING
    input.Body.properties.lastRenewedTime == STRING
    input.Body.properties.autoRenew == BOOLEAN
    input.Body.properties.readyForDnsRecordManagement == BOOLEAN
    input.Body.properties.managedHostNames[_].name == STRING
    input.Body.properties.managedHostNames[_].siteNames[_] == STRING
    input.Body.properties.managedHostNames[_].azureResourceName == STRING
    input.Body.properties.managedHostNames[_].azureResourceType == enum_HostNameAzureResourceType[_]
    input.Body.properties.managedHostNames[_].customHostNameDnsRecordType == enum_HostNameCustomHostNameDnsRecordType[_]
    input.Body.properties.managedHostNames[_].hostNameType == enum_HostNameHostNameType[_]
    input.Body.properties.consent.agreementKeys[_] == STRING
    input.Body.properties.consent.agreedBy == STRING
    input.Body.properties.consent.agreedAt == STRING
    input.Body.properties.domainNotRenewableReasons[_] == enum_DomainRegistrationInputPropertiesDomainNotRenewableReasons[_]
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Global_GetAllClassicMobileServices

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

Global_GetAllManagedHostingEnvironments

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

Global_GetDeletedWebApp

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

Global_GetDeletedWebAppSnapshots

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

Global_GetSubscriptionOperationWithAsyncResponse

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

Global_GetSubscriptionPublishingCredentials

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

Global_IsHostingEnvironmentNameAvailable

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

Global_IsHostingEnvironmentWithLegacyNameAvailable

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

Global_UpdateSubscriptionPublishingCredentials

valid {
    input.Body.properties.name == STRING
    input.Body.properties.publishingUserName == STRING
    input.Body.properties.publishingPassword == STRING
    input.Body.properties.scmUri == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

HostingEnvironments_GetHostingEnvironmentOperation

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

HostingEnvironments_GetHostingEnvironmentWebHostingPlans

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

KubeEnvironments_CreateOrUpdate

enum_ArcConfigurationArtifactsStorageType := [ "LocalNode", "NetworkFileSystem" ]
enum_FrontEndConfigurationKind := [ "NodePort", "LoadBalancer" ]

valid {
    input.Body.properties.internalLoadBalancerEnabled == BOOLEAN
    input.Body.properties.staticIp == STRING
    input.Body.properties.environmentType == STRING
    input.Body.properties.arcConfiguration.artifactsStorageType == enum_ArcConfigurationArtifactsStorageType[_]
    input.Body.properties.arcConfiguration.artifactStorageClassName == STRING
    input.Body.properties.arcConfiguration.artifactStorageMountPath == STRING
    input.Body.properties.arcConfiguration.artifactStorageNodeName == STRING
    input.Body.properties.arcConfiguration.artifactStorageAccessMode == STRING
    input.Body.properties.arcConfiguration.frontEndServiceConfiguration.kind == enum_FrontEndConfigurationKind[_]
    input.Body.properties.arcConfiguration.kubeConfig == STRING
    input.Body.properties.appLogsConfiguration.destination == STRING
    input.Body.properties.appLogsConfiguration.logAnalyticsConfiguration.customerId == STRING
    input.Body.properties.appLogsConfiguration.logAnalyticsConfiguration.sharedKey == STRING
    input.Body.properties.containerAppsConfiguration.daprAIInstrumentationKey == STRING
    input.Body.properties.containerAppsConfiguration.platformReservedCidr == STRING
    input.Body.properties.containerAppsConfiguration.platformReservedDnsIP == STRING
    input.Body.properties.containerAppsConfiguration.controlPlaneSubnetResourceId == STRING
    input.Body.properties.containerAppsConfiguration.appSubnetResourceId == STRING
    input.Body.properties.containerAppsConfiguration.dockerBridgeCidr == STRING
    input.Body.properties.aksResourceID == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

KubeEnvironments_Delete

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

KubeEnvironments_Get

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

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

KubeEnvironments_ListBySubscription

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

KubeEnvironments_Update

enum_ArcConfigurationArtifactsStorageType := [ "LocalNode", "NetworkFileSystem" ]
enum_FrontEndConfigurationKind := [ "NodePort", "LoadBalancer" ]

valid {
    input.Body.properties.internalLoadBalancerEnabled == BOOLEAN
    input.Body.properties.staticIp == STRING
    input.Body.properties.arcConfiguration.artifactsStorageType == enum_ArcConfigurationArtifactsStorageType[_]
    input.Body.properties.arcConfiguration.artifactStorageClassName == STRING
    input.Body.properties.arcConfiguration.artifactStorageMountPath == STRING
    input.Body.properties.arcConfiguration.artifactStorageNodeName == STRING
    input.Body.properties.arcConfiguration.artifactStorageAccessMode == STRING
    input.Body.properties.arcConfiguration.frontEndServiceConfiguration.kind == enum_FrontEndConfigurationKind[_]
    input.Body.properties.arcConfiguration.kubeConfig == STRING
    input.Body.properties.appLogsConfiguration.destination == STRING
    input.Body.properties.appLogsConfiguration.logAnalyticsConfiguration.customerId == STRING
    input.Body.properties.appLogsConfiguration.logAnalyticsConfiguration.sharedKey == STRING
    input.Body.properties.containerAppsConfiguration.daprAIInstrumentationKey == STRING
    input.Body.properties.containerAppsConfiguration.platformReservedCidr == STRING
    input.Body.properties.containerAppsConfiguration.platformReservedDnsIP == STRING
    input.Body.properties.containerAppsConfiguration.controlPlaneSubnetResourceId == STRING
    input.Body.properties.containerAppsConfiguration.appSubnetResourceId == STRING
    input.Body.properties.containerAppsConfiguration.dockerBridgeCidr == STRING
    input.Body.properties.aksResourceID == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ListAseRegions

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

ListBillingMeters

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

ListCustomHostNameSites

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

ListGeoRegions

enum_SkuParameter := [ "Free", "Shared", "Basic", "Standard", "Premium", "Dynamic", "Isolated", "IsolatedV2", "PremiumV2", "PremiumV3", "PremiumContainer", "ElasticPremium", "ElasticIsolated" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.sku == enum_SkuParameter[_]
    input.Qs.linuxWorkersEnabled == BOOLEAN
    input.Qs.xenonWorkersEnabled == BOOLEAN
    input.Qs.linuxDynamicWorkersEnabled == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ListPremierAddOnOffers

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

ListSiteIdentifiersAssignedToHostName

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

ListSkus

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

ListSourceControls

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

ManagedApis_Get

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

ManagedApis_List

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

ManagedHostingEnvironments_CreateOrUpdateManagedHostingEnvironment

enum_HostingEnvironmentPropertiesInternalLoadBalancingMode := [ "None", "Web", "Publishing" ]
enum_HostingEnvironmentPropertiesProvisioningState := [ "Succeeded", "Failed", "Canceled", "InProgress", "Deleting" ]
enum_HostingEnvironmentPropertiesStatus := [ "Preparing", "Ready", "Scaling", "Deleting" ]
enum_NetworkAccessControlEntryAction := [ "Permit", "Deny" ]
enum_StampCapacityComputeMode := [ "Shared", "Dedicated", "Dynamic" ]
enum_StampCapacityWorkerSize := [ "Default", "Small", "Medium", "Large" ]
enum_WorkerPoolPropertiesComputeMode := [ "Shared", "Dedicated", "Dynamic" ]

valid {
    input.Body.properties.name == STRING
    input.Body.properties.location == STRING
    input.Body.properties.provisioningState == enum_HostingEnvironmentPropertiesProvisioningState[_]
    input.Body.properties.status == enum_HostingEnvironmentPropertiesStatus[_]
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetResourceGroupName == STRING
    input.Body.properties.vnetSubnetName == STRING
    input.Body.properties.virtualNetwork.id == STRING
    input.Body.properties.virtualNetwork.name == STRING
    input.Body.properties.virtualNetwork.type == STRING
    input.Body.properties.virtualNetwork.subnet == STRING
    input.Body.properties.internalLoadBalancingMode == enum_HostingEnvironmentPropertiesInternalLoadBalancingMode[_]
    input.Body.properties.multiSize == STRING
    input.Body.properties.multiRoleCount == INTEGER
    input.Body.properties.workerPools[_].properties.workerSizeId == INTEGER
    input.Body.properties.workerPools[_].properties.computeMode == enum_WorkerPoolPropertiesComputeMode[_]
    input.Body.properties.workerPools[_].properties.workerSize == STRING
    input.Body.properties.workerPools[_].properties.workerCount == INTEGER
    input.Body.properties.workerPools[_].properties.instanceNames[_] == STRING
    input.Body.properties.workerPools[_].sku.name == STRING
    input.Body.properties.workerPools[_].sku.tier == STRING
    input.Body.properties.workerPools[_].sku.size == STRING
    input.Body.properties.workerPools[_].sku.family == STRING
    input.Body.properties.workerPools[_].sku.capacity == INTEGER
    input.Body.properties.workerPools[_].id == STRING
    input.Body.properties.workerPools[_].name == STRING
    input.Body.properties.workerPools[_].kind == STRING
    input.Body.properties.workerPools[_].location == STRING
    input.Body.properties.workerPools[_].type == STRING
    input.Body.properties.workerPools[_].tags.STRING == STRING
    input.Body.properties.ipsslAddressCount == INTEGER
    input.Body.properties.databaseEdition == STRING
    input.Body.properties.databaseServiceObjective == STRING
    input.Body.properties.upgradeDomains == INTEGER
    input.Body.properties.subscriptionId == STRING
    input.Body.properties.dnsSuffix == STRING
    input.Body.properties.lastAction == STRING
    input.Body.properties.lastActionResult == STRING
    input.Body.properties.allowedMultiSizes == STRING
    input.Body.properties.allowedWorkerSizes == STRING
    input.Body.properties.maximumNumberOfMachines == INTEGER
    input.Body.properties.vipMappings[_].virtualIP == STRING
    input.Body.properties.vipMappings[_].internalHttpPort == INTEGER
    input.Body.properties.vipMappings[_].internalHttpsPort == INTEGER
    input.Body.properties.vipMappings[_].inUse == BOOLEAN
    input.Body.properties.environmentCapacities[_].name == STRING
    input.Body.properties.environmentCapacities[_].availableCapacity == INTEGER
    input.Body.properties.environmentCapacities[_].totalCapacity == INTEGER
    input.Body.properties.environmentCapacities[_].unit == STRING
    input.Body.properties.environmentCapacities[_].computeMode == enum_StampCapacityComputeMode[_]
    input.Body.properties.environmentCapacities[_].workerSize == enum_StampCapacityWorkerSize[_]
    input.Body.properties.environmentCapacities[_].workerSizeId == INTEGER
    input.Body.properties.environmentCapacities[_].excludeFromCapacityAllocation == BOOLEAN
    input.Body.properties.environmentCapacities[_].isApplicableForAllComputeModes == BOOLEAN
    input.Body.properties.environmentCapacities[_].siteMode == STRING
    input.Body.properties.networkAccessControlList[_].action == enum_NetworkAccessControlEntryAction[_]
    input.Body.properties.networkAccessControlList[_].description == STRING
    input.Body.properties.networkAccessControlList[_].order == INTEGER
    input.Body.properties.networkAccessControlList[_].remoteSubnet == STRING
    input.Body.properties.environmentIsHealthy == BOOLEAN
    input.Body.properties.environmentStatus == STRING
    input.Body.properties.resourceGroup == STRING
    input.Body.properties.apiManagementAccountId == STRING
    input.Body.properties.suspended == BOOLEAN
    input.Body.properties.clusterSettings[_].name == STRING
    input.Body.properties.clusterSettings[_].value == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ManagedHostingEnvironments_DeleteManagedHostingEnvironment

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

ManagedHostingEnvironments_GetManagedHostingEnvironment

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

ManagedHostingEnvironments_GetManagedHostingEnvironmentOperation

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

ManagedHostingEnvironments_GetManagedHostingEnvironmentServerFarms

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

ManagedHostingEnvironments_GetManagedHostingEnvironmentSites

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

ManagedHostingEnvironments_GetManagedHostingEnvironmentVips

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

ManagedHostingEnvironments_GetManagedHostingEnvironmentWebHostingPlans

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

ManagedHostingEnvironments_GetManagedHostingEnvironments

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
}

Move

valid {
    input.Body.targetResourceGroup == STRING
    input.Body.resources[_] == 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
}

Provider_GetAvailableStacks

enum_osTypeSelectedParameter := [ "Windows", "Linux", "WindowsFunctions", "LinuxFunctions", "All" ]

valid {
    input.Qs.osTypeSelected == enum_osTypeSelectedParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Provider_GetAvailableStacksOnPrem

enum_osTypeSelectedParameter := [ "Windows", "Linux", "WindowsFunctions", "LinuxFunctions", "All" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.osTypeSelected == enum_osTypeSelectedParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Provider_GetFunctionAppStacks

enum_stackOsTypeParameter := [ "Windows", "Linux", "All" ]

valid {
    input.Qs.stackOsType == enum_stackOsTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Provider_GetFunctionAppStacksForLocation

enum_stackOsTypeParameter := [ "Windows", "Linux", "All" ]

valid {
    input.ReqMap.location == STRING
    input.Qs.stackOsType == enum_stackOsTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Provider_GetWebAppStacks

enum_stackOsTypeParameter := [ "Windows", "Linux", "All" ]

valid {
    input.Qs.stackOsType == enum_stackOsTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Provider_GetWebAppStacksForLocation

enum_stackOsTypeParameter := [ "Windows", "Linux", "All" ]

valid {
    input.ReqMap.location == STRING
    input.Qs.stackOsType == enum_stackOsTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Provider_ListOperations

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

Recommendations_DisableAllForHostingEnvironment

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

Recommendations_DisableAllForWebApp

valid {
    input.ReqMap.ResourceGroup == 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
}

Recommendations_DisableRecommendationForHostingEnvironment

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

Recommendations_DisableRecommendationForSite

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

Recommendations_DisableRecommendationForSubscription

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

Recommendations_GetRuleDetailsByHostingEnvironment

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostingEnvironmentName == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.updateSeen == BOOLEAN
    input.Qs.recommendationId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Recommendations_GetRuleDetailsByWebApp

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.siteName == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.updateSeen == BOOLEAN
    input.Qs.recommendationId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Recommendations_List

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

Recommendations_ListHistoryForHostingEnvironment

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

Recommendations_ListHistoryForWebApp

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

Recommendations_ListRecommendedRulesForHostingEnvironment

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

Recommendations_ListRecommendedRulesForWebApp

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

Recommendations_ResetAllFilters

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

Recommendations_ResetAllFiltersForHostingEnvironment

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

Recommendations_ResetAllFiltersForWebApp

valid {
    input.ReqMap.ResourceGroup == 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
}

ResourceHealthMetadata_GetBySite

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

ResourceHealthMetadata_GetBySiteSlot

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

ResourceHealthMetadata_List

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

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

ResourceHealthMetadata_ListBySite

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

ResourceHealthMetadata_ListBySiteSlot

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

ServerFarms_GetServerFarmOperation

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

Sites_CreateInstanceDeployment

valid {
    input.Body.properties.id == STRING
    input.Body.properties.status == INTEGER
    input.Body.properties.message == STRING
    input.Body.properties.author == STRING
    input.Body.properties.deployer == STRING
    input.Body.properties.author_email == STRING
    input.Body.properties.start_time == STRING
    input.Body.properties.end_time == STRING
    input.Body.properties.active == BOOLEAN
    input.Body.properties.details == STRING
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.type == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.id == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Sites_CreateInstanceDeploymentSlot

valid {
    input.Body.properties.id == STRING
    input.Body.properties.status == INTEGER
    input.Body.properties.message == STRING
    input.Body.properties.author == STRING
    input.Body.properties.deployer == STRING
    input.Body.properties.author_email == STRING
    input.Body.properties.start_time == STRING
    input.Body.properties.end_time == STRING
    input.Body.properties.active == BOOLEAN
    input.Body.properties.details == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.id == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Sites_DeleteInstanceDeployment

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

Sites_DeleteInstanceDeploymentSlot

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

Sites_GetDeletedSites

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

Sites_GetInstanceDeployment

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

Sites_GetInstanceDeploymentSlot

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

Sites_GetInstanceDeployments

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

Sites_GetInstanceDeploymentsSlot

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

Sites_GetSiteOperation

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

Sites_GetSiteOperationSlot

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

Sites_GetSiteSnapshots

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

Sites_GetSiteSnapshotsSlot

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

StaticSites_ApproveOrRejectPrivateEndpointConnection

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.ipAddresses[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateBasicAuth

enum_BasicAuthNameParameter := [ "default" ]

valid {
    input.Body.properties.password == STRING
    input.Body.properties.secretUrl == STRING
    input.Body.properties.applicableEnvironmentsMode == STRING
    input.Body.properties.environments[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.basicAuthName == enum_BasicAuthNameParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateBuildDatabaseConnection

valid {
    input.Body.properties.resourceId == STRING
    input.Body.properties.connectionIdentity == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.region == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.databaseConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateDatabaseConnection

valid {
    input.Body.properties.resourceId == STRING
    input.Body.properties.connectionIdentity == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.databaseConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateStaticSite

enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_StaticSiteEnterpriseGradeCdnStatus := [ "Enabled", "Enabling", "Disabled", "Disabling" ]
enum_StaticSiteStagingEnvironmentPolicy := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.repositoryUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.repositoryToken == STRING
    input.Body.properties.buildProperties.appLocation == STRING
    input.Body.properties.buildProperties.apiLocation == STRING
    input.Body.properties.buildProperties.appArtifactLocation == STRING
    input.Body.properties.buildProperties.outputLocation == STRING
    input.Body.properties.buildProperties.appBuildCommand == STRING
    input.Body.properties.buildProperties.apiBuildCommand == STRING
    input.Body.properties.buildProperties.skipGithubActionWorkflowGeneration == BOOLEAN
    input.Body.properties.buildProperties.githubActionSecretNameOverride == STRING
    input.Body.properties.stagingEnvironmentPolicy == enum_StaticSiteStagingEnvironmentPolicy[_]
    input.Body.properties.allowConfigFileUpdates == BOOLEAN
    input.Body.properties.templateProperties.templateRepositoryUrl == STRING
    input.Body.properties.templateProperties.owner == STRING
    input.Body.properties.templateProperties.repositoryName == STRING
    input.Body.properties.templateProperties.description == STRING
    input.Body.properties.templateProperties.isPrivate == BOOLEAN
    input.Body.properties.provider == STRING
    input.Body.properties.enterpriseGradeCdnStatus == enum_StaticSiteEnterpriseGradeCdnStatus[_]
    input.Body.properties.publicNetworkAccess == STRING
    input.Body.sku.name == STRING
    input.Body.sku.tier == STRING
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.sku.skuCapacity.minimum == INTEGER
    input.Body.sku.skuCapacity.maximum == INTEGER
    input.Body.sku.skuCapacity.elasticMaximum == INTEGER
    input.Body.sku.skuCapacity.default == INTEGER
    input.Body.sku.skuCapacity.scaleType == STRING
    input.Body.sku.locations[_] == STRING
    input.Body.sku.capabilities[_].name == STRING
    input.Body.sku.capabilities[_].value == STRING
    input.Body.sku.capabilities[_].reason == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateStaticSiteAppSettings

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

StaticSites_CreateOrUpdateStaticSiteBuildAppSettings

valid {
    input.Body.properties.STRING == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateStaticSiteBuildFunctionAppSettings

valid {
    input.Body.properties.STRING == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateStaticSiteCustomDomain

valid {
    input.Body.properties.validationMethod == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateOrUpdateStaticSiteFunctionAppSettings

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

StaticSites_CreateUserRolesInvitationLink

valid {
    input.Body.properties.domain == STRING
    input.Body.properties.provider == STRING
    input.Body.properties.userDetails == STRING
    input.Body.properties.roles == STRING
    input.Body.properties.numHoursToExpiration == INTEGER
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateZipDeploymentForStaticSite

valid {
    input.Body.properties.appZipUrl == STRING
    input.Body.properties.apiZipUrl == STRING
    input.Body.properties.deploymentTitle == STRING
    input.Body.properties.provider == STRING
    input.Body.properties.functionLanguage == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_CreateZipDeploymentForStaticSiteBuild

valid {
    input.Body.properties.appZipUrl == STRING
    input.Body.properties.apiZipUrl == STRING
    input.Body.properties.deploymentTitle == STRING
    input.Body.properties.provider == STRING
    input.Body.properties.functionLanguage == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_DeleteBuildDatabaseConnection

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

StaticSites_DeleteDatabaseConnection

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

StaticSites_DeletePrivateEndpointConnection

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

StaticSites_DeleteStaticSite

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

StaticSites_DeleteStaticSiteBuild

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

StaticSites_DeleteStaticSiteCustomDomain

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

StaticSites_DeleteStaticSiteUser

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

StaticSites_DetachStaticSite

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

StaticSites_DetachUserProvidedFunctionAppFromStaticSite

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

StaticSites_DetachUserProvidedFunctionAppFromStaticSiteBuild

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

StaticSites_GetBasicAuth

enum_BasicAuthNameParameter := [ "default" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.basicAuthName == enum_BasicAuthNameParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_GetBuildDatabaseConnection

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

StaticSites_GetBuildDatabaseConnectionWithDetails

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

StaticSites_GetBuildDatabaseConnections

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

StaticSites_GetBuildDatabaseConnectionsWithDetails

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

StaticSites_GetDatabaseConnection

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

StaticSites_GetDatabaseConnectionWithDetails

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

StaticSites_GetDatabaseConnections

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

StaticSites_GetDatabaseConnectionsWithDetails

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

StaticSites_GetLinkedBackend

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

StaticSites_GetLinkedBackendForBuild

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

StaticSites_GetLinkedBackends

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

StaticSites_GetLinkedBackendsForBuild

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

StaticSites_GetPrivateEndpointConnection

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

StaticSites_GetPrivateEndpointConnectionList

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

StaticSites_GetPrivateLinkResources

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

StaticSites_GetStaticSite

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

StaticSites_GetStaticSiteBuild

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

StaticSites_GetStaticSiteBuilds

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

StaticSites_GetStaticSiteCustomDomain

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

StaticSites_GetStaticSitesByResourceGroup

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
}

StaticSites_GetUserProvidedFunctionAppForStaticSite

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

StaticSites_GetUserProvidedFunctionAppForStaticSiteBuild

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

StaticSites_GetUserProvidedFunctionAppsForStaticSite

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

StaticSites_GetUserProvidedFunctionAppsForStaticSiteBuild

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

StaticSites_LinkBackend

valid {
    input.Body.properties.backendResourceId == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.linkedBackendName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_LinkBackendToBuild

valid {
    input.Body.properties.backendResourceId == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.linkedBackendName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_List

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

StaticSites_ListBasicAuth

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

StaticSites_ListStaticSiteAppSettings

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

StaticSites_ListStaticSiteBuildAppSettings

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

StaticSites_ListStaticSiteBuildFunctionAppSettings

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

StaticSites_ListStaticSiteBuildFunctions

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

StaticSites_ListStaticSiteConfiguredRoles

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

StaticSites_ListStaticSiteCustomDomains

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

StaticSites_ListStaticSiteFunctionAppSettings

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

StaticSites_ListStaticSiteFunctions

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

StaticSites_ListStaticSiteSecrets

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

StaticSites_ListStaticSiteUsers

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

StaticSites_PreviewWorkflow

valid {
    input.Body.properties.repositoryUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.buildProperties.appLocation == STRING
    input.Body.properties.buildProperties.apiLocation == STRING
    input.Body.properties.buildProperties.appArtifactLocation == STRING
    input.Body.properties.buildProperties.outputLocation == STRING
    input.Body.properties.buildProperties.appBuildCommand == STRING
    input.Body.properties.buildProperties.apiBuildCommand == STRING
    input.Body.properties.buildProperties.skipGithubActionWorkflowGeneration == BOOLEAN
    input.Body.properties.buildProperties.githubActionSecretNameOverride == STRING
    input.Body.kind == STRING
    input.ReqMap.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

StaticSites_RegisterUserProvidedFunctionAppWithStaticSite

valid {
    input.Body.properties.functionAppResourceId == STRING
    input.Body.properties.functionAppRegion == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.functionAppName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.isForced == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_RegisterUserProvidedFunctionAppWithStaticSiteBuild

valid {
    input.Body.properties.functionAppResourceId == STRING
    input.Body.properties.functionAppRegion == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.functionAppName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.isForced == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_ResetStaticSiteApiKey

valid {
    input.Body.properties.repositoryToken == STRING
    input.Body.properties.shouldUpdateRepository == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_UnlinkBackend

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

StaticSites_UnlinkBackendFromBuild

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.linkedBackendName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.isCleaningAuthConfig == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_UpdateBuildDatabaseConnection

valid {
    input.Body.properties.resourceId == STRING
    input.Body.properties.connectionIdentity == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.databaseConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_UpdateDatabaseConnection

valid {
    input.Body.properties.resourceId == STRING
    input.Body.properties.connectionIdentity == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.databaseConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_UpdateStaticSite

enum_StaticSiteEnterpriseGradeCdnStatus := [ "Enabled", "Enabling", "Disabled", "Disabling" ]
enum_StaticSiteStagingEnvironmentPolicy := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.repositoryUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.repositoryToken == STRING
    input.Body.properties.buildProperties.appLocation == STRING
    input.Body.properties.buildProperties.apiLocation == STRING
    input.Body.properties.buildProperties.appArtifactLocation == STRING
    input.Body.properties.buildProperties.outputLocation == STRING
    input.Body.properties.buildProperties.appBuildCommand == STRING
    input.Body.properties.buildProperties.apiBuildCommand == STRING
    input.Body.properties.buildProperties.skipGithubActionWorkflowGeneration == BOOLEAN
    input.Body.properties.buildProperties.githubActionSecretNameOverride == STRING
    input.Body.properties.stagingEnvironmentPolicy == enum_StaticSiteStagingEnvironmentPolicy[_]
    input.Body.properties.allowConfigFileUpdates == BOOLEAN
    input.Body.properties.templateProperties.templateRepositoryUrl == STRING
    input.Body.properties.templateProperties.owner == STRING
    input.Body.properties.templateProperties.repositoryName == STRING
    input.Body.properties.templateProperties.description == STRING
    input.Body.properties.templateProperties.isPrivate == BOOLEAN
    input.Body.properties.provider == STRING
    input.Body.properties.enterpriseGradeCdnStatus == enum_StaticSiteEnterpriseGradeCdnStatus[_]
    input.Body.properties.publicNetworkAccess == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_UpdateStaticSiteUser

valid {
    input.Body.properties.roles == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.authprovider == STRING
    input.ReqMap.userid == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_ValidateBackend

valid {
    input.Body.properties.backendResourceId == STRING
    input.Body.properties.region == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.linkedBackendName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_ValidateBackendForBuild

valid {
    input.Body.properties.backendResourceId == STRING
    input.Body.properties.region == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.environmentName == STRING
    input.ReqMap.linkedBackendName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StaticSites_ValidateCustomDomainCanBeAddedToStaticSite

valid {
    input.Body.properties.validationMethod == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UpdatePublishingUser

valid {
    input.Body.properties.publishingUserName == STRING
    input.Body.properties.publishingPassword == STRING
    input.Body.properties.publishingPasswordHash == STRING
    input.Body.properties.publishingPasswordHashSalt == STRING
    input.Body.properties.scmUri == STRING
    input.Body.kind == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSourceControl

valid {
    input.Body.properties.token == STRING
    input.Body.properties.tokenSecret == STRING
    input.Body.properties.refreshToken == STRING
    input.Body.properties.expirationTime == STRING
    input.Body.kind == STRING
    input.ReqMap.sourceControlType == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Usage_GetUsage

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

Validate

enum_AppServiceEnvironmentInternalLoadBalancingMode := [ "None", "Web", "Publishing", "Web, Publishing" ]
enum_AppServiceEnvironmentUpgradePreference := [ "None", "Early", "Late", "Manual" ]
enum_ValidateRequestType := [ "ServerFarm", "Site", "Microsoft.Web/hostingEnvironments" ]

valid {
    input.Body.name == STRING
    input.Body.type == enum_ValidateRequestType[_]
    input.Body.location == STRING
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.skuName == STRING
    input.Body.properties.needLinuxWorkers == BOOLEAN
    input.Body.properties.isSpot == BOOLEAN
    input.Body.properties.capacity == INTEGER
    input.Body.properties.hostingEnvironment == STRING
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.containerRegistryBaseUrl == STRING
    input.Body.properties.containerRegistryUsername == STRING
    input.Body.properties.containerRegistryPassword == STRING
    input.Body.properties.containerImageRepository == STRING
    input.Body.properties.containerImageTag == STRING
    input.Body.properties.containerImagePlatform == STRING
    input.Body.properties.appServiceEnvironment.virtualNetwork.id == STRING
    input.Body.properties.appServiceEnvironment.virtualNetwork.subnet == STRING
    input.Body.properties.appServiceEnvironment.internalLoadBalancingMode == enum_AppServiceEnvironmentInternalLoadBalancingMode[_]
    input.Body.properties.appServiceEnvironment.multiSize == STRING
    input.Body.properties.appServiceEnvironment.ipsslAddressCount == INTEGER
    input.Body.properties.appServiceEnvironment.dnsSuffix == STRING
    input.Body.properties.appServiceEnvironment.frontEndScaleFactor == INTEGER
    input.Body.properties.appServiceEnvironment.clusterSettings[_].name == STRING
    input.Body.properties.appServiceEnvironment.clusterSettings[_].value == STRING
    input.Body.properties.appServiceEnvironment.userWhitelistedIpRanges[_] == STRING
    input.Body.properties.appServiceEnvironment.upgradePreference == enum_AppServiceEnvironmentUpgradePreference[_]
    input.Body.properties.appServiceEnvironment.dedicatedHostCount == INTEGER
    input.Body.properties.appServiceEnvironment.zoneRedundant == BOOLEAN
    input.Body.properties.appServiceEnvironment.customDnsSuffixConfiguration.properties.dnsSuffix == STRING
    input.Body.properties.appServiceEnvironment.customDnsSuffixConfiguration.properties.certificateUrl == STRING
    input.Body.properties.appServiceEnvironment.customDnsSuffixConfiguration.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.appServiceEnvironment.customDnsSuffixConfiguration.kind == STRING
    input.Body.properties.appServiceEnvironment.networkingConfiguration.properties.allowNewPrivateEndpointConnections == BOOLEAN
    input.Body.properties.appServiceEnvironment.networkingConfiguration.properties.ftpEnabled == BOOLEAN
    input.Body.properties.appServiceEnvironment.networkingConfiguration.properties.remoteDebugEnabled == BOOLEAN
    input.Body.properties.appServiceEnvironment.networkingConfiguration.properties.inboundIpAddressOverride == STRING
    input.Body.properties.appServiceEnvironment.networkingConfiguration.kind == 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
}

ValidateContainerSettings

valid {
    input.Body.baseUrl == STRING
    input.Body.username == STRING
    input.Body.password == STRING
    input.Body.repository == STRING
    input.Body.tag == STRING
    input.Body.platform == 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
}

ValidateMove

valid {
    input.Body.targetResourceGroup == STRING
    input.Body.resources[_] == 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
}

VerifyHostingEnvironmentVnet

valid {
    input.Body.properties.vnetResourceGroup == STRING
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetSubnetName == STRING
    input.Body.properties.subnetResourceId == STRING
    input.Body.kind == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

WebApps_AddPremierAddOn

valid {
    input.Body.properties.sku == STRING
    input.Body.properties.product == STRING
    input.Body.properties.vendor == STRING
    input.Body.properties.marketplacePublisher == STRING
    input.Body.properties.marketplaceOffer == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.premierAddOnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_AddPremierAddOnSlot

valid {
    input.Body.properties.sku == STRING
    input.Body.properties.product == STRING
    input.Body.properties.vendor == STRING
    input.Body.properties.marketplacePublisher == STRING
    input.Body.properties.marketplaceOffer == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.premierAddOnName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_AnalyzeCustomHostname

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

WebApps_AnalyzeCustomHostnameSlot

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

WebApps_ApplySlotConfigToProduction

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ApplySlotConfigurationSlot

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ApproveOrRejectPrivateEndpointConnection

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.ipAddresses[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ApproveOrRejectPrivateEndpointConnectionSlot

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == STRING
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.ipAddresses[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_Backup

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_BackupSlot

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CopyProductionSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.targetSlot == STRING
    input.Body.siteConfig.numberOfWorkers == INTEGER
    input.Body.siteConfig.defaultDocuments[_] == STRING
    input.Body.siteConfig.netFrameworkVersion == STRING
    input.Body.siteConfig.phpVersion == STRING
    input.Body.siteConfig.pythonVersion == STRING
    input.Body.siteConfig.nodeVersion == STRING
    input.Body.siteConfig.powerShellVersion == STRING
    input.Body.siteConfig.linuxFxVersion == STRING
    input.Body.siteConfig.windowsFxVersion == STRING
    input.Body.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.siteConfig.requestTracingExpirationTime == STRING
    input.Body.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.siteConfig.remoteDebuggingVersion == STRING
    input.Body.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.siteConfig.publishingUsername == STRING
    input.Body.siteConfig.appSettings[_].name == STRING
    input.Body.siteConfig.appSettings[_].value == STRING
    input.Body.siteConfig.connectionStrings[_].name == STRING
    input.Body.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.siteConfig.handlerMappings[_].extension == STRING
    input.Body.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.siteConfig.documentRoot == STRING
    input.Body.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.siteConfig.alwaysOn == BOOLEAN
    input.Body.siteConfig.javaVersion == STRING
    input.Body.siteConfig.javaContainer == STRING
    input.Body.siteConfig.javaContainerVersion == STRING
    input.Body.siteConfig.appCommandLine == STRING
    input.Body.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.siteConfig.tracingOptions == STRING
    input.Body.siteConfig.vnetName == STRING
    input.Body.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.siteConfig.push.kind == STRING
    input.Body.siteConfig.apiDefinition.url == STRING
    input.Body.siteConfig.apiManagementConfig.id == STRING
    input.Body.siteConfig.autoSwapSlotName == STRING
    input.Body.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.siteConfig.http20Enabled == BOOLEAN
    input.Body.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.siteConfig.healthCheckPath == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CopySlotSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.targetSlot == STRING
    input.Body.siteConfig.numberOfWorkers == INTEGER
    input.Body.siteConfig.defaultDocuments[_] == STRING
    input.Body.siteConfig.netFrameworkVersion == STRING
    input.Body.siteConfig.phpVersion == STRING
    input.Body.siteConfig.pythonVersion == STRING
    input.Body.siteConfig.nodeVersion == STRING
    input.Body.siteConfig.powerShellVersion == STRING
    input.Body.siteConfig.linuxFxVersion == STRING
    input.Body.siteConfig.windowsFxVersion == STRING
    input.Body.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.siteConfig.requestTracingExpirationTime == STRING
    input.Body.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.siteConfig.remoteDebuggingVersion == STRING
    input.Body.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.siteConfig.publishingUsername == STRING
    input.Body.siteConfig.appSettings[_].name == STRING
    input.Body.siteConfig.appSettings[_].value == STRING
    input.Body.siteConfig.connectionStrings[_].name == STRING
    input.Body.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.siteConfig.handlerMappings[_].extension == STRING
    input.Body.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.siteConfig.documentRoot == STRING
    input.Body.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.siteConfig.alwaysOn == BOOLEAN
    input.Body.siteConfig.javaVersion == STRING
    input.Body.siteConfig.javaContainer == STRING
    input.Body.siteConfig.javaContainerVersion == STRING
    input.Body.siteConfig.appCommandLine == STRING
    input.Body.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.siteConfig.tracingOptions == STRING
    input.Body.siteConfig.vnetName == STRING
    input.Body.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.siteConfig.push.kind == STRING
    input.Body.siteConfig.apiDefinition.url == STRING
    input.Body.siteConfig.apiManagementConfig.id == STRING
    input.Body.siteConfig.autoSwapSlotName == STRING
    input.Body.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.siteConfig.http20Enabled == BOOLEAN
    input.Body.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.siteConfig.healthCheckPath == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateDeployment

valid {
    input.Body.properties.status == INTEGER
    input.Body.properties.message == STRING
    input.Body.properties.author == STRING
    input.Body.properties.deployer == STRING
    input.Body.properties.author_email == STRING
    input.Body.properties.start_time == STRING
    input.Body.properties.end_time == STRING
    input.Body.properties.active == BOOLEAN
    input.Body.properties.details == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.id == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateDeploymentSlot

valid {
    input.Body.properties.status == INTEGER
    input.Body.properties.message == STRING
    input.Body.properties.author == STRING
    input.Body.properties.deployer == STRING
    input.Body.properties.author_email == STRING
    input.Body.properties.start_time == STRING
    input.Body.properties.end_time == STRING
    input.Body.properties.active == BOOLEAN
    input.Body.properties.details == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.id == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateFunction

valid {
    input.Body.properties.function_app_id == STRING
    input.Body.properties.script_root_path_href == STRING
    input.Body.properties.script_href == STRING
    input.Body.properties.config_href == STRING
    input.Body.properties.test_data_href == STRING
    input.Body.properties.secrets_file_href == STRING
    input.Body.properties.href == STRING
    input.Body.properties.config.STRING == STRING
    input.Body.properties.files.STRING == STRING
    input.Body.properties.test_data == STRING
    input.Body.properties.invoke_url_template == STRING
    input.Body.properties.language == STRING
    input.Body.properties.isDisabled == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.functionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateInstanceFunctionSlot

valid {
    input.Body.properties.function_app_id == STRING
    input.Body.properties.script_root_path_href == STRING
    input.Body.properties.script_href == STRING
    input.Body.properties.config_href == STRING
    input.Body.properties.test_data_href == STRING
    input.Body.properties.secrets_file_href == STRING
    input.Body.properties.href == STRING
    input.Body.properties.config.STRING == STRING
    input.Body.properties.files.STRING == STRING
    input.Body.properties.test_data == STRING
    input.Body.properties.invoke_url_template == STRING
    input.Body.properties.language == STRING
    input.Body.properties.isDisabled == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.functionName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateInstanceMSDeployOperation

valid {
    input.Body.properties.packageUri == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.dbType == STRING
    input.Body.properties.setParametersXmlFileUri == STRING
    input.Body.properties.setParameters.STRING == STRING
    input.Body.properties.skipAppData == BOOLEAN
    input.Body.properties.appOffline == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateInstanceMSDeployOperationSlot

valid {
    input.Body.properties.packageUri == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.dbType == STRING
    input.Body.properties.setParametersXmlFileUri == STRING
    input.Body.properties.setParameters.STRING == STRING
    input.Body.properties.skipAppData == BOOLEAN
    input.Body.properties.appOffline == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateMSDeployOperation

valid {
    input.Body.properties.packageUri == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.dbType == STRING
    input.Body.properties.setParametersXmlFileUri == STRING
    input.Body.properties.setParameters.STRING == STRING
    input.Body.properties.skipAppData == BOOLEAN
    input.Body.properties.appOffline == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateMSDeployOperationSlot

valid {
    input.Body.properties.packageUri == STRING
    input.Body.properties.connectionString == STRING
    input.Body.properties.dbType == STRING
    input.Body.properties.setParametersXmlFileUri == STRING
    input.Body.properties.setParameters.STRING == STRING
    input.Body.properties.skipAppData == BOOLEAN
    input.Body.properties.appOffline == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOneDeployOperation

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

WebApps_CreateOrUpdate

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_DaprConfigLogLevel := [ "info", "debug", "warn", "error" ]
enum_HostNameSslStateHostType := [ "Standard", "Repository" ]
enum_HostNameSslStateSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]
enum_SitePropertiesClientCertMode := [ "Required", "Optional", "OptionalInteractiveUser" ]
enum_SitePropertiesRedundancyMode := [ "None", "Manual", "Failover", "ActiveActive", "GeoRedundant" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.hostNameSslStates[_].name == STRING
    input.Body.properties.hostNameSslStates[_].sslState == enum_HostNameSslStateSslState[_]
    input.Body.properties.hostNameSslStates[_].virtualIP == STRING
    input.Body.properties.hostNameSslStates[_].thumbprint == STRING
    input.Body.properties.hostNameSslStates[_].toUpdate == BOOLEAN
    input.Body.properties.hostNameSslStates[_].hostType == enum_HostNameSslStateHostType[_]
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetImagePullEnabled == BOOLEAN
    input.Body.properties.vnetContentShareEnabled == BOOLEAN
    input.Body.properties.siteConfig.numberOfWorkers == INTEGER
    input.Body.properties.siteConfig.defaultDocuments[_] == STRING
    input.Body.properties.siteConfig.netFrameworkVersion == STRING
    input.Body.properties.siteConfig.phpVersion == STRING
    input.Body.properties.siteConfig.pythonVersion == STRING
    input.Body.properties.siteConfig.nodeVersion == STRING
    input.Body.properties.siteConfig.powerShellVersion == STRING
    input.Body.properties.siteConfig.linuxFxVersion == STRING
    input.Body.properties.siteConfig.windowsFxVersion == STRING
    input.Body.properties.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.properties.siteConfig.requestTracingExpirationTime == STRING
    input.Body.properties.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.remoteDebuggingVersion == STRING
    input.Body.properties.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.properties.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.properties.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.publishingUsername == STRING
    input.Body.properties.siteConfig.appSettings[_].name == STRING
    input.Body.properties.siteConfig.appSettings[_].value == STRING
    input.Body.properties.siteConfig.metadata[_].name == STRING
    input.Body.properties.siteConfig.metadata[_].value == STRING
    input.Body.properties.siteConfig.connectionStrings[_].name == STRING
    input.Body.properties.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.properties.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.siteConfig.handlerMappings[_].extension == STRING
    input.Body.properties.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.properties.siteConfig.documentRoot == STRING
    input.Body.properties.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.properties.siteConfig.alwaysOn == BOOLEAN
    input.Body.properties.siteConfig.javaVersion == STRING
    input.Body.properties.siteConfig.javaContainer == STRING
    input.Body.properties.siteConfig.javaContainerVersion == STRING
    input.Body.properties.siteConfig.appCommandLine == STRING
    input.Body.properties.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.properties.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.properties.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.properties.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.siteConfig.tracingOptions == STRING
    input.Body.properties.siteConfig.vnetName == STRING
    input.Body.properties.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.properties.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.properties.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.properties.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.properties.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.properties.siteConfig.push.kind == STRING
    input.Body.properties.siteConfig.apiDefinition.url == STRING
    input.Body.properties.siteConfig.apiManagementConfig.id == STRING
    input.Body.properties.siteConfig.autoSwapSlotName == STRING
    input.Body.properties.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.properties.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.keyVaultReferenceIdentity == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.siteConfig.http20Enabled == BOOLEAN
    input.Body.properties.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.siteConfig.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.properties.siteConfig.functionAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.healthCheckPath == STRING
    input.Body.properties.siteConfig.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.siteConfig.websiteTimeZone == STRING
    input.Body.properties.siteConfig.minimumElasticInstanceCount == INTEGER
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.siteConfig.publicNetworkAccess == STRING
    input.Body.properties.daprConfig.enabled == BOOLEAN
    input.Body.properties.daprConfig.appId == STRING
    input.Body.properties.daprConfig.appPort == INTEGER
    input.Body.properties.daprConfig.httpReadBufferSize == INTEGER
    input.Body.properties.daprConfig.httpMaxRequestSize == INTEGER
    input.Body.properties.daprConfig.logLevel == enum_DaprConfigLogLevel[_]
    input.Body.properties.daprConfig.enableApiLogging == BOOLEAN
    input.Body.properties.workloadProfileName == STRING
    input.Body.properties.resourceConfig.cpu == NUMBER
    input.Body.properties.resourceConfig.memory == STRING
    input.Body.properties.scmSiteAlsoStopped == BOOLEAN
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.clientAffinityEnabled == BOOLEAN
    input.Body.properties.clientCertEnabled == BOOLEAN
    input.Body.properties.clientCertMode == enum_SitePropertiesClientCertMode[_]
    input.Body.properties.clientCertExclusionPaths == STRING
    input.Body.properties.hostNamesDisabled == BOOLEAN
    input.Body.properties.customDomainVerificationId == STRING
    input.Body.properties.containerSize == INTEGER
    input.Body.properties.dailyMemoryTimeQuota == INTEGER
    input.Body.properties.cloningInfo.correlationId == STRING
    input.Body.properties.cloningInfo.overwrite == BOOLEAN
    input.Body.properties.cloningInfo.cloneCustomHostNames == BOOLEAN
    input.Body.properties.cloningInfo.cloneSourceControl == BOOLEAN
    input.Body.properties.cloningInfo.sourceWebAppId == STRING
    input.Body.properties.cloningInfo.sourceWebAppLocation == STRING
    input.Body.properties.cloningInfo.hostingEnvironment == STRING
    input.Body.properties.cloningInfo.appSettingsOverrides.STRING == STRING
    input.Body.properties.cloningInfo.configureLoadBalancing == BOOLEAN
    input.Body.properties.cloningInfo.trafficManagerProfileId == STRING
    input.Body.properties.cloningInfo.trafficManagerProfileName == STRING
    input.Body.properties.httpsOnly == BOOLEAN
    input.Body.properties.redundancyMode == enum_SitePropertiesRedundancyMode[_]
    input.Body.properties.publicNetworkAccess == STRING
    input.Body.properties.storageAccountRequired == BOOLEAN
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.virtualNetworkSubnetId == STRING
    input.Body.properties.managedEnvironmentId == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.extendedLocation.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateConfiguration

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.properties.numberOfWorkers == INTEGER
    input.Body.properties.defaultDocuments[_] == STRING
    input.Body.properties.netFrameworkVersion == STRING
    input.Body.properties.phpVersion == STRING
    input.Body.properties.pythonVersion == STRING
    input.Body.properties.nodeVersion == STRING
    input.Body.properties.powerShellVersion == STRING
    input.Body.properties.linuxFxVersion == STRING
    input.Body.properties.windowsFxVersion == STRING
    input.Body.properties.requestTracingEnabled == BOOLEAN
    input.Body.properties.requestTracingExpirationTime == STRING
    input.Body.properties.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.remoteDebuggingVersion == STRING
    input.Body.properties.httpLoggingEnabled == BOOLEAN
    input.Body.properties.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.acrUserManagedIdentityID == STRING
    input.Body.properties.logsDirectorySizeLimit == INTEGER
    input.Body.properties.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.publishingUsername == STRING
    input.Body.properties.appSettings[_].name == STRING
    input.Body.properties.appSettings[_].value == STRING
    input.Body.properties.metadata[_].name == STRING
    input.Body.properties.metadata[_].value == STRING
    input.Body.properties.connectionStrings[_].name == STRING
    input.Body.properties.connectionStrings[_].connectionString == STRING
    input.Body.properties.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.handlerMappings[_].extension == STRING
    input.Body.properties.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.handlerMappings[_].arguments == STRING
    input.Body.properties.documentRoot == STRING
    input.Body.properties.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.webSocketsEnabled == BOOLEAN
    input.Body.properties.alwaysOn == BOOLEAN
    input.Body.properties.javaVersion == STRING
    input.Body.properties.javaContainer == STRING
    input.Body.properties.javaContainerVersion == STRING
    input.Body.properties.appCommandLine == STRING
    input.Body.properties.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.virtualApplications[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].physicalPath == STRING
    input.Body.properties.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.experiments.rampUpRules[_].name == STRING
    input.Body.properties.limits.maxPercentageCpu == NUMBER
    input.Body.properties.limits.maxMemoryInMb == INTEGER
    input.Body.properties.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.autoHealEnabled == BOOLEAN
    input.Body.properties.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.tracingOptions == STRING
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetPrivatePortsCount == INTEGER
    input.Body.properties.cors.allowedOrigins[_] == STRING
    input.Body.properties.cors.supportCredentials == BOOLEAN
    input.Body.properties.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.push.properties.tagWhitelistJson == STRING
    input.Body.properties.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.push.properties.dynamicTagsJson == STRING
    input.Body.properties.push.kind == STRING
    input.Body.properties.apiDefinition.url == STRING
    input.Body.properties.apiManagementConfig.id == STRING
    input.Body.properties.autoSwapSlotName == STRING
    input.Body.properties.localMySqlEnabled == BOOLEAN
    input.Body.properties.managedServiceIdentityId == INTEGER
    input.Body.properties.xManagedServiceIdentityId == INTEGER
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.http20Enabled == BOOLEAN
    input.Body.properties.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.preWarmedInstanceCount == INTEGER
    input.Body.properties.functionAppScaleLimit == INTEGER
    input.Body.properties.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.healthCheckPath == STRING
    input.Body.properties.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.websiteTimeZone == STRING
    input.Body.properties.minimumElasticInstanceCount == INTEGER
    input.Body.properties.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.publicNetworkAccess == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateConfigurationSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.properties.numberOfWorkers == INTEGER
    input.Body.properties.defaultDocuments[_] == STRING
    input.Body.properties.netFrameworkVersion == STRING
    input.Body.properties.phpVersion == STRING
    input.Body.properties.pythonVersion == STRING
    input.Body.properties.nodeVersion == STRING
    input.Body.properties.powerShellVersion == STRING
    input.Body.properties.linuxFxVersion == STRING
    input.Body.properties.windowsFxVersion == STRING
    input.Body.properties.requestTracingEnabled == BOOLEAN
    input.Body.properties.requestTracingExpirationTime == STRING
    input.Body.properties.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.remoteDebuggingVersion == STRING
    input.Body.properties.httpLoggingEnabled == BOOLEAN
    input.Body.properties.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.acrUserManagedIdentityID == STRING
    input.Body.properties.logsDirectorySizeLimit == INTEGER
    input.Body.properties.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.publishingUsername == STRING
    input.Body.properties.appSettings[_].name == STRING
    input.Body.properties.appSettings[_].value == STRING
    input.Body.properties.metadata[_].name == STRING
    input.Body.properties.metadata[_].value == STRING
    input.Body.properties.connectionStrings[_].name == STRING
    input.Body.properties.connectionStrings[_].connectionString == STRING
    input.Body.properties.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.handlerMappings[_].extension == STRING
    input.Body.properties.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.handlerMappings[_].arguments == STRING
    input.Body.properties.documentRoot == STRING
    input.Body.properties.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.webSocketsEnabled == BOOLEAN
    input.Body.properties.alwaysOn == BOOLEAN
    input.Body.properties.javaVersion == STRING
    input.Body.properties.javaContainer == STRING
    input.Body.properties.javaContainerVersion == STRING
    input.Body.properties.appCommandLine == STRING
    input.Body.properties.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.virtualApplications[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].physicalPath == STRING
    input.Body.properties.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.experiments.rampUpRules[_].name == STRING
    input.Body.properties.limits.maxPercentageCpu == NUMBER
    input.Body.properties.limits.maxMemoryInMb == INTEGER
    input.Body.properties.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.autoHealEnabled == BOOLEAN
    input.Body.properties.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.tracingOptions == STRING
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetPrivatePortsCount == INTEGER
    input.Body.properties.cors.allowedOrigins[_] == STRING
    input.Body.properties.cors.supportCredentials == BOOLEAN
    input.Body.properties.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.push.properties.tagWhitelistJson == STRING
    input.Body.properties.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.push.properties.dynamicTagsJson == STRING
    input.Body.properties.push.kind == STRING
    input.Body.properties.apiDefinition.url == STRING
    input.Body.properties.apiManagementConfig.id == STRING
    input.Body.properties.autoSwapSlotName == STRING
    input.Body.properties.localMySqlEnabled == BOOLEAN
    input.Body.properties.managedServiceIdentityId == INTEGER
    input.Body.properties.xManagedServiceIdentityId == INTEGER
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.http20Enabled == BOOLEAN
    input.Body.properties.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.preWarmedInstanceCount == INTEGER
    input.Body.properties.functionAppScaleLimit == INTEGER
    input.Body.properties.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.healthCheckPath == STRING
    input.Body.properties.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.websiteTimeZone == STRING
    input.Body.properties.minimumElasticInstanceCount == INTEGER
    input.Body.properties.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.publicNetworkAccess == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateDomainOwnershipIdentifier

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

WebApps_CreateOrUpdateDomainOwnershipIdentifierSlot

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

WebApps_CreateOrUpdateFunctionSecret

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.functionName == STRING
    input.ReqMap.keyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateFunctionSecretSlot

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.functionName == STRING
    input.ReqMap.keyName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHostNameBinding

enum_HostNameBindingPropertiesAzureResourceType := [ "Website", "TrafficManager" ]
enum_HostNameBindingPropertiesCustomHostNameDnsRecordType := [ "CName", "A" ]
enum_HostNameBindingPropertiesHostNameType := [ "Verified", "Managed" ]
enum_HostNameBindingPropertiesSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]

valid {
    input.Body.properties.siteName == STRING
    input.Body.properties.domainId == STRING
    input.Body.properties.azureResourceName == STRING
    input.Body.properties.azureResourceType == enum_HostNameBindingPropertiesAzureResourceType[_]
    input.Body.properties.customHostNameDnsRecordType == enum_HostNameBindingPropertiesCustomHostNameDnsRecordType[_]
    input.Body.properties.hostNameType == enum_HostNameBindingPropertiesHostNameType[_]
    input.Body.properties.sslState == enum_HostNameBindingPropertiesSslState[_]
    input.Body.properties.thumbprint == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.hostName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHostNameBindingSlot

enum_HostNameBindingPropertiesAzureResourceType := [ "Website", "TrafficManager" ]
enum_HostNameBindingPropertiesCustomHostNameDnsRecordType := [ "CName", "A" ]
enum_HostNameBindingPropertiesHostNameType := [ "Verified", "Managed" ]
enum_HostNameBindingPropertiesSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]

valid {
    input.Body.properties.siteName == STRING
    input.Body.properties.domainId == STRING
    input.Body.properties.azureResourceName == STRING
    input.Body.properties.azureResourceType == enum_HostNameBindingPropertiesAzureResourceType[_]
    input.Body.properties.customHostNameDnsRecordType == enum_HostNameBindingPropertiesCustomHostNameDnsRecordType[_]
    input.Body.properties.hostNameType == enum_HostNameBindingPropertiesHostNameType[_]
    input.Body.properties.sslState == enum_HostNameBindingPropertiesSslState[_]
    input.Body.properties.thumbprint == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.hostName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHostSecret

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.keyType == STRING
    input.ReqMap.keyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHostSecretSlot

valid {
    input.Body.name == STRING
    input.Body.value == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.keyType == STRING
    input.ReqMap.keyName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHybridConnection

valid {
    input.Body.properties.serviceBusNamespace == STRING
    input.Body.properties.relayName == STRING
    input.Body.properties.relayArmUri == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.sendKeyName == STRING
    input.Body.properties.sendKeyValue == STRING
    input.Body.properties.serviceBusSuffix == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.relayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateHybridConnectionSlot

valid {
    input.Body.properties.serviceBusNamespace == STRING
    input.Body.properties.relayName == STRING
    input.Body.properties.relayArmUri == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.sendKeyName == STRING
    input.Body.properties.sendKeyValue == STRING
    input.Body.properties.serviceBusSuffix == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.relayName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdatePublicCertificate

enum_PublicCertificatePropertiesPublicCertificateLocation := [ "CurrentUserMy", "LocalMachineMy", "Unknown" ]

valid {
    input.Body.properties.blob == STRING
    input.Body.properties.publicCertificateLocation == enum_PublicCertificatePropertiesPublicCertificateLocation[_]
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.publicCertificateName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdatePublicCertificateSlot

enum_PublicCertificatePropertiesPublicCertificateLocation := [ "CurrentUserMy", "LocalMachineMy", "Unknown" ]

valid {
    input.Body.properties.blob == STRING
    input.Body.properties.publicCertificateLocation == enum_PublicCertificatePropertiesPublicCertificateLocation[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.publicCertificateName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateRelayServiceConnection

valid {
    input.Body.properties.entityName == STRING
    input.Body.properties.entityConnectionString == STRING
    input.Body.properties.resourceType == STRING
    input.Body.properties.resourceConnectionString == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.biztalkUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.entityName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateRelayServiceConnectionSlot

valid {
    input.Body.properties.entityName == STRING
    input.Body.properties.entityConnectionString == STRING
    input.Body.properties.resourceType == STRING
    input.Body.properties.resourceConnectionString == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.biztalkUri == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.entityName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_DaprConfigLogLevel := [ "info", "debug", "warn", "error" ]
enum_HostNameSslStateHostType := [ "Standard", "Repository" ]
enum_HostNameSslStateSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]
enum_SitePropertiesClientCertMode := [ "Required", "Optional", "OptionalInteractiveUser" ]
enum_SitePropertiesRedundancyMode := [ "None", "Manual", "Failover", "ActiveActive", "GeoRedundant" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.hostNameSslStates[_].name == STRING
    input.Body.properties.hostNameSslStates[_].sslState == enum_HostNameSslStateSslState[_]
    input.Body.properties.hostNameSslStates[_].virtualIP == STRING
    input.Body.properties.hostNameSslStates[_].thumbprint == STRING
    input.Body.properties.hostNameSslStates[_].toUpdate == BOOLEAN
    input.Body.properties.hostNameSslStates[_].hostType == enum_HostNameSslStateHostType[_]
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetImagePullEnabled == BOOLEAN
    input.Body.properties.vnetContentShareEnabled == BOOLEAN
    input.Body.properties.siteConfig.numberOfWorkers == INTEGER
    input.Body.properties.siteConfig.defaultDocuments[_] == STRING
    input.Body.properties.siteConfig.netFrameworkVersion == STRING
    input.Body.properties.siteConfig.phpVersion == STRING
    input.Body.properties.siteConfig.pythonVersion == STRING
    input.Body.properties.siteConfig.nodeVersion == STRING
    input.Body.properties.siteConfig.powerShellVersion == STRING
    input.Body.properties.siteConfig.linuxFxVersion == STRING
    input.Body.properties.siteConfig.windowsFxVersion == STRING
    input.Body.properties.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.properties.siteConfig.requestTracingExpirationTime == STRING
    input.Body.properties.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.remoteDebuggingVersion == STRING
    input.Body.properties.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.properties.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.properties.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.publishingUsername == STRING
    input.Body.properties.siteConfig.appSettings[_].name == STRING
    input.Body.properties.siteConfig.appSettings[_].value == STRING
    input.Body.properties.siteConfig.metadata[_].name == STRING
    input.Body.properties.siteConfig.metadata[_].value == STRING
    input.Body.properties.siteConfig.connectionStrings[_].name == STRING
    input.Body.properties.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.properties.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.siteConfig.handlerMappings[_].extension == STRING
    input.Body.properties.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.properties.siteConfig.documentRoot == STRING
    input.Body.properties.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.properties.siteConfig.alwaysOn == BOOLEAN
    input.Body.properties.siteConfig.javaVersion == STRING
    input.Body.properties.siteConfig.javaContainer == STRING
    input.Body.properties.siteConfig.javaContainerVersion == STRING
    input.Body.properties.siteConfig.appCommandLine == STRING
    input.Body.properties.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.properties.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.properties.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.properties.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.siteConfig.tracingOptions == STRING
    input.Body.properties.siteConfig.vnetName == STRING
    input.Body.properties.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.properties.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.properties.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.properties.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.properties.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.properties.siteConfig.push.kind == STRING
    input.Body.properties.siteConfig.apiDefinition.url == STRING
    input.Body.properties.siteConfig.apiManagementConfig.id == STRING
    input.Body.properties.siteConfig.autoSwapSlotName == STRING
    input.Body.properties.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.properties.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.keyVaultReferenceIdentity == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.siteConfig.http20Enabled == BOOLEAN
    input.Body.properties.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.siteConfig.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.properties.siteConfig.functionAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.healthCheckPath == STRING
    input.Body.properties.siteConfig.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.siteConfig.websiteTimeZone == STRING
    input.Body.properties.siteConfig.minimumElasticInstanceCount == INTEGER
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.siteConfig.publicNetworkAccess == STRING
    input.Body.properties.daprConfig.enabled == BOOLEAN
    input.Body.properties.daprConfig.appId == STRING
    input.Body.properties.daprConfig.appPort == INTEGER
    input.Body.properties.daprConfig.httpReadBufferSize == INTEGER
    input.Body.properties.daprConfig.httpMaxRequestSize == INTEGER
    input.Body.properties.daprConfig.logLevel == enum_DaprConfigLogLevel[_]
    input.Body.properties.daprConfig.enableApiLogging == BOOLEAN
    input.Body.properties.workloadProfileName == STRING
    input.Body.properties.resourceConfig.cpu == NUMBER
    input.Body.properties.resourceConfig.memory == STRING
    input.Body.properties.scmSiteAlsoStopped == BOOLEAN
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.clientAffinityEnabled == BOOLEAN
    input.Body.properties.clientCertEnabled == BOOLEAN
    input.Body.properties.clientCertMode == enum_SitePropertiesClientCertMode[_]
    input.Body.properties.clientCertExclusionPaths == STRING
    input.Body.properties.hostNamesDisabled == BOOLEAN
    input.Body.properties.customDomainVerificationId == STRING
    input.Body.properties.containerSize == INTEGER
    input.Body.properties.dailyMemoryTimeQuota == INTEGER
    input.Body.properties.cloningInfo.correlationId == STRING
    input.Body.properties.cloningInfo.overwrite == BOOLEAN
    input.Body.properties.cloningInfo.cloneCustomHostNames == BOOLEAN
    input.Body.properties.cloningInfo.cloneSourceControl == BOOLEAN
    input.Body.properties.cloningInfo.sourceWebAppId == STRING
    input.Body.properties.cloningInfo.sourceWebAppLocation == STRING
    input.Body.properties.cloningInfo.hostingEnvironment == STRING
    input.Body.properties.cloningInfo.appSettingsOverrides.STRING == STRING
    input.Body.properties.cloningInfo.configureLoadBalancing == BOOLEAN
    input.Body.properties.cloningInfo.trafficManagerProfileId == STRING
    input.Body.properties.cloningInfo.trafficManagerProfileName == STRING
    input.Body.properties.httpsOnly == BOOLEAN
    input.Body.properties.redundancyMode == enum_SitePropertiesRedundancyMode[_]
    input.Body.properties.publicNetworkAccess == STRING
    input.Body.properties.storageAccountRequired == BOOLEAN
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.virtualNetworkSubnetId == STRING
    input.Body.properties.managedEnvironmentId == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.extendedLocation.name == STRING
    input.Body.kind == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateSourceControl

valid {
    input.Body.properties.repoUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.isManualIntegration == BOOLEAN
    input.Body.properties.isGitHubAction == BOOLEAN
    input.Body.properties.deploymentRollbackEnabled == BOOLEAN
    input.Body.properties.isMercurial == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeStack == STRING
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeVersion == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.serverUrl == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.imageName == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.username == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.password == STRING
    input.Body.properties.gitHubActionConfiguration.isLinux == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.generateWorkflowFile == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateSourceControlSlot

valid {
    input.Body.properties.repoUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.isManualIntegration == BOOLEAN
    input.Body.properties.isGitHubAction == BOOLEAN
    input.Body.properties.deploymentRollbackEnabled == BOOLEAN
    input.Body.properties.isMercurial == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeStack == STRING
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeVersion == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.serverUrl == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.imageName == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.username == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.password == STRING
    input.Body.properties.gitHubActionConfiguration.isLinux == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.generateWorkflowFile == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionWithCheck

valid {
    input.Body.properties.subnetResourceId == STRING
    input.Body.properties.swiftSupported == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot

valid {
    input.Body.properties.subnetResourceId == STRING
    input.Body.properties.swiftSupported == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateVnetConnection

valid {
    input.Body.properties.vnetResourceId == STRING
    input.Body.properties.certBlob == STRING
    input.Body.properties.dnsServers == STRING
    input.Body.properties.isSwift == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateVnetConnectionGateway

valid {
    input.Body.properties.vnetName == STRING
    input.Body.properties.vpnPackageUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

WebApps_CreateOrUpdateVnetConnectionGatewaySlot

valid {
    input.Body.properties.vnetName == STRING
    input.Body.properties.vpnPackageUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_CreateOrUpdateVnetConnectionSlot

valid {
    input.Body.properties.vnetResourceId == STRING
    input.Body.properties.certBlob == STRING
    input.Body.properties.dnsServers == STRING
    input.Body.properties.isSwift == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_Delete

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

WebApps_DeleteBackup

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

WebApps_DeleteBackupConfiguration

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

WebApps_DeleteBackupConfigurationSlot

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

WebApps_DeleteBackupSlot

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

WebApps_DeleteContinuousWebJob

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

WebApps_DeleteContinuousWebJobSlot

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

WebApps_DeleteDeployment

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

WebApps_DeleteDeploymentSlot

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

WebApps_DeleteDomainOwnershipIdentifier

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

WebApps_DeleteDomainOwnershipIdentifierSlot

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

WebApps_DeleteFunction

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

WebApps_DeleteFunctionSecret

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

WebApps_DeleteFunctionSecretSlot

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

WebApps_DeleteHostNameBinding

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

WebApps_DeleteHostNameBindingSlot

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

WebApps_DeleteHostSecret

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

WebApps_DeleteHostSecretSlot

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

WebApps_DeleteHybridConnection

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

WebApps_DeleteHybridConnectionSlot

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

WebApps_DeleteInstanceFunctionSlot

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

WebApps_DeleteInstanceProcess

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

WebApps_DeleteInstanceProcessSlot

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

WebApps_DeletePremierAddOn

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

WebApps_DeletePremierAddOnSlot

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

WebApps_DeletePrivateEndpointConnection

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

WebApps_DeletePrivateEndpointConnectionSlot

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

WebApps_DeleteProcess

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

WebApps_DeleteProcessSlot

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

WebApps_DeletePublicCertificate

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

WebApps_DeletePublicCertificateSlot

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

WebApps_DeleteRelayServiceConnection

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

WebApps_DeleteRelayServiceConnectionSlot

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

WebApps_DeleteSiteExtension

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

WebApps_DeleteSiteExtensionSlot

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

WebApps_DeleteSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.deleteMetrics == BOOLEAN
    input.Qs.deleteEmptyServerFarm == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DeleteSourceControl

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

WebApps_DeleteSourceControlSlot

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

WebApps_DeleteSwiftVirtualNetwork

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

WebApps_DeleteSwiftVirtualNetworkSlot

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

WebApps_DeleteTriggeredWebJob

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

WebApps_DeleteTriggeredWebJobSlot

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

WebApps_DeleteVnetConnection

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

WebApps_DeleteVnetConnectionSlot

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

WebApps_DeployWorkflowArtifacts

valid {
    input.Body.appSettings.STRING == STRING
    input.Body.files.STRING.STRING == STRING
    input.Body.filesToDelete[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DeployWorkflowArtifactsSlot

valid {
    input.Body.appSettings.STRING == STRING
    input.Body.files.STRING.STRING == STRING
    input.Body.filesToDelete[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DiscoverBackup

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DiscoverBackupSlot

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DiscoverRestore

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_DiscoverRestoreSlot

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_GenerateNewSitePublishingPassword

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

WebApps_GenerateNewSitePublishingPasswordSlot

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

WebApps_Get

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

WebApps_GetAppSettingKeyVaultReference

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

WebApps_GetAppSettingKeyVaultReferenceSlot

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

WebApps_GetAppSettingsKeyVaultReferences

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

WebApps_GetAppSettingsKeyVaultReferencesSlot

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

WebApps_GetAuthSettings

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

WebApps_GetAuthSettingsSlot

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

WebApps_GetAuthSettingsV2

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

WebApps_GetAuthSettingsV2Slot

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

WebApps_GetAuthSettingsV2WithoutSecrets

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

WebApps_GetAuthSettingsV2WithoutSecretsSlot

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

WebApps_GetBackupConfiguration

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

WebApps_GetBackupConfigurationSlot

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

WebApps_GetBackupStatus

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

WebApps_GetBackupStatusSlot

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

WebApps_GetConfiguration

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

WebApps_GetConfigurationSlot

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

WebApps_GetConfigurationSnapshot

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

WebApps_GetConfigurationSnapshotSlot

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

WebApps_GetContainerLogsZip

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

WebApps_GetContainerLogsZipSlot

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

WebApps_GetContinuousWebJob

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

WebApps_GetContinuousWebJobSlot

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

WebApps_GetDeployment

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

WebApps_GetDeploymentSlot

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

WebApps_GetDiagnosticLogsConfiguration

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

WebApps_GetDiagnosticLogsConfigurationSlot

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

WebApps_GetDomainOwnershipIdentifier

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

WebApps_GetDomainOwnershipIdentifierSlot

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

WebApps_GetFtpAllowed

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

WebApps_GetFtpAllowedSlot

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

WebApps_GetFunction

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

WebApps_GetFunctionsAdminToken

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

WebApps_GetFunctionsAdminTokenSlot

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

WebApps_GetHostNameBinding

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

WebApps_GetHostNameBindingSlot

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

WebApps_GetHybridConnection

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

WebApps_GetHybridConnectionSlot

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

WebApps_GetInstanceFunctionSlot

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

WebApps_GetInstanceInfo

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

WebApps_GetInstanceInfoSlot

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

WebApps_GetInstanceMSDeployLog

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

WebApps_GetInstanceMSDeployLogSlot

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

WebApps_GetInstanceMsDeployStatus

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

WebApps_GetInstanceMsDeployStatusSlot

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

WebApps_GetInstanceProcess

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

WebApps_GetInstanceProcessDump

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

WebApps_GetInstanceProcessDumpSlot

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

WebApps_GetInstanceProcessModule

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

WebApps_GetInstanceProcessModuleSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.processId == STRING
    input.ReqMap.baseAddress == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_GetInstanceProcessSlot

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

WebApps_GetInstanceProcessThread

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

WebApps_GetInstanceProcessThreadSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.processId == STRING
    input.ReqMap.threadId == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.instanceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_GetInstanceWorkflowSlot

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

WebApps_GetMSDeployLog

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

WebApps_GetMSDeployLogSlot

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

WebApps_GetMSDeployStatus

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

WebApps_GetMSDeployStatusSlot

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

WebApps_GetMigrateMySqlStatus

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

WebApps_GetMigrateMySqlStatusSlot

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

WebApps_GetNetworkTraceOperation

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

WebApps_GetNetworkTraceOperationSlot

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

WebApps_GetNetworkTraceOperationSlotV2

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

WebApps_GetNetworkTraceOperationV2

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

WebApps_GetNetworkTraces

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

WebApps_GetNetworkTracesSlot

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

WebApps_GetNetworkTracesSlotV2

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

WebApps_GetNetworkTracesV2

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

WebApps_GetOneDeployStatus

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

WebApps_GetPremierAddOn

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

WebApps_GetPremierAddOnSlot

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

WebApps_GetPrivateAccess

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

WebApps_GetPrivateAccessSlot

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

WebApps_GetPrivateEndpointConnection

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

WebApps_GetPrivateEndpointConnectionList

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

WebApps_GetPrivateEndpointConnectionListSlot

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

WebApps_GetPrivateEndpointConnectionSlot

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

WebApps_GetPrivateLinkResources

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

WebApps_GetPrivateLinkResourcesSlot

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

WebApps_GetProcess

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

WebApps_GetProcessDump

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

WebApps_GetProcessDumpSlot

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

WebApps_GetProcessModule

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

WebApps_GetProcessModuleSlot

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

WebApps_GetProcessSlot

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

WebApps_GetProcessThread

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

WebApps_GetProcessThreadSlot

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

WebApps_GetProductionSiteDeploymentStatus

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

WebApps_GetPublicCertificate

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

WebApps_GetPublicCertificateSlot

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

WebApps_GetRelayServiceConnection

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

WebApps_GetRelayServiceConnectionSlot

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

WebApps_GetScmAllowed

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

WebApps_GetScmAllowedSlot

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

WebApps_GetSiteConnectionStringKeyVaultReference

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

WebApps_GetSiteConnectionStringKeyVaultReferenceSlot

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

WebApps_GetSiteConnectionStringKeyVaultReferences

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

WebApps_GetSiteConnectionStringKeyVaultReferencesSlot

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

WebApps_GetSiteExtension

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

WebApps_GetSiteExtensionSlot

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

WebApps_GetSitePhpErrorLogFlag

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

WebApps_GetSitePhpErrorLogFlagSlot

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

WebApps_GetSlot

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

WebApps_GetSlotSiteDeploymentStatusSlot

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

WebApps_GetSourceControl

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

WebApps_GetSourceControlSlot

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

WebApps_GetSwiftVirtualNetworkConnection

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

WebApps_GetSwiftVirtualNetworkConnectionSlot

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

WebApps_GetTriggeredWebJob

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

WebApps_GetTriggeredWebJobHistory

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

WebApps_GetTriggeredWebJobHistorySlot

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

WebApps_GetTriggeredWebJobSlot

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

WebApps_GetVnetConnection

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

WebApps_GetVnetConnectionGateway

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

WebApps_GetVnetConnectionGatewaySlot

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

WebApps_GetVnetConnectionSlot

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

WebApps_GetWebJob

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

WebApps_GetWebJobSlot

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

WebApps_GetWebSiteContainerLogs

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

WebApps_GetWebSiteContainerLogsSlot

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

WebApps_GetWorkflow

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

WebApps_InstallSiteExtension

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

WebApps_InstallSiteExtensionSlot

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

WebApps_IsCloneable

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

WebApps_IsCloneableSlot

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

WebApps_List

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

WebApps_ListApplicationSettings

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

WebApps_ListApplicationSettingsSlot

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

WebApps_ListAzureStorageAccounts

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

WebApps_ListAzureStorageAccountsSlot

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

WebApps_ListBackupStatusSecrets

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.backupId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListBackupStatusSecretsSlot

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.backupId == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListBackups

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

WebApps_ListBackupsSlot

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

WebApps_ListBasicPublishingCredentialsPolicies

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

WebApps_ListBasicPublishingCredentialsPoliciesSlot

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

WebApps_ListByResourceGroup

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

WebApps_ListConfigurationSnapshotInfo

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

WebApps_ListConfigurationSnapshotInfoSlot

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

WebApps_ListConfigurations

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

WebApps_ListConfigurationsSlot

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

WebApps_ListConnectionStrings

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

WebApps_ListConnectionStringsSlot

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

WebApps_ListContinuousWebJobs

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

WebApps_ListContinuousWebJobsSlot

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

WebApps_ListDeploymentLog

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

WebApps_ListDeploymentLogSlot

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

WebApps_ListDeployments

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

WebApps_ListDeploymentsSlot

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

WebApps_ListDomainOwnershipIdentifiers

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

WebApps_ListDomainOwnershipIdentifiersSlot

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

WebApps_ListFunctionKeys

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

WebApps_ListFunctionKeysSlot

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

WebApps_ListFunctionSecrets

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

WebApps_ListFunctionSecretsSlot

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

WebApps_ListFunctions

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

WebApps_ListHostKeys

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

WebApps_ListHostKeysSlot

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

WebApps_ListHostNameBindings

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

WebApps_ListHostNameBindingsSlot

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

WebApps_ListHybridConnectionKeys

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

WebApps_ListHybridConnectionKeysSlot

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

WebApps_ListHybridConnections

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

WebApps_ListHybridConnectionsSlot

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

WebApps_ListInstanceFunctionsSlot

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

WebApps_ListInstanceIdentifiers

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

WebApps_ListInstanceIdentifiersSlot

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

WebApps_ListInstanceProcessModules

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

WebApps_ListInstanceProcessModulesSlot

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

WebApps_ListInstanceProcessThreads

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

WebApps_ListInstanceProcessThreadsSlot

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

WebApps_ListInstanceProcesses

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

WebApps_ListInstanceProcessesSlot

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

WebApps_ListInstanceWorkflowsSlot

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

WebApps_ListMetadata

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

WebApps_ListMetadataSlot

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

WebApps_ListMetricDefinitions

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

WebApps_ListMetricDefinitionsSlot

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

WebApps_ListMetrics

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

WebApps_ListMetricsSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.details == BOOLEAN
    input.Qs.$filter == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListNetworkFeatures

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

WebApps_ListNetworkFeaturesSlot

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

WebApps_ListPerfMonCounters

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

WebApps_ListPerfMonCountersSlot

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

WebApps_ListPremierAddOns

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

WebApps_ListPremierAddOnsSlot

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

WebApps_ListProcessModules

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

WebApps_ListProcessModulesSlot

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

WebApps_ListProcessThreads

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

WebApps_ListProcessThreadsSlot

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

WebApps_ListProcesses

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

WebApps_ListProcessesSlot

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

WebApps_ListProductionSiteDeploymentStatuses

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

WebApps_ListPublicCertificates

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

WebApps_ListPublicCertificatesSlot

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

WebApps_ListPublishingCredentials

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

WebApps_ListPublishingCredentialsSlot

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

WebApps_ListPublishingProfileXmlWithSecrets

enum_CsmPublishingProfileOptionsFormat := [ "FileZilla3", "WebDeploy", "Ftp" ]

valid {
    input.Body.format == enum_CsmPublishingProfileOptionsFormat[_]
    input.Body.includeDisasterRecoveryEndpoints == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListPublishingProfileXmlWithSecretsSlot

enum_CsmPublishingProfileOptionsFormat := [ "FileZilla3", "WebDeploy", "Ftp" ]

valid {
    input.Body.format == enum_CsmPublishingProfileOptionsFormat[_]
    input.Body.includeDisasterRecoveryEndpoints == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListRelayServiceConnections

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

WebApps_ListRelayServiceConnectionsSlot

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

WebApps_ListSiteBackups

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

WebApps_ListSiteBackupsSlot

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

WebApps_ListSiteExtensions

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

WebApps_ListSiteExtensionsSlot

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

WebApps_ListSitePushSettings

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

WebApps_ListSitePushSettingsSlot

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

WebApps_ListSlotConfigurationNames

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

WebApps_ListSlotDifferencesFromProduction

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListSlotDifferencesSlot

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ListSlotSiteDeploymentStatusesSlot

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

WebApps_ListSlots

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

WebApps_ListSnapshots

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

WebApps_ListSnapshotsFromDRSecondary

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

WebApps_ListSnapshotsFromDRSecondarySlot

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

WebApps_ListSnapshotsSlot

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

WebApps_ListSyncFunctionTriggers

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

WebApps_ListSyncFunctionTriggersSlot

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

WebApps_ListSyncStatus

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

WebApps_ListSyncStatusSlot

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

WebApps_ListTriggeredWebJobHistory

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

WebApps_ListTriggeredWebJobHistorySlot

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

WebApps_ListTriggeredWebJobs

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

WebApps_ListTriggeredWebJobsSlot

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

WebApps_ListUsages

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

WebApps_ListUsagesSlot

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

WebApps_ListVnetConnections

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

WebApps_ListVnetConnectionsSlot

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

WebApps_ListWebJobs

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

WebApps_ListWebJobsSlot

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

WebApps_ListWorkflows

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

WebApps_ListWorkflowsConnections

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

WebApps_ListWorkflowsConnectionsSlot

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

WebApps_MigrateMySql

enum_MigrateMySqlRequestPropertiesMigrationType := [ "LocalToRemote", "RemoteToLocal" ]

valid {
    input.Body.properties.connectionString == STRING
    input.Body.properties.migrationType == enum_MigrateMySqlRequestPropertiesMigrationType[_]
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_MigrateStorage

valid {
    input.Body.properties.azurefilesConnectionString == STRING
    input.Body.properties.azurefilesShare == STRING
    input.Body.properties.switchSiteAfterMigration == BOOLEAN
    input.Body.properties.blockWriteAccessToSite == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.subscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_PutPrivateAccessVnet

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.virtualNetworks[_].name == STRING
    input.Body.properties.virtualNetworks[_].key == INTEGER
    input.Body.properties.virtualNetworks[_].resourceId == STRING
    input.Body.properties.virtualNetworks[_].subnets[_].name == STRING
    input.Body.properties.virtualNetworks[_].subnets[_].key == INTEGER
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_PutPrivateAccessVnetSlot

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.virtualNetworks[_].name == STRING
    input.Body.properties.virtualNetworks[_].key == INTEGER
    input.Body.properties.virtualNetworks[_].resourceId == STRING
    input.Body.properties.virtualNetworks[_].subnets[_].name == STRING
    input.Body.properties.virtualNetworks[_].subnets[_].key == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_Recover

valid {
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.recoveryTarget.location == STRING
    input.Body.properties.recoveryTarget.id == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RecoverSiteConfigurationSnapshot

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

WebApps_RecoverSiteConfigurationSnapshotSlot

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

WebApps_RecoverSlot

valid {
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.recoveryTarget.location == STRING
    input.Body.properties.recoveryTarget.id == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_ResetProductionSlotConfig

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

WebApps_ResetSlotConfigurationSlot

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

WebApps_Restart

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

WebApps_RestartSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.softRestart == BOOLEAN
    input.Qs.synchronous == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_Restore

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.backupId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreFromBackupBlob

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreFromBackupBlobSlot

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreFromDeletedApp

valid {
    input.Body.properties.deletedSiteId == STRING
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.useDRSecondary == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreFromDeletedAppSlot

valid {
    input.Body.properties.deletedSiteId == STRING
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.useDRSecondary == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreSlot

enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]
enum_RestoreRequestPropertiesOperationType := [ "Default", "Clone", "Relocation", "Snapshot", "CloudFS" ]

valid {
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.blobName == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.siteName == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.ignoreDatabases == BOOLEAN
    input.Body.properties.appServicePlan == STRING
    input.Body.properties.operationType == enum_RestoreRequestPropertiesOperationType[_]
    input.Body.properties.adjustConnectionStrings == BOOLEAN
    input.Body.properties.hostingEnvironment == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.backupId == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreSnapshot

valid {
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.recoverySource.location == STRING
    input.Body.properties.recoverySource.id == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.useDRSecondary == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RestoreSnapshotSlot

valid {
    input.Body.properties.snapshotTime == STRING
    input.Body.properties.recoverySource.location == STRING
    input.Body.properties.recoverySource.id == STRING
    input.Body.properties.overwrite == BOOLEAN
    input.Body.properties.recoverConfiguration == BOOLEAN
    input.Body.properties.ignoreConflictingHostNames == BOOLEAN
    input.Body.properties.useDRSecondary == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_RunTriggeredWebJob

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

WebApps_RunTriggeredWebJobSlot

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

WebApps_Start

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

WebApps_StartContinuousWebJob

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

WebApps_StartContinuousWebJobSlot

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

WebApps_StartNetworkTrace

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_StartNetworkTraceSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_StartSlot

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

WebApps_StartWebSiteNetworkTrace

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_StartWebSiteNetworkTraceOperation

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_StartWebSiteNetworkTraceOperationSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_StartWebSiteNetworkTraceSlot

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.durationInSeconds == INTEGER
    input.Qs.maxFrameLength == INTEGER
    input.Qs.sasUrl == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_Stop

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

WebApps_StopContinuousWebJob

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

WebApps_StopContinuousWebJobSlot

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

WebApps_StopNetworkTrace

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

WebApps_StopNetworkTraceSlot

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

WebApps_StopSlot

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

WebApps_StopWebSiteNetworkTrace

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

WebApps_StopWebSiteNetworkTraceSlot

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

WebApps_SwapSlotSlot

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_SwapSlotWithProduction

valid {
    input.Body.targetSlot == STRING
    input.Body.preserveVnet == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_SyncFunctionTriggers

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

WebApps_SyncFunctionTriggersSlot

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

WebApps_SyncFunctions

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

WebApps_SyncFunctionsSlot

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

WebApps_SyncRepository

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

WebApps_SyncRepositorySlot

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

WebApps_Update

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_HostNameSslStateHostType := [ "Standard", "Repository" ]
enum_HostNameSslStateSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]
enum_SitePatchResourcePropertiesClientCertMode := [ "Required", "Optional", "OptionalInteractiveUser" ]
enum_SitePatchResourcePropertiesRedundancyMode := [ "None", "Manual", "Failover", "ActiveActive", "GeoRedundant" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.hostNameSslStates[_].name == STRING
    input.Body.properties.hostNameSslStates[_].sslState == enum_HostNameSslStateSslState[_]
    input.Body.properties.hostNameSslStates[_].virtualIP == STRING
    input.Body.properties.hostNameSslStates[_].thumbprint == STRING
    input.Body.properties.hostNameSslStates[_].toUpdate == BOOLEAN
    input.Body.properties.hostNameSslStates[_].hostType == enum_HostNameSslStateHostType[_]
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.siteConfig.numberOfWorkers == INTEGER
    input.Body.properties.siteConfig.defaultDocuments[_] == STRING
    input.Body.properties.siteConfig.netFrameworkVersion == STRING
    input.Body.properties.siteConfig.phpVersion == STRING
    input.Body.properties.siteConfig.pythonVersion == STRING
    input.Body.properties.siteConfig.nodeVersion == STRING
    input.Body.properties.siteConfig.powerShellVersion == STRING
    input.Body.properties.siteConfig.linuxFxVersion == STRING
    input.Body.properties.siteConfig.windowsFxVersion == STRING
    input.Body.properties.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.properties.siteConfig.requestTracingExpirationTime == STRING
    input.Body.properties.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.remoteDebuggingVersion == STRING
    input.Body.properties.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.properties.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.properties.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.publishingUsername == STRING
    input.Body.properties.siteConfig.appSettings[_].name == STRING
    input.Body.properties.siteConfig.appSettings[_].value == STRING
    input.Body.properties.siteConfig.metadata[_].name == STRING
    input.Body.properties.siteConfig.metadata[_].value == STRING
    input.Body.properties.siteConfig.connectionStrings[_].name == STRING
    input.Body.properties.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.properties.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.siteConfig.handlerMappings[_].extension == STRING
    input.Body.properties.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.properties.siteConfig.documentRoot == STRING
    input.Body.properties.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.properties.siteConfig.alwaysOn == BOOLEAN
    input.Body.properties.siteConfig.javaVersion == STRING
    input.Body.properties.siteConfig.javaContainer == STRING
    input.Body.properties.siteConfig.javaContainerVersion == STRING
    input.Body.properties.siteConfig.appCommandLine == STRING
    input.Body.properties.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.properties.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.properties.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.properties.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.siteConfig.tracingOptions == STRING
    input.Body.properties.siteConfig.vnetName == STRING
    input.Body.properties.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.properties.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.properties.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.properties.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.properties.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.properties.siteConfig.push.kind == STRING
    input.Body.properties.siteConfig.apiDefinition.url == STRING
    input.Body.properties.siteConfig.apiManagementConfig.id == STRING
    input.Body.properties.siteConfig.autoSwapSlotName == STRING
    input.Body.properties.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.properties.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.keyVaultReferenceIdentity == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.siteConfig.http20Enabled == BOOLEAN
    input.Body.properties.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.siteConfig.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.properties.siteConfig.functionAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.healthCheckPath == STRING
    input.Body.properties.siteConfig.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.siteConfig.websiteTimeZone == STRING
    input.Body.properties.siteConfig.minimumElasticInstanceCount == INTEGER
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.siteConfig.publicNetworkAccess == STRING
    input.Body.properties.scmSiteAlsoStopped == BOOLEAN
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.clientAffinityEnabled == BOOLEAN
    input.Body.properties.clientCertEnabled == BOOLEAN
    input.Body.properties.clientCertMode == enum_SitePatchResourcePropertiesClientCertMode[_]
    input.Body.properties.clientCertExclusionPaths == STRING
    input.Body.properties.hostNamesDisabled == BOOLEAN
    input.Body.properties.customDomainVerificationId == STRING
    input.Body.properties.containerSize == INTEGER
    input.Body.properties.dailyMemoryTimeQuota == INTEGER
    input.Body.properties.cloningInfo.correlationId == STRING
    input.Body.properties.cloningInfo.overwrite == BOOLEAN
    input.Body.properties.cloningInfo.cloneCustomHostNames == BOOLEAN
    input.Body.properties.cloningInfo.cloneSourceControl == BOOLEAN
    input.Body.properties.cloningInfo.sourceWebAppId == STRING
    input.Body.properties.cloningInfo.sourceWebAppLocation == STRING
    input.Body.properties.cloningInfo.hostingEnvironment == STRING
    input.Body.properties.cloningInfo.appSettingsOverrides.STRING == STRING
    input.Body.properties.cloningInfo.configureLoadBalancing == BOOLEAN
    input.Body.properties.cloningInfo.trafficManagerProfileId == STRING
    input.Body.properties.cloningInfo.trafficManagerProfileName == STRING
    input.Body.properties.httpsOnly == BOOLEAN
    input.Body.properties.redundancyMode == enum_SitePatchResourcePropertiesRedundancyMode[_]
    input.Body.properties.storageAccountRequired == BOOLEAN
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.virtualNetworkSubnetId == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateApplicationSettings

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

WebApps_UpdateApplicationSettingsSlot

valid {
    input.Body.properties.STRING == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAuthSettings

enum_SiteAuthSettingsPropertiesDefaultProvider := [ "AzureActiveDirectory", "Facebook", "Google", "MicrosoftAccount", "Twitter", "Github" ]
enum_SiteAuthSettingsPropertiesUnauthenticatedClientAction := [ "RedirectToLoginPage", "AllowAnonymous" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.runtimeVersion == STRING
    input.Body.properties.unauthenticatedClientAction == enum_SiteAuthSettingsPropertiesUnauthenticatedClientAction[_]
    input.Body.properties.tokenStoreEnabled == BOOLEAN
    input.Body.properties.allowedExternalRedirectUrls[_] == STRING
    input.Body.properties.defaultProvider == enum_SiteAuthSettingsPropertiesDefaultProvider[_]
    input.Body.properties.tokenRefreshExtensionHours == NUMBER
    input.Body.properties.clientId == STRING
    input.Body.properties.clientSecret == STRING
    input.Body.properties.clientSecretSettingName == STRING
    input.Body.properties.clientSecretCertificateThumbprint == STRING
    input.Body.properties.issuer == STRING
    input.Body.properties.validateIssuer == BOOLEAN
    input.Body.properties.allowedAudiences[_] == STRING
    input.Body.properties.additionalLoginParams[_] == STRING
    input.Body.properties.aadClaimsAuthorization == STRING
    input.Body.properties.googleClientId == STRING
    input.Body.properties.googleClientSecret == STRING
    input.Body.properties.googleClientSecretSettingName == STRING
    input.Body.properties.googleOAuthScopes[_] == STRING
    input.Body.properties.facebookAppId == STRING
    input.Body.properties.facebookAppSecret == STRING
    input.Body.properties.facebookAppSecretSettingName == STRING
    input.Body.properties.facebookOAuthScopes[_] == STRING
    input.Body.properties.gitHubClientId == STRING
    input.Body.properties.gitHubClientSecret == STRING
    input.Body.properties.gitHubClientSecretSettingName == STRING
    input.Body.properties.gitHubOAuthScopes[_] == STRING
    input.Body.properties.twitterConsumerKey == STRING
    input.Body.properties.twitterConsumerSecret == STRING
    input.Body.properties.twitterConsumerSecretSettingName == STRING
    input.Body.properties.microsoftAccountClientId == STRING
    input.Body.properties.microsoftAccountClientSecret == STRING
    input.Body.properties.microsoftAccountClientSecretSettingName == STRING
    input.Body.properties.microsoftAccountOAuthScopes[_] == STRING
    input.Body.properties.isAuthFromFile == STRING
    input.Body.properties.authFilePath == STRING
    input.Body.properties.configVersion == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAuthSettingsSlot

enum_SiteAuthSettingsPropertiesDefaultProvider := [ "AzureActiveDirectory", "Facebook", "Google", "MicrosoftAccount", "Twitter", "Github" ]
enum_SiteAuthSettingsPropertiesUnauthenticatedClientAction := [ "RedirectToLoginPage", "AllowAnonymous" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.runtimeVersion == STRING
    input.Body.properties.unauthenticatedClientAction == enum_SiteAuthSettingsPropertiesUnauthenticatedClientAction[_]
    input.Body.properties.tokenStoreEnabled == BOOLEAN
    input.Body.properties.allowedExternalRedirectUrls[_] == STRING
    input.Body.properties.defaultProvider == enum_SiteAuthSettingsPropertiesDefaultProvider[_]
    input.Body.properties.tokenRefreshExtensionHours == NUMBER
    input.Body.properties.clientId == STRING
    input.Body.properties.clientSecret == STRING
    input.Body.properties.clientSecretSettingName == STRING
    input.Body.properties.clientSecretCertificateThumbprint == STRING
    input.Body.properties.issuer == STRING
    input.Body.properties.validateIssuer == BOOLEAN
    input.Body.properties.allowedAudiences[_] == STRING
    input.Body.properties.additionalLoginParams[_] == STRING
    input.Body.properties.aadClaimsAuthorization == STRING
    input.Body.properties.googleClientId == STRING
    input.Body.properties.googleClientSecret == STRING
    input.Body.properties.googleClientSecretSettingName == STRING
    input.Body.properties.googleOAuthScopes[_] == STRING
    input.Body.properties.facebookAppId == STRING
    input.Body.properties.facebookAppSecret == STRING
    input.Body.properties.facebookAppSecretSettingName == STRING
    input.Body.properties.facebookOAuthScopes[_] == STRING
    input.Body.properties.gitHubClientId == STRING
    input.Body.properties.gitHubClientSecret == STRING
    input.Body.properties.gitHubClientSecretSettingName == STRING
    input.Body.properties.gitHubOAuthScopes[_] == STRING
    input.Body.properties.twitterConsumerKey == STRING
    input.Body.properties.twitterConsumerSecret == STRING
    input.Body.properties.twitterConsumerSecretSettingName == STRING
    input.Body.properties.microsoftAccountClientId == STRING
    input.Body.properties.microsoftAccountClientSecret == STRING
    input.Body.properties.microsoftAccountClientSecretSettingName == STRING
    input.Body.properties.microsoftAccountOAuthScopes[_] == STRING
    input.Body.properties.isAuthFromFile == STRING
    input.Body.properties.authFilePath == STRING
    input.Body.properties.configVersion == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAuthSettingsV2

enum_CookieExpirationConvention := [ "FixedTime", "IdentityProviderDerived" ]
enum_ForwardProxyConvention := [ "NoProxy", "Standard", "Custom" ]
enum_GlobalValidationUnauthenticatedClientAction := [ "RedirectToLoginPage", "AllowAnonymous", "Return401", "Return403" ]
enum_OpenIdConnectClientCredentialMethod := [ "ClientSecretPost" ]

valid {
    input.Body.properties.platform.enabled == BOOLEAN
    input.Body.properties.platform.runtimeVersion == STRING
    input.Body.properties.platform.configFilePath == STRING
    input.Body.properties.globalValidation.requireAuthentication == BOOLEAN
    input.Body.properties.globalValidation.unauthenticatedClientAction == enum_GlobalValidationUnauthenticatedClientAction[_]
    input.Body.properties.globalValidation.redirectToProvider == STRING
    input.Body.properties.globalValidation.excludedPaths[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.enabled == BOOLEAN
    input.Body.properties.identityProviders.azureActiveDirectory.registration.openIdIssuer == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientId == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateThumbprint == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateSubjectAlternativeName == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateIssuer == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.login.loginParameters[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.login.disableWWWAuthenticate == BOOLEAN
    input.Body.properties.identityProviders.azureActiveDirectory.validation.jwtClaimChecks.allowedGroups[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.jwtClaimChecks.allowedClientApplications[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedPrincipals.groups[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedPrincipals.identities[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedApplications[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.isAutoProvisioned == BOOLEAN
    input.Body.properties.identityProviders.facebook.enabled == BOOLEAN
    input.Body.properties.identityProviders.facebook.registration.appId == STRING
    input.Body.properties.identityProviders.facebook.registration.appSecretSettingName == STRING
    input.Body.properties.identityProviders.facebook.graphApiVersion == STRING
    input.Body.properties.identityProviders.facebook.login.scopes[_] == STRING
    input.Body.properties.identityProviders.gitHub.enabled == BOOLEAN
    input.Body.properties.identityProviders.gitHub.registration.clientId == STRING
    input.Body.properties.identityProviders.gitHub.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.gitHub.login.scopes[_] == STRING
    input.Body.properties.identityProviders.google.enabled == BOOLEAN
    input.Body.properties.identityProviders.google.registration.clientId == STRING
    input.Body.properties.identityProviders.google.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.google.login.scopes[_] == STRING
    input.Body.properties.identityProviders.google.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.enabled == BOOLEAN
    input.Body.properties.identityProviders.legacyMicrosoftAccount.registration.clientId == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.login.scopes[_] == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.twitter.enabled == BOOLEAN
    input.Body.properties.identityProviders.twitter.registration.consumerKey == STRING
    input.Body.properties.identityProviders.twitter.registration.consumerSecretSettingName == STRING
    input.Body.properties.identityProviders.apple.enabled == BOOLEAN
    input.Body.properties.identityProviders.apple.registration.clientId == STRING
    input.Body.properties.identityProviders.apple.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.apple.login.scopes[_] == STRING
    input.Body.properties.identityProviders.azureStaticWebApps.enabled == BOOLEAN
    input.Body.properties.identityProviders.azureStaticWebApps.registration.clientId == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.enabled == BOOLEAN
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientId == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientCredential.method == enum_OpenIdConnectClientCredentialMethod[_]
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientCredential.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.authorizationEndpoint == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.tokenEndpoint == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.issuer == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.certificationUri == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.wellKnownOpenIdConfiguration == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.login.nameClaimType == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.login.scopes[_] == STRING
    input.Body.properties.login.routes.logoutEndpoint == STRING
    input.Body.properties.login.tokenStore.enabled == BOOLEAN
    input.Body.properties.login.tokenStore.tokenRefreshExtensionHours == NUMBER
    input.Body.properties.login.tokenStore.fileSystem.directory == STRING
    input.Body.properties.login.tokenStore.azureBlobStorage.sasUrlSettingName == STRING
    input.Body.properties.login.preserveUrlFragmentsForLogins == BOOLEAN
    input.Body.properties.login.allowedExternalRedirectUrls[_] == STRING
    input.Body.properties.login.cookieExpiration.convention == enum_CookieExpirationConvention[_]
    input.Body.properties.login.cookieExpiration.timeToExpiration == STRING
    input.Body.properties.login.nonce.validateNonce == BOOLEAN
    input.Body.properties.login.nonce.nonceExpirationInterval == STRING
    input.Body.properties.httpSettings.requireHttps == BOOLEAN
    input.Body.properties.httpSettings.routes.apiPrefix == STRING
    input.Body.properties.httpSettings.forwardProxy.convention == enum_ForwardProxyConvention[_]
    input.Body.properties.httpSettings.forwardProxy.customHostHeaderName == STRING
    input.Body.properties.httpSettings.forwardProxy.customProtoHeaderName == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAuthSettingsV2Slot

enum_CookieExpirationConvention := [ "FixedTime", "IdentityProviderDerived" ]
enum_ForwardProxyConvention := [ "NoProxy", "Standard", "Custom" ]
enum_GlobalValidationUnauthenticatedClientAction := [ "RedirectToLoginPage", "AllowAnonymous", "Return401", "Return403" ]
enum_OpenIdConnectClientCredentialMethod := [ "ClientSecretPost" ]

valid {
    input.Body.properties.platform.enabled == BOOLEAN
    input.Body.properties.platform.runtimeVersion == STRING
    input.Body.properties.platform.configFilePath == STRING
    input.Body.properties.globalValidation.requireAuthentication == BOOLEAN
    input.Body.properties.globalValidation.unauthenticatedClientAction == enum_GlobalValidationUnauthenticatedClientAction[_]
    input.Body.properties.globalValidation.redirectToProvider == STRING
    input.Body.properties.globalValidation.excludedPaths[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.enabled == BOOLEAN
    input.Body.properties.identityProviders.azureActiveDirectory.registration.openIdIssuer == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientId == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateThumbprint == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateSubjectAlternativeName == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.registration.clientSecretCertificateIssuer == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.login.loginParameters[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.login.disableWWWAuthenticate == BOOLEAN
    input.Body.properties.identityProviders.azureActiveDirectory.validation.jwtClaimChecks.allowedGroups[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.jwtClaimChecks.allowedClientApplications[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedPrincipals.groups[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedPrincipals.identities[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.validation.defaultAuthorizationPolicy.allowedApplications[_] == STRING
    input.Body.properties.identityProviders.azureActiveDirectory.isAutoProvisioned == BOOLEAN
    input.Body.properties.identityProviders.facebook.enabled == BOOLEAN
    input.Body.properties.identityProviders.facebook.registration.appId == STRING
    input.Body.properties.identityProviders.facebook.registration.appSecretSettingName == STRING
    input.Body.properties.identityProviders.facebook.graphApiVersion == STRING
    input.Body.properties.identityProviders.facebook.login.scopes[_] == STRING
    input.Body.properties.identityProviders.gitHub.enabled == BOOLEAN
    input.Body.properties.identityProviders.gitHub.registration.clientId == STRING
    input.Body.properties.identityProviders.gitHub.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.gitHub.login.scopes[_] == STRING
    input.Body.properties.identityProviders.google.enabled == BOOLEAN
    input.Body.properties.identityProviders.google.registration.clientId == STRING
    input.Body.properties.identityProviders.google.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.google.login.scopes[_] == STRING
    input.Body.properties.identityProviders.google.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.enabled == BOOLEAN
    input.Body.properties.identityProviders.legacyMicrosoftAccount.registration.clientId == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.login.scopes[_] == STRING
    input.Body.properties.identityProviders.legacyMicrosoftAccount.validation.allowedAudiences[_] == STRING
    input.Body.properties.identityProviders.twitter.enabled == BOOLEAN
    input.Body.properties.identityProviders.twitter.registration.consumerKey == STRING
    input.Body.properties.identityProviders.twitter.registration.consumerSecretSettingName == STRING
    input.Body.properties.identityProviders.apple.enabled == BOOLEAN
    input.Body.properties.identityProviders.apple.registration.clientId == STRING
    input.Body.properties.identityProviders.apple.registration.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.apple.login.scopes[_] == STRING
    input.Body.properties.identityProviders.azureStaticWebApps.enabled == BOOLEAN
    input.Body.properties.identityProviders.azureStaticWebApps.registration.clientId == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.enabled == BOOLEAN
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientId == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientCredential.method == enum_OpenIdConnectClientCredentialMethod[_]
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.clientCredential.clientSecretSettingName == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.authorizationEndpoint == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.tokenEndpoint == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.issuer == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.certificationUri == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.registration.openIdConnectConfiguration.wellKnownOpenIdConfiguration == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.login.nameClaimType == STRING
    input.Body.properties.identityProviders.customOpenIdConnectProviders.STRING.login.scopes[_] == STRING
    input.Body.properties.login.routes.logoutEndpoint == STRING
    input.Body.properties.login.tokenStore.enabled == BOOLEAN
    input.Body.properties.login.tokenStore.tokenRefreshExtensionHours == NUMBER
    input.Body.properties.login.tokenStore.fileSystem.directory == STRING
    input.Body.properties.login.tokenStore.azureBlobStorage.sasUrlSettingName == STRING
    input.Body.properties.login.preserveUrlFragmentsForLogins == BOOLEAN
    input.Body.properties.login.allowedExternalRedirectUrls[_] == STRING
    input.Body.properties.login.cookieExpiration.convention == enum_CookieExpirationConvention[_]
    input.Body.properties.login.cookieExpiration.timeToExpiration == STRING
    input.Body.properties.login.nonce.validateNonce == BOOLEAN
    input.Body.properties.login.nonce.nonceExpirationInterval == STRING
    input.Body.properties.httpSettings.requireHttps == BOOLEAN
    input.Body.properties.httpSettings.routes.apiPrefix == STRING
    input.Body.properties.httpSettings.forwardProxy.convention == enum_ForwardProxyConvention[_]
    input.Body.properties.httpSettings.forwardProxy.customHostHeaderName == STRING
    input.Body.properties.httpSettings.forwardProxy.customProtoHeaderName == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAzureStorageAccounts

enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]

valid {
    input.Body.properties.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.STRING.accountName == STRING
    input.Body.properties.STRING.shareName == STRING
    input.Body.properties.STRING.accessKey == STRING
    input.Body.properties.STRING.mountPath == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateAzureStorageAccountsSlot

enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]

valid {
    input.Body.properties.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.STRING.accountName == STRING
    input.Body.properties.STRING.shareName == STRING
    input.Body.properties.STRING.accessKey == STRING
    input.Body.properties.STRING.mountPath == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateBackupConfiguration

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateBackupConfigurationSlot

enum_BackupScheduleFrequencyUnit := [ "Day", "Hour" ]
enum_DatabaseBackupSettingDatabaseType := [ "SqlAzure", "MySql", "LocalMySql", "PostgreSql" ]

valid {
    input.Body.properties.backupName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.storageAccountUrl == STRING
    input.Body.properties.backupSchedule.frequencyInterval == INTEGER
    input.Body.properties.backupSchedule.frequencyUnit == enum_BackupScheduleFrequencyUnit[_]
    input.Body.properties.backupSchedule.keepAtLeastOneBackup == BOOLEAN
    input.Body.properties.backupSchedule.retentionPeriodInDays == INTEGER
    input.Body.properties.backupSchedule.startTime == STRING
    input.Body.properties.databases[_].databaseType == enum_DatabaseBackupSettingDatabaseType[_]
    input.Body.properties.databases[_].name == STRING
    input.Body.properties.databases[_].connectionStringName == STRING
    input.Body.properties.databases[_].connectionString == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateConfiguration

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.properties.numberOfWorkers == INTEGER
    input.Body.properties.defaultDocuments[_] == STRING
    input.Body.properties.netFrameworkVersion == STRING
    input.Body.properties.phpVersion == STRING
    input.Body.properties.pythonVersion == STRING
    input.Body.properties.nodeVersion == STRING
    input.Body.properties.powerShellVersion == STRING
    input.Body.properties.linuxFxVersion == STRING
    input.Body.properties.windowsFxVersion == STRING
    input.Body.properties.requestTracingEnabled == BOOLEAN
    input.Body.properties.requestTracingExpirationTime == STRING
    input.Body.properties.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.remoteDebuggingVersion == STRING
    input.Body.properties.httpLoggingEnabled == BOOLEAN
    input.Body.properties.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.acrUserManagedIdentityID == STRING
    input.Body.properties.logsDirectorySizeLimit == INTEGER
    input.Body.properties.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.publishingUsername == STRING
    input.Body.properties.appSettings[_].name == STRING
    input.Body.properties.appSettings[_].value == STRING
    input.Body.properties.metadata[_].name == STRING
    input.Body.properties.metadata[_].value == STRING
    input.Body.properties.connectionStrings[_].name == STRING
    input.Body.properties.connectionStrings[_].connectionString == STRING
    input.Body.properties.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.handlerMappings[_].extension == STRING
    input.Body.properties.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.handlerMappings[_].arguments == STRING
    input.Body.properties.documentRoot == STRING
    input.Body.properties.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.webSocketsEnabled == BOOLEAN
    input.Body.properties.alwaysOn == BOOLEAN
    input.Body.properties.javaVersion == STRING
    input.Body.properties.javaContainer == STRING
    input.Body.properties.javaContainerVersion == STRING
    input.Body.properties.appCommandLine == STRING
    input.Body.properties.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.virtualApplications[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].physicalPath == STRING
    input.Body.properties.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.experiments.rampUpRules[_].name == STRING
    input.Body.properties.limits.maxPercentageCpu == NUMBER
    input.Body.properties.limits.maxMemoryInMb == INTEGER
    input.Body.properties.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.autoHealEnabled == BOOLEAN
    input.Body.properties.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.tracingOptions == STRING
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetPrivatePortsCount == INTEGER
    input.Body.properties.cors.allowedOrigins[_] == STRING
    input.Body.properties.cors.supportCredentials == BOOLEAN
    input.Body.properties.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.push.properties.tagWhitelistJson == STRING
    input.Body.properties.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.push.properties.dynamicTagsJson == STRING
    input.Body.properties.push.kind == STRING
    input.Body.properties.apiDefinition.url == STRING
    input.Body.properties.apiManagementConfig.id == STRING
    input.Body.properties.autoSwapSlotName == STRING
    input.Body.properties.localMySqlEnabled == BOOLEAN
    input.Body.properties.managedServiceIdentityId == INTEGER
    input.Body.properties.xManagedServiceIdentityId == INTEGER
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.http20Enabled == BOOLEAN
    input.Body.properties.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.preWarmedInstanceCount == INTEGER
    input.Body.properties.functionAppScaleLimit == INTEGER
    input.Body.properties.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.healthCheckPath == STRING
    input.Body.properties.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.websiteTimeZone == STRING
    input.Body.properties.minimumElasticInstanceCount == INTEGER
    input.Body.properties.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.publicNetworkAccess == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateConfigurationSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]

valid {
    input.Body.properties.numberOfWorkers == INTEGER
    input.Body.properties.defaultDocuments[_] == STRING
    input.Body.properties.netFrameworkVersion == STRING
    input.Body.properties.phpVersion == STRING
    input.Body.properties.pythonVersion == STRING
    input.Body.properties.nodeVersion == STRING
    input.Body.properties.powerShellVersion == STRING
    input.Body.properties.linuxFxVersion == STRING
    input.Body.properties.windowsFxVersion == STRING
    input.Body.properties.requestTracingEnabled == BOOLEAN
    input.Body.properties.requestTracingExpirationTime == STRING
    input.Body.properties.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.remoteDebuggingVersion == STRING
    input.Body.properties.httpLoggingEnabled == BOOLEAN
    input.Body.properties.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.acrUserManagedIdentityID == STRING
    input.Body.properties.logsDirectorySizeLimit == INTEGER
    input.Body.properties.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.publishingUsername == STRING
    input.Body.properties.appSettings[_].name == STRING
    input.Body.properties.appSettings[_].value == STRING
    input.Body.properties.metadata[_].name == STRING
    input.Body.properties.metadata[_].value == STRING
    input.Body.properties.connectionStrings[_].name == STRING
    input.Body.properties.connectionStrings[_].connectionString == STRING
    input.Body.properties.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.handlerMappings[_].extension == STRING
    input.Body.properties.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.handlerMappings[_].arguments == STRING
    input.Body.properties.documentRoot == STRING
    input.Body.properties.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.webSocketsEnabled == BOOLEAN
    input.Body.properties.alwaysOn == BOOLEAN
    input.Body.properties.javaVersion == STRING
    input.Body.properties.javaContainer == STRING
    input.Body.properties.javaContainerVersion == STRING
    input.Body.properties.appCommandLine == STRING
    input.Body.properties.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.virtualApplications[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].physicalPath == STRING
    input.Body.properties.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.experiments.rampUpRules[_].name == STRING
    input.Body.properties.limits.maxPercentageCpu == NUMBER
    input.Body.properties.limits.maxMemoryInMb == INTEGER
    input.Body.properties.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.autoHealEnabled == BOOLEAN
    input.Body.properties.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.tracingOptions == STRING
    input.Body.properties.vnetName == STRING
    input.Body.properties.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.vnetPrivatePortsCount == INTEGER
    input.Body.properties.cors.allowedOrigins[_] == STRING
    input.Body.properties.cors.supportCredentials == BOOLEAN
    input.Body.properties.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.push.properties.tagWhitelistJson == STRING
    input.Body.properties.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.push.properties.dynamicTagsJson == STRING
    input.Body.properties.push.kind == STRING
    input.Body.properties.apiDefinition.url == STRING
    input.Body.properties.apiManagementConfig.id == STRING
    input.Body.properties.autoSwapSlotName == STRING
    input.Body.properties.localMySqlEnabled == BOOLEAN
    input.Body.properties.managedServiceIdentityId == INTEGER
    input.Body.properties.xManagedServiceIdentityId == INTEGER
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.http20Enabled == BOOLEAN
    input.Body.properties.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.preWarmedInstanceCount == INTEGER
    input.Body.properties.functionAppScaleLimit == INTEGER
    input.Body.properties.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.healthCheckPath == STRING
    input.Body.properties.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.websiteTimeZone == STRING
    input.Body.properties.minimumElasticInstanceCount == INTEGER
    input.Body.properties.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.publicNetworkAccess == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateConnectionStrings

enum_ConnStringValueTypePairType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]

valid {
    input.Body.properties.STRING.value == STRING
    input.Body.properties.STRING.type == enum_ConnStringValueTypePairType[_]
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateConnectionStringsSlot

enum_ConnStringValueTypePairType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]

valid {
    input.Body.properties.STRING.value == STRING
    input.Body.properties.STRING.type == enum_ConnStringValueTypePairType[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateDiagnosticLogsConfig

enum_AzureBlobStorageApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]
enum_AzureTableStorageApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]
enum_FileSystemApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]

valid {
    input.Body.properties.applicationLogs.fileSystem.level == enum_FileSystemApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureTableStorage.level == enum_AzureTableStorageApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureTableStorage.sasUrl == STRING
    input.Body.properties.applicationLogs.azureBlobStorage.level == enum_AzureBlobStorageApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureBlobStorage.sasUrl == STRING
    input.Body.properties.applicationLogs.azureBlobStorage.retentionInDays == INTEGER
    input.Body.properties.httpLogs.fileSystem.retentionInMb == INTEGER
    input.Body.properties.httpLogs.fileSystem.retentionInDays == INTEGER
    input.Body.properties.httpLogs.fileSystem.enabled == BOOLEAN
    input.Body.properties.httpLogs.azureBlobStorage.sasUrl == STRING
    input.Body.properties.httpLogs.azureBlobStorage.retentionInDays == INTEGER
    input.Body.properties.httpLogs.azureBlobStorage.enabled == BOOLEAN
    input.Body.properties.failedRequestsTracing.enabled == BOOLEAN
    input.Body.properties.detailedErrorMessages.enabled == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateDiagnosticLogsConfigSlot

enum_AzureBlobStorageApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]
enum_AzureTableStorageApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]
enum_FileSystemApplicationLogsConfigLevel := [ "Off", "Verbose", "Information", "Warning", "Error" ]

valid {
    input.Body.properties.applicationLogs.fileSystem.level == enum_FileSystemApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureTableStorage.level == enum_AzureTableStorageApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureTableStorage.sasUrl == STRING
    input.Body.properties.applicationLogs.azureBlobStorage.level == enum_AzureBlobStorageApplicationLogsConfigLevel[_]
    input.Body.properties.applicationLogs.azureBlobStorage.sasUrl == STRING
    input.Body.properties.applicationLogs.azureBlobStorage.retentionInDays == INTEGER
    input.Body.properties.httpLogs.fileSystem.retentionInMb == INTEGER
    input.Body.properties.httpLogs.fileSystem.retentionInDays == INTEGER
    input.Body.properties.httpLogs.fileSystem.enabled == BOOLEAN
    input.Body.properties.httpLogs.azureBlobStorage.sasUrl == STRING
    input.Body.properties.httpLogs.azureBlobStorage.retentionInDays == INTEGER
    input.Body.properties.httpLogs.azureBlobStorage.enabled == BOOLEAN
    input.Body.properties.failedRequestsTracing.enabled == BOOLEAN
    input.Body.properties.detailedErrorMessages.enabled == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateDomainOwnershipIdentifier

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

WebApps_UpdateDomainOwnershipIdentifierSlot

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

WebApps_UpdateFtpAllowed

valid {
    input.Body.properties.allow == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateFtpAllowedSlot

valid {
    input.Body.properties.allow == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateHybridConnection

valid {
    input.Body.properties.serviceBusNamespace == STRING
    input.Body.properties.relayName == STRING
    input.Body.properties.relayArmUri == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.sendKeyName == STRING
    input.Body.properties.sendKeyValue == STRING
    input.Body.properties.serviceBusSuffix == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.relayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateHybridConnectionSlot

valid {
    input.Body.properties.serviceBusNamespace == STRING
    input.Body.properties.relayName == STRING
    input.Body.properties.relayArmUri == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.sendKeyName == STRING
    input.Body.properties.sendKeyValue == STRING
    input.Body.properties.serviceBusSuffix == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.relayName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateMetadata

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

WebApps_UpdateMetadataSlot

valid {
    input.Body.properties.STRING == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdatePremierAddOn

valid {
    input.Body.properties.sku == STRING
    input.Body.properties.product == STRING
    input.Body.properties.vendor == STRING
    input.Body.properties.marketplacePublisher == STRING
    input.Body.properties.marketplaceOffer == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.premierAddOnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdatePremierAddOnSlot

valid {
    input.Body.properties.sku == STRING
    input.Body.properties.product == STRING
    input.Body.properties.vendor == STRING
    input.Body.properties.marketplacePublisher == STRING
    input.Body.properties.marketplaceOffer == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.premierAddOnName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateRelayServiceConnection

valid {
    input.Body.properties.entityName == STRING
    input.Body.properties.entityConnectionString == STRING
    input.Body.properties.resourceType == STRING
    input.Body.properties.resourceConnectionString == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.biztalkUri == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.entityName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateRelayServiceConnectionSlot

valid {
    input.Body.properties.entityName == STRING
    input.Body.properties.entityConnectionString == STRING
    input.Body.properties.resourceType == STRING
    input.Body.properties.resourceConnectionString == STRING
    input.Body.properties.hostname == STRING
    input.Body.properties.port == INTEGER
    input.Body.properties.biztalkUri == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.entityName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateScmAllowed

valid {
    input.Body.properties.allow == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateScmAllowedSlot

valid {
    input.Body.properties.allow == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSitePushSettings

valid {
    input.Body.properties.isPushEnabled == BOOLEAN
    input.Body.properties.tagWhitelistJson == STRING
    input.Body.properties.tagsRequiringAuth == STRING
    input.Body.properties.dynamicTagsJson == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSitePushSettingsSlot

valid {
    input.Body.properties.isPushEnabled == BOOLEAN
    input.Body.properties.tagWhitelistJson == STRING
    input.Body.properties.tagsRequiringAuth == STRING
    input.Body.properties.dynamicTagsJson == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSlot

enum_AutoHealActionsActionType := [ "Recycle", "LogEvent", "CustomAction" ]
enum_AzureStorageInfoValueType := [ "AzureFiles", "AzureBlob" ]
enum_ConnStringInfoType := [ "MySql", "SQLServer", "SQLAzure", "Custom", "NotificationHub", "ServiceBus", "EventHub", "ApiHub", "DocDb", "RedisCache", "PostgreSQL" ]
enum_HostNameSslStateHostType := [ "Standard", "Repository" ]
enum_HostNameSslStateSslState := [ "Disabled", "SniEnabled", "IpBasedEnabled" ]
enum_IpSecurityRestrictionTag := [ "Default", "XffProxy", "ServiceTag" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_SiteConfigFtpsState := [ "AllAllowed", "FtpsOnly", "Disabled" ]
enum_SiteConfigIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigLoadBalancing := [ "WeightedRoundRobin", "LeastRequests", "LeastResponseTime", "WeightedTotalTraffic", "RequestHash", "PerSiteRoundRobin" ]
enum_SiteConfigManagedPipelineMode := [ "Integrated", "Classic" ]
enum_SiteConfigMinTlsCipherSuite := [ "TLS_AES_256_GCM_SHA384", "TLS_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "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_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" ]
enum_SiteConfigMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmIpSecurityRestrictionsDefaultAction := [ "Allow", "Deny" ]
enum_SiteConfigScmMinTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_SiteConfigScmType := [ "None", "Dropbox", "Tfs", "LocalGit", "GitHub", "CodePlexGit", "CodePlexHg", "BitbucketGit", "BitbucketHg", "ExternalGit", "ExternalHg", "OneDrive", "VSO", "VSTSRM" ]
enum_SitePatchResourcePropertiesClientCertMode := [ "Required", "Optional", "OptionalInteractiveUser" ]
enum_SitePatchResourcePropertiesRedundancyMode := [ "None", "Manual", "Failover", "ActiveActive", "GeoRedundant" ]

valid {
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.hostNameSslStates[_].name == STRING
    input.Body.properties.hostNameSslStates[_].sslState == enum_HostNameSslStateSslState[_]
    input.Body.properties.hostNameSslStates[_].virtualIP == STRING
    input.Body.properties.hostNameSslStates[_].thumbprint == STRING
    input.Body.properties.hostNameSslStates[_].toUpdate == BOOLEAN
    input.Body.properties.hostNameSslStates[_].hostType == enum_HostNameSslStateHostType[_]
    input.Body.properties.serverFarmId == STRING
    input.Body.properties.reserved == BOOLEAN
    input.Body.properties.isXenon == BOOLEAN
    input.Body.properties.hyperV == BOOLEAN
    input.Body.properties.siteConfig.numberOfWorkers == INTEGER
    input.Body.properties.siteConfig.defaultDocuments[_] == STRING
    input.Body.properties.siteConfig.netFrameworkVersion == STRING
    input.Body.properties.siteConfig.phpVersion == STRING
    input.Body.properties.siteConfig.pythonVersion == STRING
    input.Body.properties.siteConfig.nodeVersion == STRING
    input.Body.properties.siteConfig.powerShellVersion == STRING
    input.Body.properties.siteConfig.linuxFxVersion == STRING
    input.Body.properties.siteConfig.windowsFxVersion == STRING
    input.Body.properties.siteConfig.requestTracingEnabled == BOOLEAN
    input.Body.properties.siteConfig.requestTracingExpirationTime == STRING
    input.Body.properties.siteConfig.remoteDebuggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.remoteDebuggingVersion == STRING
    input.Body.properties.siteConfig.httpLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.acrUseManagedIdentityCreds == BOOLEAN
    input.Body.properties.siteConfig.acrUserManagedIdentityID == STRING
    input.Body.properties.siteConfig.logsDirectorySizeLimit == INTEGER
    input.Body.properties.siteConfig.detailedErrorLoggingEnabled == BOOLEAN
    input.Body.properties.siteConfig.publishingUsername == STRING
    input.Body.properties.siteConfig.appSettings[_].name == STRING
    input.Body.properties.siteConfig.appSettings[_].value == STRING
    input.Body.properties.siteConfig.metadata[_].name == STRING
    input.Body.properties.siteConfig.metadata[_].value == STRING
    input.Body.properties.siteConfig.connectionStrings[_].name == STRING
    input.Body.properties.siteConfig.connectionStrings[_].connectionString == STRING
    input.Body.properties.siteConfig.connectionStrings[_].type == enum_ConnStringInfoType[_]
    input.Body.properties.siteConfig.handlerMappings[_].extension == STRING
    input.Body.properties.siteConfig.handlerMappings[_].scriptProcessor == STRING
    input.Body.properties.siteConfig.handlerMappings[_].arguments == STRING
    input.Body.properties.siteConfig.documentRoot == STRING
    input.Body.properties.siteConfig.scmType == enum_SiteConfigScmType[_]
    input.Body.properties.siteConfig.use32BitWorkerProcess == BOOLEAN
    input.Body.properties.siteConfig.webSocketsEnabled == BOOLEAN
    input.Body.properties.siteConfig.alwaysOn == BOOLEAN
    input.Body.properties.siteConfig.javaVersion == STRING
    input.Body.properties.siteConfig.javaContainer == STRING
    input.Body.properties.siteConfig.javaContainerVersion == STRING
    input.Body.properties.siteConfig.appCommandLine == STRING
    input.Body.properties.siteConfig.managedPipelineMode == enum_SiteConfigManagedPipelineMode[_]
    input.Body.properties.siteConfig.virtualApplications[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].physicalPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].preloadEnabled == BOOLEAN
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].virtualPath == STRING
    input.Body.properties.siteConfig.virtualApplications[_].virtualDirectories[_].physicalPath == STRING
    input.Body.properties.siteConfig.loadBalancing == enum_SiteConfigLoadBalancing[_]
    input.Body.properties.siteConfig.experiments.rampUpRules[_].actionHostName == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].reroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeStep == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeIntervalInMinutes == INTEGER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].minReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].maxReroutePercentage == NUMBER
    input.Body.properties.siteConfig.experiments.rampUpRules[_].changeDecisionCallbackUrl == STRING
    input.Body.properties.siteConfig.experiments.rampUpRules[_].name == STRING
    input.Body.properties.siteConfig.limits.maxPercentageCpu == NUMBER
    input.Body.properties.siteConfig.limits.maxMemoryInMb == INTEGER
    input.Body.properties.siteConfig.limits.maxDiskSizeInMb == INTEGER
    input.Body.properties.siteConfig.autoHealEnabled == BOOLEAN
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.requests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.privateBytesInKB == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].subStatus == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].win32Status == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodes[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequests.timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeTaken == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.slowRequestsWithPath[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].statusCodes == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].path == STRING
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].count == INTEGER
    input.Body.properties.siteConfig.autoHealRules.triggers.statusCodesRange[_].timeInterval == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.actionType == enum_AutoHealActionsActionType[_]
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.exe == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.customAction.parameters == STRING
    input.Body.properties.siteConfig.autoHealRules.actions.minProcessExecutionTime == STRING
    input.Body.properties.siteConfig.tracingOptions == STRING
    input.Body.properties.siteConfig.vnetName == STRING
    input.Body.properties.siteConfig.vnetRouteAllEnabled == BOOLEAN
    input.Body.properties.siteConfig.vnetPrivatePortsCount == INTEGER
    input.Body.properties.siteConfig.cors.allowedOrigins[_] == STRING
    input.Body.properties.siteConfig.cors.supportCredentials == BOOLEAN
    input.Body.properties.siteConfig.push.properties.isPushEnabled == BOOLEAN
    input.Body.properties.siteConfig.push.properties.tagWhitelistJson == STRING
    input.Body.properties.siteConfig.push.properties.tagsRequiringAuth == STRING
    input.Body.properties.siteConfig.push.properties.dynamicTagsJson == STRING
    input.Body.properties.siteConfig.push.kind == STRING
    input.Body.properties.siteConfig.apiDefinition.url == STRING
    input.Body.properties.siteConfig.apiManagementConfig.id == STRING
    input.Body.properties.siteConfig.autoSwapSlotName == STRING
    input.Body.properties.siteConfig.localMySqlEnabled == BOOLEAN
    input.Body.properties.siteConfig.managedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.xManagedServiceIdentityId == INTEGER
    input.Body.properties.siteConfig.keyVaultReferenceIdentity == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.ipSecurityRestrictionsDefaultAction == enum_SiteConfigIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].ipAddress == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetMask == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetSubnetResourceId == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].vnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].subnetTrafficTag == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].action == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].tag == enum_IpSecurityRestrictionTag[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].priority == INTEGER
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].name == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].description == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictions[_].headers.STRING[_] == STRING
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsDefaultAction == enum_SiteConfigScmIpSecurityRestrictionsDefaultAction[_]
    input.Body.properties.siteConfig.scmIpSecurityRestrictionsUseMain == BOOLEAN
    input.Body.properties.siteConfig.http20Enabled == BOOLEAN
    input.Body.properties.siteConfig.minTlsVersion == enum_SiteConfigMinTlsVersion[_]
    input.Body.properties.siteConfig.minTlsCipherSuite == enum_SiteConfigMinTlsCipherSuite[_]
    input.Body.properties.siteConfig.scmMinTlsVersion == enum_SiteConfigScmMinTlsVersion[_]
    input.Body.properties.siteConfig.ftpsState == enum_SiteConfigFtpsState[_]
    input.Body.properties.siteConfig.preWarmedInstanceCount == INTEGER
    input.Body.properties.siteConfig.functionAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.elasticWebAppScaleLimit == INTEGER
    input.Body.properties.siteConfig.healthCheckPath == STRING
    input.Body.properties.siteConfig.functionsRuntimeScaleMonitoringEnabled == BOOLEAN
    input.Body.properties.siteConfig.websiteTimeZone == STRING
    input.Body.properties.siteConfig.minimumElasticInstanceCount == INTEGER
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.type == enum_AzureStorageInfoValueType[_]
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accountName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.shareName == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.accessKey == STRING
    input.Body.properties.siteConfig.azureStorageAccounts.STRING.mountPath == STRING
    input.Body.properties.siteConfig.publicNetworkAccess == STRING
    input.Body.properties.scmSiteAlsoStopped == BOOLEAN
    input.Body.properties.hostingEnvironmentProfile.id == STRING
    input.Body.properties.clientAffinityEnabled == BOOLEAN
    input.Body.properties.clientCertEnabled == BOOLEAN
    input.Body.properties.clientCertMode == enum_SitePatchResourcePropertiesClientCertMode[_]
    input.Body.properties.clientCertExclusionPaths == STRING
    input.Body.properties.hostNamesDisabled == BOOLEAN
    input.Body.properties.customDomainVerificationId == STRING
    input.Body.properties.containerSize == INTEGER
    input.Body.properties.dailyMemoryTimeQuota == INTEGER
    input.Body.properties.cloningInfo.correlationId == STRING
    input.Body.properties.cloningInfo.overwrite == BOOLEAN
    input.Body.properties.cloningInfo.cloneCustomHostNames == BOOLEAN
    input.Body.properties.cloningInfo.cloneSourceControl == BOOLEAN
    input.Body.properties.cloningInfo.sourceWebAppId == STRING
    input.Body.properties.cloningInfo.sourceWebAppLocation == STRING
    input.Body.properties.cloningInfo.hostingEnvironment == STRING
    input.Body.properties.cloningInfo.appSettingsOverrides.STRING == STRING
    input.Body.properties.cloningInfo.configureLoadBalancing == BOOLEAN
    input.Body.properties.cloningInfo.trafficManagerProfileId == STRING
    input.Body.properties.cloningInfo.trafficManagerProfileName == STRING
    input.Body.properties.httpsOnly == BOOLEAN
    input.Body.properties.redundancyMode == enum_SitePatchResourcePropertiesRedundancyMode[_]
    input.Body.properties.storageAccountRequired == BOOLEAN
    input.Body.properties.keyVaultReferenceIdentity == STRING
    input.Body.properties.virtualNetworkSubnetId == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSlotConfigurationNames

valid {
    input.Body.properties.connectionStringNames[_] == STRING
    input.Body.properties.appSettingNames[_] == STRING
    input.Body.properties.azureStorageConfigNames[_] == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSourceControl

valid {
    input.Body.properties.repoUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.isManualIntegration == BOOLEAN
    input.Body.properties.isGitHubAction == BOOLEAN
    input.Body.properties.deploymentRollbackEnabled == BOOLEAN
    input.Body.properties.isMercurial == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeStack == STRING
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeVersion == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.serverUrl == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.imageName == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.username == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.password == STRING
    input.Body.properties.gitHubActionConfiguration.isLinux == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.generateWorkflowFile == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSourceControlSlot

valid {
    input.Body.properties.repoUrl == STRING
    input.Body.properties.branch == STRING
    input.Body.properties.isManualIntegration == BOOLEAN
    input.Body.properties.isGitHubAction == BOOLEAN
    input.Body.properties.deploymentRollbackEnabled == BOOLEAN
    input.Body.properties.isMercurial == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeStack == STRING
    input.Body.properties.gitHubActionConfiguration.codeConfiguration.runtimeVersion == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.serverUrl == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.imageName == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.username == STRING
    input.Body.properties.gitHubActionConfiguration.containerConfiguration.password == STRING
    input.Body.properties.gitHubActionConfiguration.isLinux == BOOLEAN
    input.Body.properties.gitHubActionConfiguration.generateWorkflowFile == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSwiftVirtualNetworkConnectionWithCheck

valid {
    input.Body.properties.subnetResourceId == STRING
    input.Body.properties.swiftSupported == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateSwiftVirtualNetworkConnectionWithCheckSlot

valid {
    input.Body.properties.subnetResourceId == STRING
    input.Body.properties.swiftSupported == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateVnetConnection

valid {
    input.Body.properties.vnetResourceId == STRING
    input.Body.properties.certBlob == STRING
    input.Body.properties.dnsServers == STRING
    input.Body.properties.isSwift == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateVnetConnectionGateway

valid {
    input.Body.properties.vnetName == STRING
    input.Body.properties.vpnPackageUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == 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
}

WebApps_UpdateVnetConnectionGatewaySlot

valid {
    input.Body.properties.vnetName == STRING
    input.Body.properties.vpnPackageUri == STRING
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.gatewayName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebApps_UpdateVnetConnectionSlot

valid {
    input.Body.properties.vnetResourceId == STRING
    input.Body.properties.certBlob == STRING
    input.Body.properties.dnsServers == STRING
    input.Body.properties.isSwift == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.vnetName == STRING
    input.ReqMap.slot == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionRepetitionsRequestHistories_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.ReqMap.runName == STRING
    input.ReqMap.actionName == STRING
    input.ReqMap.repetitionName == STRING
    input.ReqMap.requestHistoryName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionRepetitionsRequestHistories_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.ReqMap.runName == STRING
    input.ReqMap.actionName == STRING
    input.ReqMap.repetitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionRepetitions_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.ReqMap.runName == STRING
    input.ReqMap.actionName == STRING
    input.ReqMap.repetitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionRepetitions_List

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

WorkflowRunActionRepetitions_ListExpressionTraces

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.ReqMap.runName == STRING
    input.ReqMap.actionName == STRING
    input.ReqMap.repetitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionScopeRepetitions_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.ReqMap.runName == STRING
    input.ReqMap.actionName == STRING
    input.ReqMap.repetitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkflowRunActionScopeRepetitions_List

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

WorkflowRunActions_Get

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

WorkflowRunActions_List

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

WorkflowRunActions_ListExpressionTraces

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

WorkflowRuns_Cancel

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

WorkflowRuns_Get

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

WorkflowRuns_List

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

WorkflowTriggerHistories_Get

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

WorkflowTriggerHistories_List

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

WorkflowTriggerHistories_Resubmit

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

WorkflowTriggers_Get

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

WorkflowTriggers_GetSchemaJson

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

WorkflowTriggers_List

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

WorkflowTriggers_ListCallbackUrl

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

WorkflowTriggers_Run

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

WorkflowVersions_Get

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

WorkflowVersions_List

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

Workflows_RegenerateAccessKey

enum_KeyType := [ "NotSpecified", "Primary", "Secondary" ]

valid {
    input.Body.keyType == enum_KeyType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workflows_Validate

enum_Kind := [ "Stateful", "Stateless" ]
enum_ManagedServiceIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_OpenAuthenticationProviderType := [ "AAD" ]
enum_ParameterType := [ "NotSpecified", "String", "SecureString", "Int", "Float", "Bool", "Array", "Object", "SecureObject" ]
enum_WorkflowState := [ "NotSpecified", "Completed", "Enabled", "Disabled", "Deleted", "Suspended" ]

valid {
    input.Body.properties.state == enum_WorkflowState[_]
    input.Body.properties.endpointsConfiguration.workflow.outgoingIpAddresses[_].address == STRING
    input.Body.properties.endpointsConfiguration.workflow.accessEndpointIpAddresses[_].address == STRING
    input.Body.properties.endpointsConfiguration.connector.outgoingIpAddresses[_].address == STRING
    input.Body.properties.endpointsConfiguration.connector.accessEndpointIpAddresses[_].address == STRING
    input.Body.properties.accessControl.triggers.allowedCallerIpAddresses[_].addressRange == STRING
    input.Body.properties.accessControl.triggers.openAuthenticationPolicies.policies.STRING.type == enum_OpenAuthenticationProviderType[_]
    input.Body.properties.accessControl.triggers.openAuthenticationPolicies.policies.STRING.claims[_].name == STRING
    input.Body.properties.accessControl.triggers.openAuthenticationPolicies.policies.STRING.claims[_].value == STRING
    input.Body.properties.accessControl.contents.allowedCallerIpAddresses[_].addressRange == STRING
    input.Body.properties.accessControl.contents.openAuthenticationPolicies.policies.STRING.type == enum_OpenAuthenticationProviderType[_]
    input.Body.properties.accessControl.contents.openAuthenticationPolicies.policies.STRING.claims[_].name == STRING
    input.Body.properties.accessControl.contents.openAuthenticationPolicies.policies.STRING.claims[_].value == STRING
    input.Body.properties.accessControl.actions.allowedCallerIpAddresses[_].addressRange == STRING
    input.Body.properties.accessControl.actions.openAuthenticationPolicies.policies.STRING.type == enum_OpenAuthenticationProviderType[_]
    input.Body.properties.accessControl.actions.openAuthenticationPolicies.policies.STRING.claims[_].name == STRING
    input.Body.properties.accessControl.actions.openAuthenticationPolicies.policies.STRING.claims[_].value == STRING
    input.Body.properties.accessControl.workflowManagement.allowedCallerIpAddresses[_].addressRange == STRING
    input.Body.properties.accessControl.workflowManagement.openAuthenticationPolicies.policies.STRING.type == enum_OpenAuthenticationProviderType[_]
    input.Body.properties.accessControl.workflowManagement.openAuthenticationPolicies.policies.STRING.claims[_].name == STRING
    input.Body.properties.accessControl.workflowManagement.openAuthenticationPolicies.policies.STRING.claims[_].value == STRING
    input.Body.properties.integrationAccount.id == STRING
    input.Body.properties.integrationServiceEnvironment.id == STRING
    input.Body.properties.definition.STRING == STRING
    input.Body.properties.parameters.STRING.type == enum_ParameterType[_]
    input.Body.properties.parameters.STRING.value.STRING == STRING
    input.Body.properties.parameters.STRING.metadata.STRING == STRING
    input.Body.properties.parameters.STRING.description == STRING
    input.Body.properties.kind == enum_Kind[_]
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.workflowName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}