MICROSOFT.INSIGHTS

APIKeys_Create

valid {
    input.Body.name == STRING
    input.Body.linkedReadProperties[_] == STRING
    input.Body.linkedWriteProperties[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

APIKeys_Delete

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

APIKeys_Get

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

APIKeys_List

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

ActionGroups_CreateNotificationsAtActionGroupResourceLevel

valid {
    input.Body.alertType == STRING
    input.Body.emailReceivers[_].name == STRING
    input.Body.emailReceivers[_].emailAddress == STRING
    input.Body.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.smsReceivers[_].name == STRING
    input.Body.smsReceivers[_].countryCode == STRING
    input.Body.smsReceivers[_].phoneNumber == STRING
    input.Body.webhookReceivers[_].name == STRING
    input.Body.webhookReceivers[_].serviceUri == STRING
    input.Body.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.webhookReceivers[_].objectId == STRING
    input.Body.webhookReceivers[_].identifierUri == STRING
    input.Body.webhookReceivers[_].tenantId == STRING
    input.Body.itsmReceivers[_].name == STRING
    input.Body.itsmReceivers[_].workspaceId == STRING
    input.Body.itsmReceivers[_].connectionId == STRING
    input.Body.itsmReceivers[_].ticketConfiguration == STRING
    input.Body.itsmReceivers[_].region == STRING
    input.Body.azureAppPushReceivers[_].name == STRING
    input.Body.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.automationRunbookReceivers[_].automationAccountId == STRING
    input.Body.automationRunbookReceivers[_].runbookName == STRING
    input.Body.automationRunbookReceivers[_].webhookResourceId == STRING
    input.Body.automationRunbookReceivers[_].isGlobalRunbook == BOOLEAN
    input.Body.automationRunbookReceivers[_].name == STRING
    input.Body.automationRunbookReceivers[_].serviceUri == STRING
    input.Body.automationRunbookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.voiceReceivers[_].name == STRING
    input.Body.voiceReceivers[_].countryCode == STRING
    input.Body.voiceReceivers[_].phoneNumber == STRING
    input.Body.logicAppReceivers[_].name == STRING
    input.Body.logicAppReceivers[_].resourceId == STRING
    input.Body.logicAppReceivers[_].callbackUrl == STRING
    input.Body.logicAppReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.azureFunctionReceivers[_].name == STRING
    input.Body.azureFunctionReceivers[_].functionAppResourceId == STRING
    input.Body.azureFunctionReceivers[_].functionName == STRING
    input.Body.azureFunctionReceivers[_].httpTriggerUrl == STRING
    input.Body.azureFunctionReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.armRoleReceivers[_].name == STRING
    input.Body.armRoleReceivers[_].roleId == STRING
    input.Body.armRoleReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].name == STRING
    input.Body.eventHubReceivers[_].eventHubNameSpace == STRING
    input.Body.eventHubReceivers[_].eventHubName == STRING
    input.Body.eventHubReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].tenantId == STRING
    input.Body.eventHubReceivers[_].subscriptionId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.actionGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActionGroups_CreateNotificationsAtResourceGroupLevel

valid {
    input.Body.alertType == STRING
    input.Body.emailReceivers[_].name == STRING
    input.Body.emailReceivers[_].emailAddress == STRING
    input.Body.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.smsReceivers[_].name == STRING
    input.Body.smsReceivers[_].countryCode == STRING
    input.Body.smsReceivers[_].phoneNumber == STRING
    input.Body.webhookReceivers[_].name == STRING
    input.Body.webhookReceivers[_].serviceUri == STRING
    input.Body.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.webhookReceivers[_].objectId == STRING
    input.Body.webhookReceivers[_].identifierUri == STRING
    input.Body.webhookReceivers[_].tenantId == STRING
    input.Body.itsmReceivers[_].name == STRING
    input.Body.itsmReceivers[_].workspaceId == STRING
    input.Body.itsmReceivers[_].connectionId == STRING
    input.Body.itsmReceivers[_].ticketConfiguration == STRING
    input.Body.itsmReceivers[_].region == STRING
    input.Body.azureAppPushReceivers[_].name == STRING
    input.Body.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.automationRunbookReceivers[_].automationAccountId == STRING
    input.Body.automationRunbookReceivers[_].runbookName == STRING
    input.Body.automationRunbookReceivers[_].webhookResourceId == STRING
    input.Body.automationRunbookReceivers[_].isGlobalRunbook == BOOLEAN
    input.Body.automationRunbookReceivers[_].name == STRING
    input.Body.automationRunbookReceivers[_].serviceUri == STRING
    input.Body.automationRunbookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.voiceReceivers[_].name == STRING
    input.Body.voiceReceivers[_].countryCode == STRING
    input.Body.voiceReceivers[_].phoneNumber == STRING
    input.Body.logicAppReceivers[_].name == STRING
    input.Body.logicAppReceivers[_].resourceId == STRING
    input.Body.logicAppReceivers[_].callbackUrl == STRING
    input.Body.logicAppReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.azureFunctionReceivers[_].name == STRING
    input.Body.azureFunctionReceivers[_].functionAppResourceId == STRING
    input.Body.azureFunctionReceivers[_].functionName == STRING
    input.Body.azureFunctionReceivers[_].httpTriggerUrl == STRING
    input.Body.azureFunctionReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.armRoleReceivers[_].name == STRING
    input.Body.armRoleReceivers[_].roleId == STRING
    input.Body.armRoleReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].name == STRING
    input.Body.eventHubReceivers[_].eventHubNameSpace == STRING
    input.Body.eventHubReceivers[_].eventHubName == STRING
    input.Body.eventHubReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].tenantId == STRING
    input.Body.eventHubReceivers[_].subscriptionId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActionGroups_CreateOrUpdate

valid {
    input.Body.properties.groupShortName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.emailReceivers[_].name == STRING
    input.Body.properties.emailReceivers[_].emailAddress == STRING
    input.Body.properties.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.smsReceivers[_].name == STRING
    input.Body.properties.smsReceivers[_].countryCode == STRING
    input.Body.properties.smsReceivers[_].phoneNumber == STRING
    input.Body.properties.webhookReceivers[_].name == STRING
    input.Body.properties.webhookReceivers[_].serviceUri == STRING
    input.Body.properties.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.properties.webhookReceivers[_].objectId == STRING
    input.Body.properties.webhookReceivers[_].identifierUri == STRING
    input.Body.properties.webhookReceivers[_].tenantId == STRING
    input.Body.properties.itsmReceivers[_].name == STRING
    input.Body.properties.itsmReceivers[_].workspaceId == STRING
    input.Body.properties.itsmReceivers[_].connectionId == STRING
    input.Body.properties.itsmReceivers[_].ticketConfiguration == STRING
    input.Body.properties.itsmReceivers[_].region == STRING
    input.Body.properties.azureAppPushReceivers[_].name == STRING
    input.Body.properties.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.properties.automationRunbookReceivers[_].automationAccountId == STRING
    input.Body.properties.automationRunbookReceivers[_].runbookName == STRING
    input.Body.properties.automationRunbookReceivers[_].webhookResourceId == STRING
    input.Body.properties.automationRunbookReceivers[_].isGlobalRunbook == BOOLEAN
    input.Body.properties.automationRunbookReceivers[_].name == STRING
    input.Body.properties.automationRunbookReceivers[_].serviceUri == STRING
    input.Body.properties.automationRunbookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.voiceReceivers[_].name == STRING
    input.Body.properties.voiceReceivers[_].countryCode == STRING
    input.Body.properties.voiceReceivers[_].phoneNumber == STRING
    input.Body.properties.logicAppReceivers[_].name == STRING
    input.Body.properties.logicAppReceivers[_].resourceId == STRING
    input.Body.properties.logicAppReceivers[_].callbackUrl == STRING
    input.Body.properties.logicAppReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.azureFunctionReceivers[_].name == STRING
    input.Body.properties.azureFunctionReceivers[_].functionAppResourceId == STRING
    input.Body.properties.azureFunctionReceivers[_].functionName == STRING
    input.Body.properties.azureFunctionReceivers[_].httpTriggerUrl == STRING
    input.Body.properties.azureFunctionReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.armRoleReceivers[_].name == STRING
    input.Body.properties.armRoleReceivers[_].roleId == STRING
    input.Body.properties.armRoleReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.eventHubReceivers[_].name == STRING
    input.Body.properties.eventHubReceivers[_].eventHubNameSpace == STRING
    input.Body.properties.eventHubReceivers[_].eventHubName == STRING
    input.Body.properties.eventHubReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.eventHubReceivers[_].tenantId == STRING
    input.Body.properties.eventHubReceivers[_].subscriptionId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.actionGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActionGroups_Delete

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

ActionGroups_EnableReceiver

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

ActionGroups_Get

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

ActionGroups_GetTestNotifications

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

ActionGroups_GetTestNotificationsAtActionGroupResourceLevel

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

ActionGroups_GetTestNotificationsAtResourceGroupLevel

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

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

ActionGroups_ListBySubscriptionId

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

ActionGroups_PostTestNotifications

valid {
    input.Body.alertType == STRING
    input.Body.emailReceivers[_].name == STRING
    input.Body.emailReceivers[_].emailAddress == STRING
    input.Body.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.smsReceivers[_].name == STRING
    input.Body.smsReceivers[_].countryCode == STRING
    input.Body.smsReceivers[_].phoneNumber == STRING
    input.Body.webhookReceivers[_].name == STRING
    input.Body.webhookReceivers[_].serviceUri == STRING
    input.Body.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.webhookReceivers[_].objectId == STRING
    input.Body.webhookReceivers[_].identifierUri == STRING
    input.Body.webhookReceivers[_].tenantId == STRING
    input.Body.itsmReceivers[_].name == STRING
    input.Body.itsmReceivers[_].workspaceId == STRING
    input.Body.itsmReceivers[_].connectionId == STRING
    input.Body.itsmReceivers[_].ticketConfiguration == STRING
    input.Body.itsmReceivers[_].region == STRING
    input.Body.azureAppPushReceivers[_].name == STRING
    input.Body.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.automationRunbookReceivers[_].automationAccountId == STRING
    input.Body.automationRunbookReceivers[_].runbookName == STRING
    input.Body.automationRunbookReceivers[_].webhookResourceId == STRING
    input.Body.automationRunbookReceivers[_].isGlobalRunbook == BOOLEAN
    input.Body.automationRunbookReceivers[_].name == STRING
    input.Body.automationRunbookReceivers[_].serviceUri == STRING
    input.Body.automationRunbookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.voiceReceivers[_].name == STRING
    input.Body.voiceReceivers[_].countryCode == STRING
    input.Body.voiceReceivers[_].phoneNumber == STRING
    input.Body.logicAppReceivers[_].name == STRING
    input.Body.logicAppReceivers[_].resourceId == STRING
    input.Body.logicAppReceivers[_].callbackUrl == STRING
    input.Body.logicAppReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.azureFunctionReceivers[_].name == STRING
    input.Body.azureFunctionReceivers[_].functionAppResourceId == STRING
    input.Body.azureFunctionReceivers[_].functionName == STRING
    input.Body.azureFunctionReceivers[_].httpTriggerUrl == STRING
    input.Body.azureFunctionReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.armRoleReceivers[_].name == STRING
    input.Body.armRoleReceivers[_].roleId == STRING
    input.Body.armRoleReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].name == STRING
    input.Body.eventHubReceivers[_].eventHubNameSpace == STRING
    input.Body.eventHubReceivers[_].eventHubName == STRING
    input.Body.eventHubReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.eventHubReceivers[_].tenantId == STRING
    input.Body.eventHubReceivers[_].subscriptionId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ActionGroups_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.actionGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActivityLogAlerts_CreateOrUpdate

valid {
    input.Body.properties.tenantScope == STRING
    input.Body.properties.scopes[_] == STRING
    input.Body.properties.condition.allOf[_].anyOf[_].field == STRING
    input.Body.properties.condition.allOf[_].anyOf[_].equals == STRING
    input.Body.properties.condition.allOf[_].anyOf[_].containsAny[_] == STRING
    input.Body.properties.condition.allOf[_].field == STRING
    input.Body.properties.condition.allOf[_].equals == STRING
    input.Body.properties.condition.allOf[_].containsAny[_] == STRING
    input.Body.properties.actions.actionGroups[_].actionGroupId == STRING
    input.Body.properties.actions.actionGroups[_].webhookProperties.STRING == STRING
    input.Body.properties.actions.actionGroups[_].actionProperties.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.description == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.activityLogAlertName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActivityLogAlerts_Delete

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

ActivityLogAlerts_Get

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

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

ActivityLogAlerts_ListBySubscriptionId

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

ActivityLogAlerts_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.activityLogAlertName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ActivityLogs_List

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

AlertRuleIncidents_Get

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

AlertRuleIncidents_ListByAlertRule

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

AlertRules_CreateOrUpdate

valid {
    input.Body.properties.name == STRING
    input.Body.properties.description == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.properties.isEnabled == BOOLEAN
    input.Body.properties.condition.odata.type == STRING
    input.Body.properties.condition.dataSource.odata.type == STRING
    input.Body.properties.condition.dataSource.resourceUri == STRING
    input.Body.properties.condition.dataSource.legacyResourceId == STRING
    input.Body.properties.condition.dataSource.resourceLocation == STRING
    input.Body.properties.condition.dataSource.metricNamespace == STRING
    input.Body.properties.action.odata.type == STRING
    input.Body.properties.actions[_].odata.type == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AlertRules_Delete

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

AlertRules_Get

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

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

AlertRules_ListBySubscription

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

AlertRules_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.name == STRING
    input.Body.properties.description == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.properties.isEnabled == BOOLEAN
    input.Body.properties.condition.odata.type == STRING
    input.Body.properties.condition.dataSource.odata.type == STRING
    input.Body.properties.condition.dataSource.resourceUri == STRING
    input.Body.properties.condition.dataSource.legacyResourceId == STRING
    input.Body.properties.condition.dataSource.resourceLocation == STRING
    input.Body.properties.condition.dataSource.metricNamespace == STRING
    input.Body.properties.action.odata.type == STRING
    input.Body.properties.actions[_].odata.type == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AnalyticsItems_Delete

enum_ItemScopePathParameter := [ "analyticsItems", "myanalyticsItems" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.scopePath == enum_ItemScopePathParameter[_]
    input.Qs.api-version == STRING
    input.Qs.id == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AnalyticsItems_Get

enum_ItemScopePathParameter := [ "analyticsItems", "myanalyticsItems" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.scopePath == enum_ItemScopePathParameter[_]
    input.Qs.api-version == STRING
    input.Qs.id == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AnalyticsItems_List

enum_ItemScopeParameter := [ "shared", "user" ]
enum_ItemScopePathParameter := [ "analyticsItems", "myanalyticsItems" ]
enum_ItemTypeParameter := [ "none", "query", "function", "folder", "recent" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.scopePath == enum_ItemScopePathParameter[_]
    input.Qs.api-version == STRING
    input.Qs.scope == enum_ItemScopeParameter[_]
    input.Qs.type == enum_ItemTypeParameter[_]
    input.Qs.includeContent == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AnalyticsItems_Put

enum_ApplicationInsightsComponentAnalyticsItemScope := [ "shared", "user" ]
enum_ApplicationInsightsComponentAnalyticsItemType := [ "none", "query", "recent", "function" ]
enum_ItemScopePathParameter := [ "analyticsItems", "myanalyticsItems" ]

valid {
    input.Body.Id == STRING
    input.Body.Name == STRING
    input.Body.Content == STRING
    input.Body.Scope == enum_ApplicationInsightsComponentAnalyticsItemScope[_]
    input.Body.Type == enum_ApplicationInsightsComponentAnalyticsItemType[_]
    input.Body.Properties.functionAlias == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.scopePath == enum_ItemScopePathParameter[_]
    input.Qs.api-version == STRING
    input.Qs.overrideItem == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Annotations_Create

valid {
    input.Body.AnnotationName == STRING
    input.Body.Category == STRING
    input.Body.EventTime == STRING
    input.Body.Id == STRING
    input.Body.Properties == STRING
    input.Body.RelatedAnnotation == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Annotations_Delete

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

Annotations_Get

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

Annotations_List

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

AutoscaleSettings_CreateOrUpdate

enum_AutoscaleNotificationOperation := [ "Scale" ]
enum_MetricTriggerOperator := [ "Equals", "NotEquals", "GreaterThan", "GreaterThanOrEqual", "LessThan", "LessThanOrEqual" ]
enum_MetricTriggerStatistic := [ "Average", "Min", "Max", "Sum", "Count" ]
enum_MetricTriggerTimeAggregation := [ "Average", "Minimum", "Maximum", "Total", "Count", "Last" ]
enum_PredictiveAutoscalePolicyScaleMode := [ "Disabled", "ForecastOnly", "Enabled" ]
enum_RecurrenceFrequency := [ "None", "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" ]
enum_ScaleActionDirection := [ "None", "Increase", "Decrease" ]
enum_ScaleActionType := [ "ChangeCount", "PercentChangeCount", "ExactCount", "ServiceAllowedNextValue" ]
enum_ScaleRuleMetricDimensionOperator := [ "Equals", "NotEquals" ]

valid {
    input.Body.properties.profiles[_].name == STRING
    input.Body.properties.profiles[_].capacity.minimum == STRING
    input.Body.properties.profiles[_].capacity.maximum == STRING
    input.Body.properties.profiles[_].capacity.default == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricName == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricNamespace == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricResourceUri == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricResourceLocation == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeGrain == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.statistic == enum_MetricTriggerStatistic[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeWindow == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeAggregation == enum_MetricTriggerTimeAggregation[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.operator == enum_MetricTriggerOperator[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.threshold == NUMBER
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].DimensionName == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].Operator == enum_ScaleRuleMetricDimensionOperator[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].Values[_] == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.dividePerInstance == BOOLEAN
    input.Body.properties.profiles[_].rules[_].scaleAction.direction == enum_ScaleActionDirection[_]
    input.Body.properties.profiles[_].rules[_].scaleAction.type == enum_ScaleActionType[_]
    input.Body.properties.profiles[_].rules[_].scaleAction.value == STRING
    input.Body.properties.profiles[_].rules[_].scaleAction.cooldown == STRING
    input.Body.properties.profiles[_].fixedDate.timeZone == STRING
    input.Body.properties.profiles[_].fixedDate.start == STRING
    input.Body.properties.profiles[_].fixedDate.end == STRING
    input.Body.properties.profiles[_].recurrence.frequency == enum_RecurrenceFrequency[_]
    input.Body.properties.profiles[_].recurrence.schedule.timeZone == STRING
    input.Body.properties.profiles[_].recurrence.schedule.days[_] == STRING
    input.Body.properties.profiles[_].recurrence.schedule.hours[_] == INTEGER
    input.Body.properties.profiles[_].recurrence.schedule.minutes[_] == INTEGER
    input.Body.properties.notifications[_].operation == enum_AutoscaleNotificationOperation[_]
    input.Body.properties.notifications[_].email.sendToSubscriptionAdministrator == BOOLEAN
    input.Body.properties.notifications[_].email.sendToSubscriptionCoAdministrators == BOOLEAN
    input.Body.properties.notifications[_].email.customEmails[_] == STRING
    input.Body.properties.notifications[_].webhooks[_].serviceUri == STRING
    input.Body.properties.notifications[_].webhooks[_].properties.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.predictiveAutoscalePolicy.scaleMode == enum_PredictiveAutoscalePolicyScaleMode[_]
    input.Body.properties.predictiveAutoscalePolicy.scaleLookAheadTime == STRING
    input.Body.properties.name == STRING
    input.Body.properties.targetResourceUri == STRING
    input.Body.properties.targetResourceLocation == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.autoscaleSettingName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AutoscaleSettings_Delete

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

AutoscaleSettings_Get

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

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

AutoscaleSettings_ListBySubscription

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

AutoscaleSettings_Update

enum_AutoscaleNotificationOperation := [ "Scale" ]
enum_MetricTriggerOperator := [ "Equals", "NotEquals", "GreaterThan", "GreaterThanOrEqual", "LessThan", "LessThanOrEqual" ]
enum_MetricTriggerStatistic := [ "Average", "Min", "Max", "Sum", "Count" ]
enum_MetricTriggerTimeAggregation := [ "Average", "Minimum", "Maximum", "Total", "Count", "Last" ]
enum_PredictiveAutoscalePolicyScaleMode := [ "Disabled", "ForecastOnly", "Enabled" ]
enum_RecurrenceFrequency := [ "None", "Second", "Minute", "Hour", "Day", "Week", "Month", "Year" ]
enum_ScaleActionDirection := [ "None", "Increase", "Decrease" ]
enum_ScaleActionType := [ "ChangeCount", "PercentChangeCount", "ExactCount", "ServiceAllowedNextValue" ]
enum_ScaleRuleMetricDimensionOperator := [ "Equals", "NotEquals" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.profiles[_].name == STRING
    input.Body.properties.profiles[_].capacity.minimum == STRING
    input.Body.properties.profiles[_].capacity.maximum == STRING
    input.Body.properties.profiles[_].capacity.default == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricName == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricNamespace == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricResourceUri == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.metricResourceLocation == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeGrain == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.statistic == enum_MetricTriggerStatistic[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeWindow == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.timeAggregation == enum_MetricTriggerTimeAggregation[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.operator == enum_MetricTriggerOperator[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.threshold == NUMBER
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].DimensionName == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].Operator == enum_ScaleRuleMetricDimensionOperator[_]
    input.Body.properties.profiles[_].rules[_].metricTrigger.dimensions[_].Values[_] == STRING
    input.Body.properties.profiles[_].rules[_].metricTrigger.dividePerInstance == BOOLEAN
    input.Body.properties.profiles[_].rules[_].scaleAction.direction == enum_ScaleActionDirection[_]
    input.Body.properties.profiles[_].rules[_].scaleAction.type == enum_ScaleActionType[_]
    input.Body.properties.profiles[_].rules[_].scaleAction.value == STRING
    input.Body.properties.profiles[_].rules[_].scaleAction.cooldown == STRING
    input.Body.properties.profiles[_].fixedDate.timeZone == STRING
    input.Body.properties.profiles[_].fixedDate.start == STRING
    input.Body.properties.profiles[_].fixedDate.end == STRING
    input.Body.properties.profiles[_].recurrence.frequency == enum_RecurrenceFrequency[_]
    input.Body.properties.profiles[_].recurrence.schedule.timeZone == STRING
    input.Body.properties.profiles[_].recurrence.schedule.days[_] == STRING
    input.Body.properties.profiles[_].recurrence.schedule.hours[_] == INTEGER
    input.Body.properties.profiles[_].recurrence.schedule.minutes[_] == INTEGER
    input.Body.properties.notifications[_].operation == enum_AutoscaleNotificationOperation[_]
    input.Body.properties.notifications[_].email.sendToSubscriptionAdministrator == BOOLEAN
    input.Body.properties.notifications[_].email.sendToSubscriptionCoAdministrators == BOOLEAN
    input.Body.properties.notifications[_].email.customEmails[_] == STRING
    input.Body.properties.notifications[_].webhooks[_].serviceUri == STRING
    input.Body.properties.notifications[_].webhooks[_].properties.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.predictiveAutoscalePolicy.scaleMode == enum_PredictiveAutoscalePolicyScaleMode[_]
    input.Body.properties.predictiveAutoscalePolicy.scaleLookAheadTime == STRING
    input.Body.properties.name == STRING
    input.Body.properties.targetResourceUri == STRING
    input.Body.properties.targetResourceLocation == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.autoscaleSettingName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Baselines_List

enum_BaselineResultTypeParameter := [ "Data", "Metadata" ]

valid {
    input.ReqMap.resourceUri == STRING
    input.Qs.metricnames == STRING
    input.Qs.metricnamespace == STRING
    input.Qs.timespan == STRING
    input.Qs.interval == STRING
    input.Qs.aggregation == STRING
    input.Qs.sensitivities == STRING
    input.Qs.$filter == STRING
    input.Qs.resultType == enum_BaselineResultTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ComponentAvailableFeatures_Get

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

ComponentCurrentBillingFeatures_Get

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

ComponentCurrentBillingFeatures_Update

valid {
    input.Body.DataVolumeCap.Cap == NUMBER
    input.Body.DataVolumeCap.WarningThreshold == INTEGER
    input.Body.DataVolumeCap.StopSendNotificationWhenHitThreshold == BOOLEAN
    input.Body.DataVolumeCap.StopSendNotificationWhenHitCap == BOOLEAN
    input.Body.CurrentBillingFeatures[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentCurrentPricingPlan_CreateAndUpdate

valid {
    input.Body.properties.planType == STRING
    input.Body.properties.cap == NUMBER
    input.Body.properties.warningThreshold == INTEGER
    input.Body.properties.stopSendNotificationWhenHitThreshold == BOOLEAN
    input.Body.properties.stopSendNotificationWhenHitCap == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentCurrentPricingPlan_Get

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

ComponentCurrentPricingPlan_Update

valid {
    input.Body.properties.planType == STRING
    input.Body.properties.cap == NUMBER
    input.Body.properties.warningThreshold == INTEGER
    input.Body.properties.stopSendNotificationWhenHitThreshold == BOOLEAN
    input.Body.properties.stopSendNotificationWhenHitCap == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentFeatureCapabilities_Get

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

ComponentLinkedStorageAccounts_CreateAndUpdate

enum_StorageTypeParameter := [ "ServiceProfiler" ]

valid {
    input.Body.properties.linkedStorageAccount == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.storageType == enum_StorageTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentLinkedStorageAccounts_Delete

enum_StorageTypeParameter := [ "ServiceProfiler" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.storageType == enum_StorageTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentLinkedStorageAccounts_Get

enum_StorageTypeParameter := [ "ServiceProfiler" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.storageType == enum_StorageTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentLinkedStorageAccounts_Update

enum_StorageTypeParameter := [ "ServiceProfiler" ]

valid {
    input.Body.properties.linkedStorageAccount == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.storageType == enum_StorageTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ComponentQuotaStatus_Get

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

Components_CreateOrUpdate

enum_ApplicationInsightsComponentPropertiesApplication_Type := [ "web", "other" ]
enum_ApplicationInsightsComponentPropertiesFlow_Type := [ "Bluefield" ]
enum_ApplicationInsightsComponentPropertiesIngestionMode := [ "ApplicationInsights", "ApplicationInsightsWithDiagnosticSettings", "LogAnalytics" ]
enum_ApplicationInsightsComponentPropertiesRequest_Source := [ "rest" ]
enum_PublicNetworkAccessType := [ "Enabled", "Disabled" ]

valid {
    input.Body.kind == STRING
    input.Body.etag == STRING
    input.Body.properties.Application_Type == enum_ApplicationInsightsComponentPropertiesApplication_Type[_]
    input.Body.properties.Flow_Type == enum_ApplicationInsightsComponentPropertiesFlow_Type[_]
    input.Body.properties.Request_Source == enum_ApplicationInsightsComponentPropertiesRequest_Source[_]
    input.Body.properties.HockeyAppId == STRING
    input.Body.properties.SamplingPercentage == NUMBER
    input.Body.properties.RetentionInDays == INTEGER
    input.Body.properties.DisableIpMasking == BOOLEAN
    input.Body.properties.ImmediatePurgeDataOn30Days == BOOLEAN
    input.Body.properties.WorkspaceResourceId == STRING
    input.Body.properties.publicNetworkAccessForIngestion == enum_PublicNetworkAccessType[_]
    input.Body.properties.publicNetworkAccessForQuery == enum_PublicNetworkAccessType[_]
    input.Body.properties.IngestionMode == enum_ApplicationInsightsComponentPropertiesIngestionMode[_]
    input.Body.properties.DisableLocalAuth == BOOLEAN
    input.Body.properties.ForceCustomerStorageForProfiler == BOOLEAN
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Components_Delete

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

Components_Get

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

Components_GetPurgeStatus

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

Components_List

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

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

Components_Purge

valid {
    input.Body.table == STRING
    input.Body.filters[_].column == STRING
    input.Body.filters[_].operator == STRING
    input.Body.filters[_].value == {}
    input.Body.filters[_].key == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Components_UpdateTags

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

CreateNotificationsAtTenantActionGroupResourceLevel

valid {
    input.Body.alertType == STRING
    input.Body.emailReceivers[_].name == STRING
    input.Body.emailReceivers[_].emailAddress == STRING
    input.Body.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.smsReceivers[_].name == STRING
    input.Body.smsReceivers[_].countryCode == STRING
    input.Body.smsReceivers[_].phoneNumber == STRING
    input.Body.webhookReceivers[_].name == STRING
    input.Body.webhookReceivers[_].serviceUri == STRING
    input.Body.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.webhookReceivers[_].objectId == STRING
    input.Body.webhookReceivers[_].identifierUri == STRING
    input.Body.webhookReceivers[_].tenantId == STRING
    input.Body.azureAppPushReceivers[_].name == STRING
    input.Body.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.voiceReceivers[_].name == STRING
    input.Body.voiceReceivers[_].countryCode == STRING
    input.Body.voiceReceivers[_].phoneNumber == STRING
    input.ReqMap.managementGroupId == STRING
    input.ReqMap.tenantActionGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

DataCollectionEndpoints_Create

enum_DataCollectionEndpointResourceKind := [ "Linux", "Windows" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_NetworkRuleSetPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.immutableId == STRING
    input.Body.properties.configurationAccess == {}
    input.Body.properties.logsIngestion == {}
    input.Body.properties.metricsIngestion == {}
    input.Body.properties.networkAcls.publicNetworkAccess == enum_NetworkRuleSetPublicNetworkAccess[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.kind == enum_DataCollectionEndpointResourceKind[_]
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dataCollectionEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataCollectionEndpoints_Delete

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

DataCollectionEndpoints_Get

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

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

DataCollectionEndpoints_ListBySubscription

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

DataCollectionEndpoints_Update

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

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dataCollectionEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataCollectionRuleAssociations_Create

valid {
    input.Body.properties.description == STRING
    input.Body.properties.dataCollectionRuleId == STRING
    input.Body.properties.dataCollectionEndpointId == STRING
    input.ReqMap.resourceUri == STRING
    input.ReqMap.associationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

DataCollectionRuleAssociations_Delete

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

DataCollectionRuleAssociations_Get

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

DataCollectionRuleAssociations_ListByDataCollectionEndpoint

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

DataCollectionRuleAssociations_ListByResource

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

DataCollectionRuleAssociations_ListByRule

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

DataCollectionRules_Create

enum_AgentSettingName := [ "MaxDiskQuotaInMB", "UseTimeReceivedForForwardedEvents" ]
enum_ColumnDefinitionType := [ "string", "int", "long", "real", "boolean", "datetime", "dynamic" ]
enum_DataCollectionRuleResourceKind := [ "Linux", "Windows" ]
enum_DataFlowStreams := [ "Microsoft-Event", "Microsoft-InsightsMetrics", "Microsoft-Perf", "Microsoft-Syslog", "Microsoft-WindowsEvent" ]
enum_ExtensionDataSourceStreams := [ "Microsoft-Event", "Microsoft-InsightsMetrics", "Microsoft-Perf", "Microsoft-Syslog", "Microsoft-WindowsEvent" ]
enum_LogFileTextSettingsRecordStartTimestampFormat := [ "ISO 8601", "YYYY-MM-DD HH:MM:SS", "M/D/YYYY HH:MM:SS AM/PM", "Mon DD, YYYY HH:MM:SS", "yyMMdd HH:mm:ss", "ddMMyy HH:mm:ss", "MMM d hh:mm:ss", "dd/MMM/yyyy:HH:mm:ss zzz", "yyyy-MM-ddTHH:mm:ssK" ]
enum_LogFilesDataSourceFormat := [ "json", "text" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_PerfCounterDataSourceStreams := [ "Microsoft-Perf", "Microsoft-InsightsMetrics" ]
enum_PrometheusForwarderDataSourceStreams := [ "Microsoft-PrometheusMetrics" ]
enum_StorageBlobLookupType := [ "String", "Cidr" ]
enum_SyslogDataSourceFacilityNames := [ "*", "alert", "audit", "auth", "authpriv", "clock", "cron", "daemon", "ftp", "kern", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "lpr", "mail", "mark", "news", "nopri", "ntp", "syslog", "user", "uucp" ]
enum_SyslogDataSourceLogLevels := [ "Debug", "Info", "Notice", "Warning", "Error", "Critical", "Alert", "Emergency", "*" ]
enum_SyslogDataSourceStreams := [ "Microsoft-Syslog" ]
enum_WindowsEventLogDataSourceStreams := [ "Microsoft-WindowsEvent", "Microsoft-Event" ]
enum_WindowsFirewallLogsDataSourceProfileFilter := [ "Domain", "Private", "Public" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.dataCollectionEndpointId == STRING
    input.Body.properties.references.enrichmentData.storageBlobs[_].resourceId == STRING
    input.Body.properties.references.enrichmentData.storageBlobs[_].blobUrl == STRING
    input.Body.properties.references.enrichmentData.storageBlobs[_].lookupType == enum_StorageBlobLookupType[_]
    input.Body.properties.references.enrichmentData.storageBlobs[_].name == STRING
    input.Body.properties.agentSettings.logs[_].name == enum_AgentSettingName[_]
    input.Body.properties.agentSettings.logs[_].value == STRING
    input.Body.properties.streamDeclarations.STRING.columns[_].name == STRING
    input.Body.properties.streamDeclarations.STRING.columns[_].type == enum_ColumnDefinitionType[_]
    input.Body.properties.dataSources.performanceCounters[_].streams[_] == enum_PerfCounterDataSourceStreams[_]
    input.Body.properties.dataSources.performanceCounters[_].samplingFrequencyInSeconds == INTEGER
    input.Body.properties.dataSources.performanceCounters[_].counterSpecifiers[_] == STRING
    input.Body.properties.dataSources.performanceCounters[_].transformKql == STRING
    input.Body.properties.dataSources.performanceCounters[_].name == STRING
    input.Body.properties.dataSources.windowsEventLogs[_].streams[_] == enum_WindowsEventLogDataSourceStreams[_]
    input.Body.properties.dataSources.windowsEventLogs[_].xPathQueries[_] == STRING
    input.Body.properties.dataSources.windowsEventLogs[_].transformKql == STRING
    input.Body.properties.dataSources.windowsEventLogs[_].name == STRING
    input.Body.properties.dataSources.syslog[_].streams[_] == enum_SyslogDataSourceStreams[_]
    input.Body.properties.dataSources.syslog[_].facilityNames[_] == enum_SyslogDataSourceFacilityNames[_]
    input.Body.properties.dataSources.syslog[_].logLevels[_] == enum_SyslogDataSourceLogLevels[_]
    input.Body.properties.dataSources.syslog[_].transformKql == STRING
    input.Body.properties.dataSources.syslog[_].name == STRING
    input.Body.properties.dataSources.extensions[_].streams[_] == enum_ExtensionDataSourceStreams[_]
    input.Body.properties.dataSources.extensions[_].extensionName == STRING
    input.Body.properties.dataSources.extensions[_].extensionSettings.STRING == STRING
    input.Body.properties.dataSources.extensions[_].inputDataSources[_] == STRING
    input.Body.properties.dataSources.extensions[_].name == STRING
    input.Body.properties.dataSources.logFiles[_].streams[_] == STRING
    input.Body.properties.dataSources.logFiles[_].filePatterns[_] == STRING
    input.Body.properties.dataSources.logFiles[_].format == enum_LogFilesDataSourceFormat[_]
    input.Body.properties.dataSources.logFiles[_].settings.text.recordStartTimestampFormat == enum_LogFileTextSettingsRecordStartTimestampFormat[_]
    input.Body.properties.dataSources.logFiles[_].transformKql == STRING
    input.Body.properties.dataSources.logFiles[_].name == STRING
    input.Body.properties.dataSources.iisLogs[_].streams[_] == STRING
    input.Body.properties.dataSources.iisLogs[_].logDirectories[_] == STRING
    input.Body.properties.dataSources.iisLogs[_].transformKql == STRING
    input.Body.properties.dataSources.iisLogs[_].name == STRING
    input.Body.properties.dataSources.windowsFirewallLogs[_].streams[_] == STRING
    input.Body.properties.dataSources.windowsFirewallLogs[_].profileFilter[_] == enum_WindowsFirewallLogsDataSourceProfileFilter[_]
    input.Body.properties.dataSources.windowsFirewallLogs[_].name == STRING
    input.Body.properties.dataSources.prometheusForwarder[_].streams[_] == enum_PrometheusForwarderDataSourceStreams[_]
    input.Body.properties.dataSources.prometheusForwarder[_].labelIncludeFilter.STRING == STRING
    input.Body.properties.dataSources.prometheusForwarder[_].name == STRING
    input.Body.properties.dataSources.platformTelemetry[_].streams[_] == STRING
    input.Body.properties.dataSources.platformTelemetry[_].name == STRING
    input.Body.properties.dataSources.dataImports.eventHub.name == STRING
    input.Body.properties.dataSources.dataImports.eventHub.consumerGroup == STRING
    input.Body.properties.dataSources.dataImports.eventHub.stream == STRING
    input.Body.properties.destinations.logAnalytics[_].workspaceResourceId == STRING
    input.Body.properties.destinations.logAnalytics[_].name == STRING
    input.Body.properties.destinations.monitoringAccounts[_].accountResourceId == STRING
    input.Body.properties.destinations.monitoringAccounts[_].name == STRING
    input.Body.properties.destinations.azureMonitorMetrics.name == STRING
    input.Body.properties.destinations.eventHubs[_].eventHubResourceId == STRING
    input.Body.properties.destinations.eventHubs[_].name == STRING
    input.Body.properties.destinations.eventHubsDirect[_].eventHubResourceId == STRING
    input.Body.properties.destinations.eventHubsDirect[_].name == STRING
    input.Body.properties.destinations.storageBlobsDirect[_].containerName == STRING
    input.Body.properties.destinations.storageBlobsDirect[_].storageAccountResourceId == STRING
    input.Body.properties.destinations.storageBlobsDirect[_].name == STRING
    input.Body.properties.destinations.storageTablesDirect[_].tableName == STRING
    input.Body.properties.destinations.storageTablesDirect[_].storageAccountResourceId == STRING
    input.Body.properties.destinations.storageTablesDirect[_].name == STRING
    input.Body.properties.destinations.storageAccounts[_].containerName == STRING
    input.Body.properties.destinations.storageAccounts[_].storageAccountResourceId == STRING
    input.Body.properties.destinations.storageAccounts[_].name == STRING
    input.Body.properties.destinations.microsoftFabric[_].tenantId == STRING
    input.Body.properties.destinations.microsoftFabric[_].artifactId == STRING
    input.Body.properties.destinations.microsoftFabric[_].databaseName == STRING
    input.Body.properties.destinations.microsoftFabric[_].ingestionUri == STRING
    input.Body.properties.destinations.microsoftFabric[_].name == STRING
    input.Body.properties.destinations.azureDataExplorer[_].resourceId == STRING
    input.Body.properties.destinations.azureDataExplorer[_].databaseName == STRING
    input.Body.properties.destinations.azureDataExplorer[_].name == STRING
    input.Body.properties.dataFlows[_].streams[_] == enum_DataFlowStreams[_]
    input.Body.properties.dataFlows[_].destinations[_] == STRING
    input.Body.properties.dataFlows[_].transformKql == STRING
    input.Body.properties.dataFlows[_].outputStream == STRING
    input.Body.properties.dataFlows[_].builtInTransform == STRING
    input.Body.properties.dataFlows[_].captureOverflow == BOOLEAN
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.kind == enum_DataCollectionRuleResourceKind[_]
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dataCollectionRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataCollectionRules_Delete

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

DataCollectionRules_Get

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

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

DataCollectionRules_ListBySubscription

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

DataCollectionRules_Update

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

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.dataCollectionRuleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DiagnosticServiceToken_GetReadOnly

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

DiagnosticServiceToken_GetReadWrite

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

DiagnosticSettingsCategory_Get

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

DiagnosticSettingsCategory_List

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

DiagnosticSettings_CreateOrUpdate

valid {
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.eventHubAuthorizationRuleId == STRING
    input.Body.properties.eventHubName == STRING
    input.Body.properties.metrics[_].timeGrain == STRING
    input.Body.properties.metrics[_].category == STRING
    input.Body.properties.metrics[_].enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.days == INTEGER
    input.Body.properties.logs[_].category == STRING
    input.Body.properties.logs[_].categoryGroup == STRING
    input.Body.properties.logs[_].enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.days == INTEGER
    input.Body.properties.workspaceId == STRING
    input.Body.properties.marketplacePartnerId == STRING
    input.Body.properties.logAnalyticsDestinationType == STRING
    input.ReqMap.resourceUri == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

DiagnosticSettings_Delete

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

DiagnosticSettings_Get

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

DiagnosticSettings_List

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

EASubscriptionListMigrationDate_Post

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

EASubscriptionMigrateToNewPricingModel_Post

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

EASubscriptionRollbackToLegacyPricingModel_Post

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

EventCategories_List

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

ExportConfigurations_Create

valid {
    input.Body.RecordTypes == STRING
    input.Body.DestinationType == STRING
    input.Body.DestinationAddress == STRING
    input.Body.IsEnabled == STRING
    input.Body.NotificationQueueEnabled == STRING
    input.Body.NotificationQueueUri == STRING
    input.Body.DestinationStorageSubscriptionId == STRING
    input.Body.DestinationStorageLocationId == STRING
    input.Body.DestinationAccountId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ExportConfigurations_Delete

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

ExportConfigurations_Get

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

ExportConfigurations_List

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

ExportConfigurations_Update

valid {
    input.Body.RecordTypes == STRING
    input.Body.DestinationType == STRING
    input.Body.DestinationAddress == STRING
    input.Body.IsEnabled == STRING
    input.Body.NotificationQueueEnabled == STRING
    input.Body.NotificationQueueUri == STRING
    input.Body.DestinationStorageSubscriptionId == STRING
    input.Body.DestinationStorageLocationId == STRING
    input.Body.DestinationAccountId == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.exportId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Favorites_Add

enum_ApplicationInsightsComponentFavoriteFavoriteType := [ "shared", "user" ]

valid {
    input.Body.Name == STRING
    input.Body.Config == STRING
    input.Body.Version == STRING
    input.Body.FavoriteType == enum_ApplicationInsightsComponentFavoriteFavoriteType[_]
    input.Body.SourceType == STRING
    input.Body.Tags[_] == STRING
    input.Body.Category == STRING
    input.Body.IsGeneratedFromTemplate == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.favoriteId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Favorites_Delete

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

Favorites_Get

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

Favorites_List

enum_FavoriteTypeParameter := [ "shared", "user" ]
enum_SourceTypeParameter := [ "retention", "notebook", "sessions", "events", "userflows", "funnel", "impact", "segmentation" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.Qs.favoriteType == enum_FavoriteTypeParameter[_]
    input.Qs.sourceType == enum_SourceTypeParameter[_]
    input.Qs.canFetchContent == BOOLEAN
    input.Qs.tags == ARRAY
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Favorites_Update

enum_ApplicationInsightsComponentFavoriteFavoriteType := [ "shared", "user" ]

valid {
    input.Body.Name == STRING
    input.Body.Config == STRING
    input.Body.Version == STRING
    input.Body.FavoriteType == enum_ApplicationInsightsComponentFavoriteFavoriteType[_]
    input.Body.SourceType == STRING
    input.Body.Tags[_] == STRING
    input.Body.Category == STRING
    input.Body.IsGeneratedFromTemplate == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.favoriteId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

GetTestNotificationsAtTenantActionGroupResourceLevel

valid {
    input.ReqMap.managementGroupId == STRING
    input.ReqMap.tenantActionGroupName == STRING
    input.ReqMap.notificationId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

GuestDiagnosticsSettingsAssociation_CreateOrUpdate

valid {
    input.Body.properties.guestDiagnosticSettingsName == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceUri == STRING
    input.ReqMap.associationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

GuestDiagnosticsSettingsAssociation_Delete

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

GuestDiagnosticsSettingsAssociation_Get

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

GuestDiagnosticsSettingsAssociation_List

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

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

GuestDiagnosticsSettingsAssociation_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.guestDiagnosticSettingsName == STRING
    input.ReqMap.resourceUri == STRING
    input.ReqMap.associationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

LiveToken_Get

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

LogProfiles_CreateOrUpdate

valid {
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.locations[_] == STRING
    input.Body.properties.categories[_] == STRING
    input.Body.properties.retentionPolicy.enabled == BOOLEAN
    input.Body.properties.retentionPolicy.days == INTEGER
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.logProfileName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LogProfiles_Delete

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

LogProfiles_Get

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

LogProfiles_List

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

LogProfiles_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.locations[_] == STRING
    input.Body.properties.categories[_] == STRING
    input.Body.properties.retentionPolicy.enabled == BOOLEAN
    input.Body.properties.retentionPolicy.days == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.logProfileName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ManagementGroupDiagnosticSettings_CreateOrUpdate

valid {
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.eventHubAuthorizationRuleId == STRING
    input.Body.properties.eventHubName == STRING
    input.Body.properties.logs[_].category == STRING
    input.Body.properties.logs[_].categoryGroup == STRING
    input.Body.properties.logs[_].enabled == BOOLEAN
    input.Body.properties.workspaceId == STRING
    input.Body.properties.marketplacePartnerId == STRING
    input.ReqMap.managementGroupId == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ManagementGroupDiagnosticSettings_Delete

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

ManagementGroupDiagnosticSettings_Get

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

ManagementGroupDiagnosticSettings_List

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

MetricAlertsStatus_List

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

MetricAlertsStatus_ListByName

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

MetricAlerts_CreateOrUpdate

enum_MetricAlertCriteriaOdata.type := [ "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria", "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.severity == INTEGER
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.scopes[_] == STRING
    input.Body.properties.evaluationFrequency == STRING
    input.Body.properties.windowSize == STRING
    input.Body.properties.targetResourceType == STRING
    input.Body.properties.targetResourceRegion == STRING
    input.Body.properties.criteria.odata.type == enum_MetricAlertCriteriaOdata.type[_]
    input.Body.properties.autoMitigate == BOOLEAN
    input.Body.properties.actions[_].actionGroupId == STRING
    input.Body.properties.actions[_].webHookProperties.STRING == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetricAlerts_Delete

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

MetricAlerts_Get

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

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

MetricAlerts_ListBySubscription

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

MetricAlerts_Update

enum_MetricAlertCriteriaOdata.type := [ "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria", "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.severity == INTEGER
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.scopes[_] == STRING
    input.Body.properties.evaluationFrequency == STRING
    input.Body.properties.windowSize == STRING
    input.Body.properties.targetResourceType == STRING
    input.Body.properties.targetResourceRegion == STRING
    input.Body.properties.criteria.odata.type == enum_MetricAlertCriteriaOdata.type[_]
    input.Body.properties.autoMitigate == BOOLEAN
    input.Body.properties.actions[_].actionGroupId == STRING
    input.Body.properties.actions[_].webHookProperties.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetricDefinitions_List

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

MetricDefinitions_ListAtSubscriptionScope

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

MetricNamespaces_List

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

Metrics_List

enum_ResultTypeParameter := [ "Data", "Metadata" ]

valid {
    input.ReqMap.resourceUri == STRING
    input.Qs.timespan == STRING
    input.Qs.interval == STRING
    input.Qs.metricnames == STRING
    input.Qs.aggregation == STRING
    input.Qs.top == INTEGER
    input.Qs.orderby == STRING
    input.Qs.$filter == STRING
    input.Qs.resultType == enum_ResultTypeParameter[_]
    input.Qs.api-version == STRING
    input.Qs.metricnamespace == STRING
    input.Qs.AutoAdjustTimegrain == BOOLEAN
    input.Qs.ValidateDimensions == BOOLEAN
    input.Qs.rollupby == STRING
    input.ProviderMetadata.Region == STRING
}

Metrics_ListAtSubscriptionScope

enum_SubscriptionScopeResultTypeParameter := [ "Data", "Metadata" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.region == STRING
    input.Qs.timespan == STRING
    input.Qs.interval == STRING
    input.Qs.metricnames == STRING
    input.Qs.aggregation == STRING
    input.Qs.top == INTEGER
    input.Qs.orderby == STRING
    input.Qs.$filter == STRING
    input.Qs.resultType == enum_SubscriptionScopeResultTypeParameter[_]
    input.Qs.metricnamespace == STRING
    input.Qs.AutoAdjustTimegrain == BOOLEAN
    input.Qs.ValidateDimensions == BOOLEAN
    input.Qs.rollupby == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Metrics_ListAtSubscriptionScopePost

enum_SubscriptionScopeMetricsRequestBodyParametersResultType := [ "Data", "Metadata" ]
enum_SubscriptionScopeResultTypeParameter := [ "Data", "Metadata" ]

valid {
    input.Body.timespan == STRING
    input.Body.interval == STRING
    input.Body.metricNames == STRING
    input.Body.aggregation == STRING
    input.Body.filter == STRING
    input.Body.top == INTEGER
    input.Body.orderBy == STRING
    input.Body.rollUpBy == STRING
    input.Body.resultType == enum_SubscriptionScopeMetricsRequestBodyParametersResultType[_]
    input.Body.metricNamespace == STRING
    input.Body.autoAdjustTimegrain == BOOLEAN
    input.Body.validateDimensions == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.region == STRING
    input.Qs.timespan == STRING
    input.Qs.interval == STRING
    input.Qs.metricnames == STRING
    input.Qs.aggregation == STRING
    input.Qs.top == INTEGER
    input.Qs.orderby == STRING
    input.Qs.$filter == STRING
    input.Qs.resultType == enum_SubscriptionScopeResultTypeParameter[_]
    input.Qs.metricnamespace == STRING
    input.Qs.AutoAdjustTimegrain == BOOLEAN
    input.Qs.ValidateDimensions == BOOLEAN
    input.Qs.rollupby == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

MyWorkbooks_CreateOrUpdate

enum_MyWorkbookKind := [ "user", "shared" ]
enum_MyWorkbookManagedIdentityType := [ "UserAssigned", "None" ]

valid {
    input.Body.kind == enum_MyWorkbookKind[_]
    input.Body.properties.displayName == STRING
    input.Body.properties.serializedData == STRING
    input.Body.properties.version == STRING
    input.Body.properties.category == STRING
    input.Body.properties.tags[_] == STRING
    input.Body.properties.sourceId == STRING
    input.Body.properties.storageUri == STRING
    input.Body.identity.userAssignedIdentities == {}
    input.Body.identity.type == enum_MyWorkbookManagedIdentityType[_]
    input.Body.id == STRING
    input.Body.name == STRING
    input.Body.type == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.etag.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.sourceId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MyWorkbooks_Delete

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

MyWorkbooks_Get

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

MyWorkbooks_ListByResourceGroup

enum_CategoryParameter := [ "workbook", "TSG", "performance", "retention" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.category == enum_CategoryParameter[_]
    input.Qs.tags == ARRAY
    input.Qs.sourceId == STRING
    input.Qs.canFetchContent == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MyWorkbooks_ListBySubscription

enum_CategoryParameter := [ "workbook", "TSG", "performance", "retention" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.category == enum_CategoryParameter[_]
    input.Qs.tags == ARRAY
    input.Qs.canFetchContent == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

MyWorkbooks_Update

enum_MyWorkbookKind := [ "user", "shared" ]

valid {
    input.Body.kind == enum_MyWorkbookKind[_]
    input.Body.properties.displayName == STRING
    input.Body.properties.serializedData == STRING
    input.Body.properties.version == STRING
    input.Body.properties.category == STRING
    input.Body.properties.tags[_] == STRING
    input.Body.properties.sourceId == STRING
    input.Body.properties.storageUri == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.sourceId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Operations_List

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

PredictiveMetric_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.autoscaleSettingName == STRING
    input.Qs.timespan == STRING
    input.Qs.interval == STRING
    input.Qs.metricNamespace == STRING
    input.Qs.metricName == STRING
    input.Qs.aggregation == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_CreateOrUpdate

enum_PrivateEndpointServiceConnectionStatus := [ "Pending", "Approved", "Rejected" ]

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

PrivateEndpointConnections_Delete

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

PrivateEndpointConnections_Get

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

PrivateEndpointConnections_ListByPrivateLinkScope

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

PrivateLinkResources_Get

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

PrivateLinkResources_ListByPrivateLinkScope

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

PrivateLinkScopeOperationStatus_Get

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

PrivateLinkScopedResources_CreateOrUpdate

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

PrivateLinkScopedResources_Delete

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

PrivateLinkScopedResources_Get

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

PrivateLinkScopedResources_ListByPrivateLinkScope

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

PrivateLinkScopes_CreateOrUpdate

enum_AccessMode := [ "Open", "PrivateOnly" ]

valid {
    input.Body.properties.accessModeSettings.queryAccessMode == enum_AccessMode[_]
    input.Body.properties.accessModeSettings.ingestionAccessMode == enum_AccessMode[_]
    input.Body.properties.accessModeSettings.exclusions[_].privateEndpointConnectionName == STRING
    input.Body.properties.accessModeSettings.exclusions[_].queryAccessMode == enum_AccessMode[_]
    input.Body.properties.accessModeSettings.exclusions[_].ingestionAccessMode == enum_AccessMode[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.scopeName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkScopes_Delete

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

PrivateLinkScopes_Get

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

PrivateLinkScopes_List

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

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

PrivateLinkScopes_UpdateTags

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

ProactiveDetectionConfigurations_Get

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

ProactiveDetectionConfigurations_List

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

ProactiveDetectionConfigurations_Update

valid {
    input.Body.name == STRING
    input.Body.location == STRING
    input.Body.properties.Enabled == BOOLEAN
    input.Body.properties.SendEmailsToSubscriptionOwners == BOOLEAN
    input.Body.properties.CustomEmails[_] == STRING
    input.Body.properties.RuleDefinitions.Name == STRING
    input.Body.properties.RuleDefinitions.DisplayName == STRING
    input.Body.properties.RuleDefinitions.Description == STRING
    input.Body.properties.RuleDefinitions.HelpUrl == STRING
    input.Body.properties.RuleDefinitions.IsHidden == BOOLEAN
    input.Body.properties.RuleDefinitions.IsEnabledByDefault == BOOLEAN
    input.Body.properties.RuleDefinitions.IsInPreview == BOOLEAN
    input.Body.properties.RuleDefinitions.SupportsEmailNotifications == BOOLEAN
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.ConfigurationId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScheduledQueryRules_CreateOrUpdate

enum_ConditionOperator := [ "Equals", "GreaterThan", "GreaterThanOrEqual", "LessThan", "LessThanOrEqual" ]
enum_ConditionTimeAggregation := [ "Count", "Average", "Minimum", "Maximum", "Total" ]
enum_DimensionOperator := [ "Include", "Exclude" ]
enum_IdentityType := [ "SystemAssigned", "UserAssigned", "None" ]
enum_ScheduledQueryRulePropertiesSeverity := [ 0, 1, 2, 3, 4 ]
enum_ScheduledQueryRuleResourceKind := [ "LogAlert", "LogToMetric" ]

valid {
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.Body.kind == enum_ScheduledQueryRuleResourceKind[_]
    input.Body.properties.description == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.severity == enum_ScheduledQueryRulePropertiesSeverity[_]
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.scopes[_] == STRING
    input.Body.properties.evaluationFrequency == STRING
    input.Body.properties.windowSize == STRING
    input.Body.properties.overrideQueryTimeRange == STRING
    input.Body.properties.targetResourceTypes[_] == STRING
    input.Body.properties.criteria.allOf[_].query == STRING
    input.Body.properties.criteria.allOf[_].timeAggregation == enum_ConditionTimeAggregation[_]
    input.Body.properties.criteria.allOf[_].metricMeasureColumn == STRING
    input.Body.properties.criteria.allOf[_].resourceIdColumn == STRING
    input.Body.properties.criteria.allOf[_].dimensions[_].name == STRING
    input.Body.properties.criteria.allOf[_].dimensions[_].operator == enum_DimensionOperator[_]
    input.Body.properties.criteria.allOf[_].dimensions[_].values[_] == STRING
    input.Body.properties.criteria.allOf[_].operator == enum_ConditionOperator[_]
    input.Body.properties.criteria.allOf[_].threshold == NUMBER
    input.Body.properties.criteria.allOf[_].failingPeriods.numberOfEvaluationPeriods == INTEGER
    input.Body.properties.criteria.allOf[_].failingPeriods.minFailingPeriodsToAlert == INTEGER
    input.Body.properties.criteria.allOf[_].metricName == STRING
    input.Body.properties.muteActionsDuration == STRING
    input.Body.properties.actions.actionGroups[_] == STRING
    input.Body.properties.actions.customProperties.STRING == STRING
    input.Body.properties.actions.actionProperties.STRING == STRING
    input.Body.properties.checkWorkspaceAlertsStorageConfigured == BOOLEAN
    input.Body.properties.skipQueryValidation == BOOLEAN
    input.Body.properties.autoMitigate == BOOLEAN
    input.Body.properties.ruleResolveConfiguration.autoResolved == BOOLEAN
    input.Body.properties.ruleResolveConfiguration.timeToResolve == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScheduledQueryRules_Delete

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

ScheduledQueryRules_Get

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

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

ScheduledQueryRules_ListBySubscription

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

ScheduledQueryRules_Update

enum_ConditionOperator := [ "Equals", "GreaterThan", "GreaterThanOrEqual", "LessThan", "LessThanOrEqual" ]
enum_ConditionTimeAggregation := [ "Count", "Average", "Minimum", "Maximum", "Total" ]
enum_DimensionOperator := [ "Include", "Exclude" ]
enum_IdentityType := [ "SystemAssigned", "UserAssigned", "None" ]
enum_ScheduledQueryRulePropertiesSeverity := [ 0, 1, 2, 3, 4 ]

valid {
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.severity == enum_ScheduledQueryRulePropertiesSeverity[_]
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.scopes[_] == STRING
    input.Body.properties.evaluationFrequency == STRING
    input.Body.properties.windowSize == STRING
    input.Body.properties.overrideQueryTimeRange == STRING
    input.Body.properties.targetResourceTypes[_] == STRING
    input.Body.properties.criteria.allOf[_].query == STRING
    input.Body.properties.criteria.allOf[_].timeAggregation == enum_ConditionTimeAggregation[_]
    input.Body.properties.criteria.allOf[_].metricMeasureColumn == STRING
    input.Body.properties.criteria.allOf[_].resourceIdColumn == STRING
    input.Body.properties.criteria.allOf[_].dimensions[_].name == STRING
    input.Body.properties.criteria.allOf[_].dimensions[_].operator == enum_DimensionOperator[_]
    input.Body.properties.criteria.allOf[_].dimensions[_].values[_] == STRING
    input.Body.properties.criteria.allOf[_].operator == enum_ConditionOperator[_]
    input.Body.properties.criteria.allOf[_].threshold == NUMBER
    input.Body.properties.criteria.allOf[_].failingPeriods.numberOfEvaluationPeriods == INTEGER
    input.Body.properties.criteria.allOf[_].failingPeriods.minFailingPeriodsToAlert == INTEGER
    input.Body.properties.criteria.allOf[_].metricName == STRING
    input.Body.properties.muteActionsDuration == STRING
    input.Body.properties.actions.actionGroups[_] == STRING
    input.Body.properties.actions.customProperties.STRING == STRING
    input.Body.properties.actions.actionProperties.STRING == STRING
    input.Body.properties.checkWorkspaceAlertsStorageConfigured == BOOLEAN
    input.Body.properties.skipQueryValidation == BOOLEAN
    input.Body.properties.autoMitigate == BOOLEAN
    input.Body.properties.ruleResolveConfiguration.autoResolved == BOOLEAN
    input.Body.properties.ruleResolveConfiguration.timeToResolve == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.ruleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceDiagnosticSettings_CreateOrUpdate

valid {
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.eventHubAuthorizationRuleId == STRING
    input.Body.properties.metrics[_].timeGrain == STRING
    input.Body.properties.metrics[_].enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.days == INTEGER
    input.Body.properties.logs[_].category == STRING
    input.Body.properties.logs[_].enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.days == INTEGER
    input.Body.properties.workspaceId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ServiceDiagnosticSettings_Get

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

ServiceDiagnosticSettings_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.eventHubAuthorizationRuleId == STRING
    input.Body.properties.metrics[_].timeGrain == STRING
    input.Body.properties.metrics[_].enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.metrics[_].retentionPolicy.days == INTEGER
    input.Body.properties.logs[_].category == STRING
    input.Body.properties.logs[_].enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.enabled == BOOLEAN
    input.Body.properties.logs[_].retentionPolicy.days == INTEGER
    input.Body.properties.workspaceId == STRING
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SubscriptionDiagnosticSettings_CreateOrUpdate

valid {
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.serviceBusRuleId == STRING
    input.Body.properties.eventHubAuthorizationRuleId == STRING
    input.Body.properties.eventHubName == STRING
    input.Body.properties.logs[_].category == STRING
    input.Body.properties.logs[_].categoryGroup == STRING
    input.Body.properties.logs[_].enabled == BOOLEAN
    input.Body.properties.workspaceId == STRING
    input.Body.properties.marketplacePartnerId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SubscriptionDiagnosticSettings_Delete

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

SubscriptionDiagnosticSettings_Get

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

SubscriptionDiagnosticSettings_List

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

TenantActionGroups_CreateOrUpdate

valid {
    input.Body.properties.groupShortName == STRING
    input.Body.properties.enabled == BOOLEAN
    input.Body.properties.emailReceivers[_].name == STRING
    input.Body.properties.emailReceivers[_].emailAddress == STRING
    input.Body.properties.emailReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.smsReceivers[_].name == STRING
    input.Body.properties.smsReceivers[_].countryCode == STRING
    input.Body.properties.smsReceivers[_].phoneNumber == STRING
    input.Body.properties.webhookReceivers[_].name == STRING
    input.Body.properties.webhookReceivers[_].serviceUri == STRING
    input.Body.properties.webhookReceivers[_].useCommonAlertSchema == BOOLEAN
    input.Body.properties.webhookReceivers[_].useAadAuth == BOOLEAN
    input.Body.properties.webhookReceivers[_].objectId == STRING
    input.Body.properties.webhookReceivers[_].identifierUri == STRING
    input.Body.properties.webhookReceivers[_].tenantId == STRING
    input.Body.properties.azureAppPushReceivers[_].name == STRING
    input.Body.properties.azureAppPushReceivers[_].emailAddress == STRING
    input.Body.properties.voiceReceivers[_].name == STRING
    input.Body.properties.voiceReceivers[_].countryCode == STRING
    input.Body.properties.voiceReceivers[_].phoneNumber == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.managementGroupId == STRING
    input.ReqMap.tenantActionGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

TenantActionGroups_Delete

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

TenantActionGroups_Get

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

TenantActionGroups_ListByManagementGroupId

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

TenantActionGroups_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.enabled == BOOLEAN
    input.ReqMap.managementGroupId == STRING
    input.ReqMap.tenantActionGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

TenantActivityLogs_List

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

VMInsights_GetOnboardingStatus

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

WebTests_CreateOrUpdate

enum_WebTestKind := [ "ping", "multistep", "standard" ]
enum_WebTestPropertiesKind := [ "ping", "multistep", "standard" ]

valid {
    input.Body.kind == enum_WebTestKind[_]
    input.Body.properties.SyntheticMonitorId == STRING
    input.Body.properties.Name == STRING
    input.Body.properties.Description == STRING
    input.Body.properties.Enabled == BOOLEAN
    input.Body.properties.Frequency == INTEGER
    input.Body.properties.Timeout == INTEGER
    input.Body.properties.Kind == enum_WebTestPropertiesKind[_]
    input.Body.properties.RetryEnabled == BOOLEAN
    input.Body.properties.Locations[_].Id == STRING
    input.Body.properties.Configuration.WebTest == STRING
    input.Body.properties.Request.RequestUrl == STRING
    input.Body.properties.Request.Headers[_].key == STRING
    input.Body.properties.Request.Headers[_].value == STRING
    input.Body.properties.Request.HttpVerb == STRING
    input.Body.properties.Request.RequestBody == STRING
    input.Body.properties.Request.ParseDependentRequests == BOOLEAN
    input.Body.properties.Request.FollowRedirects == BOOLEAN
    input.Body.properties.ValidationRules.ContentValidation.ContentMatch == STRING
    input.Body.properties.ValidationRules.ContentValidation.IgnoreCase == BOOLEAN
    input.Body.properties.ValidationRules.ContentValidation.PassIfTextFound == BOOLEAN
    input.Body.properties.ValidationRules.SSLCheck == BOOLEAN
    input.Body.properties.ValidationRules.SSLCertRemainingLifetimeCheck == INTEGER
    input.Body.properties.ValidationRules.ExpectedHttpStatusCode == INTEGER
    input.Body.properties.ValidationRules.IgnoreHttpStatusCode == BOOLEAN
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.webTestName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WebTests_Delete

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

WebTests_Get

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

WebTests_List

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

WebTests_ListByComponent

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

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

WebTests_UpdateTags

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

WorkItemConfigurations_Create

valid {
    input.Body.ConnectorId == STRING
    input.Body.ConnectorDataConfiguration == STRING
    input.Body.ValidateOnly == BOOLEAN
    input.Body.WorkItemProperties.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkItemConfigurations_Delete

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

WorkItemConfigurations_GetDefault

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

WorkItemConfigurations_GetItem

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

WorkItemConfigurations_List

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

WorkItemConfigurations_UpdateItem

valid {
    input.Body.ConnectorId == STRING
    input.Body.ConnectorDataConfiguration == STRING
    input.Body.ValidateOnly == BOOLEAN
    input.Body.WorkItemProperties.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.workItemConfigId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkbookTemplates_CreateOrUpdate

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.author == STRING
    input.Body.properties.templateData.STRING == STRING
    input.Body.properties.galleries[_].name == STRING
    input.Body.properties.galleries[_].category == STRING
    input.Body.properties.galleries[_].type == STRING
    input.Body.properties.galleries[_].order == INTEGER
    input.Body.properties.galleries[_].resourceType == STRING
    input.Body.properties.localized.STRING[_].templateData.STRING == STRING
    input.Body.properties.localized.STRING[_].galleries[_].name == STRING
    input.Body.properties.localized.STRING[_].galleries[_].category == STRING
    input.Body.properties.localized.STRING[_].galleries[_].type == STRING
    input.Body.properties.localized.STRING[_].galleries[_].order == INTEGER
    input.Body.properties.localized.STRING[_].galleries[_].resourceType == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WorkbookTemplates_Delete

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

WorkbookTemplates_Get

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

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

WorkbookTemplates_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.priority == INTEGER
    input.Body.properties.author == STRING
    input.Body.properties.templateData.STRING == STRING
    input.Body.properties.galleries[_].name == STRING
    input.Body.properties.galleries[_].category == STRING
    input.Body.properties.galleries[_].type == STRING
    input.Body.properties.galleries[_].order == INTEGER
    input.Body.properties.galleries[_].resourceType == STRING
    input.Body.properties.localized.STRING[_].templateData.STRING == STRING
    input.Body.properties.localized.STRING[_].galleries[_].name == STRING
    input.Body.properties.localized.STRING[_].galleries[_].category == STRING
    input.Body.properties.localized.STRING[_].galleries[_].type == STRING
    input.Body.properties.localized.STRING[_].galleries[_].order == INTEGER
    input.Body.properties.localized.STRING[_].galleries[_].resourceType == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workbooks_CreateOrUpdate

enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_WorkbookResourceKind := [ "shared" ]

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.serializedData == STRING
    input.Body.properties.version == STRING
    input.Body.properties.category == STRING
    input.Body.properties.tags[_] == STRING
    input.Body.properties.sourceId == STRING
    input.Body.properties.storageUri == STRING
    input.Body.properties.description == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.kind == enum_WorkbookResourceKind[_]
    input.Body.etag == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.sourceId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workbooks_Delete

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

Workbooks_Get

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

Workbooks_ListByResourceGroup

enum_CategoryParameter := [ "workbook", "TSG", "performance", "retention" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.category == enum_CategoryParameter[_]
    input.Qs.tags == ARRAY
    input.Qs.sourceId == STRING
    input.Qs.canFetchContent == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workbooks_ListBySubscription

enum_CategoryParameter := [ "workbook", "TSG", "performance", "retention" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.category == enum_CategoryParameter[_]
    input.Qs.tags == ARRAY
    input.Qs.canFetchContent == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Workbooks_RevisionGet

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

Workbooks_RevisionsList

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

Workbooks_Update

enum_WorkbookUpdateParametersKind := [ "shared" ]

valid {
    input.Body.kind == enum_WorkbookUpdateParametersKind[_]
    input.Body.tags.STRING == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.serializedData == STRING
    input.Body.properties.category == STRING
    input.Body.properties.tags[_] == STRING
    input.Body.properties.description == STRING
    input.Body.properties.revision == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.sourceId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

getTestResultFile

enum_DownloadAsParameter := [ "WebTestResult", "Json" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.webTestName == STRING
    input.Qs.api-version == STRING
    input.Qs.geoLocationId == STRING
    input.Qs.timeStamp == INTEGER
    input.Qs.downloadAs == enum_DownloadAsParameter[_]
    input.Qs.testSuccessfulCriteria == BOOLEAN
    input.Qs.continuationToken == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

guestDiagnosticsSettings_CreateOrUpdate

enum_DataSourceKind := [ "PerformanceCounter", "ETWProviders", "WindowsEventLogs" ]
enum_GuestDiagnosticSettingsOsType := [ "Windows", "Linux" ]
enum_SinkConfigurationKind := [ "EventHub", "ApplicationInsights", "LogAnalytics" ]

valid {
    input.Body.properties.osType == enum_GuestDiagnosticSettingsOsType[_]
    input.Body.properties.dataSources[_].kind == enum_DataSourceKind[_]
    input.Body.properties.dataSources[_].configuration.providers[_].id == STRING
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].name == STRING
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].id == INTEGER
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].filter == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].name == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].samplingPeriod == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].instance == STRING
    input.Body.properties.dataSources[_].configuration.eventLogs[_].logName == STRING
    input.Body.properties.dataSources[_].configuration.eventLogs[_].filter == STRING
    input.Body.properties.dataSources[_].sinks[_].kind == enum_SinkConfigurationKind[_]
    input.Body.properties.proxySetting == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.diagnosticSettingsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

guestDiagnosticsSettings_Delete

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

guestDiagnosticsSettings_Get

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

guestDiagnosticsSettings_List

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

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

guestDiagnosticsSettings_Update

enum_DataSourceKind := [ "PerformanceCounter", "ETWProviders", "WindowsEventLogs" ]
enum_GuestDiagnosticSettingsOsType := [ "Windows", "Linux" ]
enum_SinkConfigurationKind := [ "EventHub", "ApplicationInsights", "LogAnalytics" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.osType == enum_GuestDiagnosticSettingsOsType[_]
    input.Body.properties.dataSources[_].kind == enum_DataSourceKind[_]
    input.Body.properties.dataSources[_].configuration.providers[_].id == STRING
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].name == STRING
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].id == INTEGER
    input.Body.properties.dataSources[_].configuration.providers[_].events[_].filter == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].name == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].samplingPeriod == STRING
    input.Body.properties.dataSources[_].configuration.perfCounters[_].instance == STRING
    input.Body.properties.dataSources[_].configuration.eventLogs[_].logName == STRING
    input.Body.properties.dataSources[_].configuration.eventLogs[_].filter == STRING
    input.Body.properties.dataSources[_].sinks[_].kind == enum_SinkConfigurationKind[_]
    input.Body.properties.proxySetting == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.diagnosticSettingsName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

webTestLocations_List

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