MICROSOFT.DEVTESTLAB

ArmTemplates_Get

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

ArmTemplates_List

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

ArtifactSources_CreateOrUpdate

enum_ArtifactSourcePropertiesSourceType := [ "VsoGit", "GitHub", "StorageAccount" ]
enum_ArtifactSourcePropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.uri == STRING
    input.Body.properties.sourceType == enum_ArtifactSourcePropertiesSourceType[_]
    input.Body.properties.folderPath == STRING
    input.Body.properties.armTemplateFolderPath == STRING
    input.Body.properties.branchRef == STRING
    input.Body.properties.securityToken == STRING
    input.Body.properties.status == enum_ArtifactSourcePropertiesStatus[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ArtifactSources_Delete

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

ArtifactSources_Get

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

ArtifactSources_List

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

ArtifactSources_Update

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

Artifacts_GenerateArmTemplate

enum_GenerateArmTemplateRequestFileUploadOptions := [ "UploadFilesAndGenerateSasTokens", "None" ]

valid {
    input.Body.virtualMachineName == STRING
    input.Body.parameters[_].name == STRING
    input.Body.parameters[_].value == STRING
    input.Body.location == STRING
    input.Body.fileUploadOptions == enum_GenerateArmTemplateRequestFileUploadOptions[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.artifactSourceName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Artifacts_Get

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

Artifacts_List

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

CostInsight_GetResource

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

CostInsight_List

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

CostInsight_RefreshData

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

Cost_List

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

Cost_RefreshData

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

Costs_CreateOrUpdate

enum_CostThresholdPropertiesDisplayOnChart := [ "Enabled", "Disabled" ]
enum_CostThresholdPropertiesSendNotificationWhenExceeded := [ "Enabled", "Disabled" ]
enum_TargetCostPropertiesCycleType := [ "CalendarMonth", "Custom" ]
enum_TargetCostPropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.targetCost.status == enum_TargetCostPropertiesStatus[_]
    input.Body.properties.targetCost.target == INTEGER
    input.Body.properties.targetCost.costThresholds[_].thresholdId == STRING
    input.Body.properties.targetCost.costThresholds[_].percentageThreshold.thresholdValue == NUMBER
    input.Body.properties.targetCost.costThresholds[_].displayOnChart == enum_CostThresholdPropertiesDisplayOnChart[_]
    input.Body.properties.targetCost.costThresholds[_].sendNotificationWhenExceeded == enum_CostThresholdPropertiesSendNotificationWhenExceeded[_]
    input.Body.properties.targetCost.costThresholds[_].notificationSent == STRING
    input.Body.properties.targetCost.cycleStartDateTime == STRING
    input.Body.properties.targetCost.cycleEndDateTime == STRING
    input.Body.properties.targetCost.cycleType == enum_TargetCostPropertiesCycleType[_]
    input.Body.properties.currencyCode == STRING
    input.Body.properties.startDateTime == STRING
    input.Body.properties.endDateTime == STRING
    input.Body.properties.createdDate == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Costs_Get

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

CustomImages_CreateOrUpdate

enum_CustomImagePropertiesCustomOsType := [ "Windows", "Linux", "None" ]
enum_DataDiskStorageTypeInfoStorageType := [ "Standard", "Premium", "StandardSSD" ]
enum_LinuxOsInfoLinuxOsState := [ "NonDeprovisioned", "DeprovisionRequested", "DeprovisionApplied" ]
enum_WindowsOsInfoWindowsOsState := [ "NonSysprepped", "SysprepRequested", "SysprepApplied" ]

valid {
    input.Body.properties.vm.sourceVmId == STRING
    input.Body.properties.vm.windowsOsInfo.windowsOsState == enum_WindowsOsInfoWindowsOsState[_]
    input.Body.properties.vm.linuxOsInfo.linuxOsState == enum_LinuxOsInfoLinuxOsState[_]
    input.Body.properties.vhd.imageName == STRING
    input.Body.properties.vhd.sysPrep == BOOLEAN
    input.Body.properties.vhd.osType == enum_CustomImagePropertiesCustomOsType[_]
    input.Body.properties.description == STRING
    input.Body.properties.author == STRING
    input.Body.properties.managedImageId == STRING
    input.Body.properties.managedSnapshotId == STRING
    input.Body.properties.dataDiskStorageInfo[_].lun == STRING
    input.Body.properties.dataDiskStorageInfo[_].storageType == enum_DataDiskStorageTypeInfoStorageType[_]
    input.Body.properties.customImagePlan.id == STRING
    input.Body.properties.customImagePlan.publisher == STRING
    input.Body.properties.customImagePlan.offer == STRING
    input.Body.properties.isPlanAuthorized == BOOLEAN
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomImages_Delete

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

CustomImages_Get

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

CustomImages_List

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

CustomImages_Update

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

Disks_Attach

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

Disks_CreateOrUpdate

enum_DiskPropertiesDiskType := [ "Standard", "Premium", "StandardSSD" ]

valid {
    input.Body.properties.diskType == enum_DiskPropertiesDiskType[_]
    input.Body.properties.diskSizeGiB == INTEGER
    input.Body.properties.leasedByLabVmId == STRING
    input.Body.properties.diskBlobName == STRING
    input.Body.properties.diskUri == STRING
    input.Body.properties.storageAccountId == STRING
    input.Body.properties.hostCaching == STRING
    input.Body.properties.managedDiskId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.userName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Disks_Delete

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

Disks_Detach

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

Disks_Get

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

Disks_List

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

Disks_Update

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

Environments_CreateOrUpdate

valid {
    input.Body.properties.deploymentProperties.armTemplateId == STRING
    input.Body.properties.deploymentProperties.parameters[_].name == STRING
    input.Body.properties.deploymentProperties.parameters[_].value == STRING
    input.Body.properties.armTemplateDisplayName == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.userName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_Delete

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

Environments_Get

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

Environments_List

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

Environments_Update

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

Formulas_CreateOrUpdate

enum_AttachNewDataDiskOptionsDiskType := [ "Standard", "Premium", "StandardSSD" ]
enum_DataDiskPropertiesHostCaching := [ "None", "ReadOnly", "ReadWrite" ]
enum_InboundNatRuleTransportProtocol := [ "Tcp", "Udp" ]
enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_ScheduleCreationParameterPropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.osType == STRING
    input.Body.properties.formulaContent.properties.bulkCreationParameters.instanceCount == INTEGER
    input.Body.properties.formulaContent.properties.notes == STRING
    input.Body.properties.formulaContent.properties.ownerObjectId == STRING
    input.Body.properties.formulaContent.properties.ownerUserPrincipalName == STRING
    input.Body.properties.formulaContent.properties.createdDate == STRING
    input.Body.properties.formulaContent.properties.customImageId == STRING
    input.Body.properties.formulaContent.properties.size == STRING
    input.Body.properties.formulaContent.properties.userName == STRING
    input.Body.properties.formulaContent.properties.password == STRING
    input.Body.properties.formulaContent.properties.sshKey == STRING
    input.Body.properties.formulaContent.properties.isAuthenticationWithSshKey == BOOLEAN
    input.Body.properties.formulaContent.properties.labSubnetName == STRING
    input.Body.properties.formulaContent.properties.labVirtualNetworkId == STRING
    input.Body.properties.formulaContent.properties.disallowPublicIpAddress == BOOLEAN
    input.Body.properties.formulaContent.properties.artifacts[_].artifactId == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].artifactTitle == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].parameters[_].name == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].parameters[_].value == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].status == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].deploymentStatusMessage == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].vmExtensionStatusMessage == STRING
    input.Body.properties.formulaContent.properties.artifacts[_].installTime == STRING
    input.Body.properties.formulaContent.properties.galleryImageReference.offer == STRING
    input.Body.properties.formulaContent.properties.galleryImageReference.publisher == STRING
    input.Body.properties.formulaContent.properties.galleryImageReference.sku == STRING
    input.Body.properties.formulaContent.properties.galleryImageReference.osType == STRING
    input.Body.properties.formulaContent.properties.galleryImageReference.version == STRING
    input.Body.properties.formulaContent.properties.planId == STRING
    input.Body.properties.formulaContent.properties.networkInterface.virtualNetworkId == STRING
    input.Body.properties.formulaContent.properties.networkInterface.subnetId == STRING
    input.Body.properties.formulaContent.properties.networkInterface.publicIpAddressId == STRING
    input.Body.properties.formulaContent.properties.networkInterface.publicIpAddress == STRING
    input.Body.properties.formulaContent.properties.networkInterface.privateIpAddress == STRING
    input.Body.properties.formulaContent.properties.networkInterface.dnsName == STRING
    input.Body.properties.formulaContent.properties.networkInterface.rdpAuthority == STRING
    input.Body.properties.formulaContent.properties.networkInterface.sshAuthority == STRING
    input.Body.properties.formulaContent.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].transportProtocol == enum_InboundNatRuleTransportProtocol[_]
    input.Body.properties.formulaContent.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].frontendPort == INTEGER
    input.Body.properties.formulaContent.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].backendPort == INTEGER
    input.Body.properties.formulaContent.properties.expirationDate == STRING
    input.Body.properties.formulaContent.properties.allowClaim == BOOLEAN
    input.Body.properties.formulaContent.properties.storageType == STRING
    input.Body.properties.formulaContent.properties.environmentId == STRING
    input.Body.properties.formulaContent.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskSizeGiB == INTEGER
    input.Body.properties.formulaContent.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskName == STRING
    input.Body.properties.formulaContent.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskType == enum_AttachNewDataDiskOptionsDiskType[_]
    input.Body.properties.formulaContent.properties.dataDiskParameters[_].existingLabDiskId == STRING
    input.Body.properties.formulaContent.properties.dataDiskParameters[_].hostCaching == enum_DataDiskPropertiesHostCaching[_]
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.status == enum_ScheduleCreationParameterPropertiesStatus[_]
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.taskType == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.weeklyRecurrence.time == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.dailyRecurrence.time == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.timeZoneId == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].properties.targetResourceId == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].name == STRING
    input.Body.properties.formulaContent.properties.scheduleParameters[_].tags.STRING == STRING
    input.Body.properties.formulaContent.name == STRING
    input.Body.properties.formulaContent.location == STRING
    input.Body.properties.formulaContent.tags.STRING == STRING
    input.Body.properties.vm.labVmId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Formulas_Delete

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

Formulas_Get

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

Formulas_List

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

Formulas_Update

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

GalleryImages_List

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

GlobalSchedules_CreateOrUpdate

enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_SchedulePropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.status == enum_SchedulePropertiesStatus[_]
    input.Body.properties.taskType == STRING
    input.Body.properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.weeklyRecurrence.time == STRING
    input.Body.properties.dailyRecurrence.time == STRING
    input.Body.properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.timeZoneId == STRING
    input.Body.properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.targetResourceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

GlobalSchedules_Delete

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

GlobalSchedules_Execute

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

GlobalSchedules_Get

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

GlobalSchedules_ListByResourceGroup

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

GlobalSchedules_ListBySubscription

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

GlobalSchedules_Retarget

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

GlobalSchedules_Update

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

Labs_ClaimAnyVm

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

Labs_CreateEnvironment

enum_AttachNewDataDiskOptionsDiskType := [ "Standard", "Premium", "StandardSSD" ]
enum_DataDiskPropertiesHostCaching := [ "None", "ReadOnly", "ReadWrite" ]
enum_InboundNatRuleTransportProtocol := [ "Tcp", "Udp" ]
enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_ScheduleCreationParameterPropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.bulkCreationParameters.instanceCount == INTEGER
    input.Body.properties.notes == STRING
    input.Body.properties.ownerObjectId == STRING
    input.Body.properties.ownerUserPrincipalName == STRING
    input.Body.properties.createdDate == STRING
    input.Body.properties.customImageId == STRING
    input.Body.properties.size == STRING
    input.Body.properties.userName == STRING
    input.Body.properties.password == STRING
    input.Body.properties.sshKey == STRING
    input.Body.properties.isAuthenticationWithSshKey == BOOLEAN
    input.Body.properties.labSubnetName == STRING
    input.Body.properties.labVirtualNetworkId == STRING
    input.Body.properties.disallowPublicIpAddress == BOOLEAN
    input.Body.properties.artifacts[_].artifactId == STRING
    input.Body.properties.artifacts[_].artifactTitle == STRING
    input.Body.properties.artifacts[_].parameters[_].name == STRING
    input.Body.properties.artifacts[_].parameters[_].value == STRING
    input.Body.properties.artifacts[_].status == STRING
    input.Body.properties.artifacts[_].deploymentStatusMessage == STRING
    input.Body.properties.artifacts[_].vmExtensionStatusMessage == STRING
    input.Body.properties.artifacts[_].installTime == STRING
    input.Body.properties.galleryImageReference.offer == STRING
    input.Body.properties.galleryImageReference.publisher == STRING
    input.Body.properties.galleryImageReference.sku == STRING
    input.Body.properties.galleryImageReference.osType == STRING
    input.Body.properties.galleryImageReference.version == STRING
    input.Body.properties.planId == STRING
    input.Body.properties.networkInterface.virtualNetworkId == STRING
    input.Body.properties.networkInterface.subnetId == STRING
    input.Body.properties.networkInterface.publicIpAddressId == STRING
    input.Body.properties.networkInterface.publicIpAddress == STRING
    input.Body.properties.networkInterface.privateIpAddress == STRING
    input.Body.properties.networkInterface.dnsName == STRING
    input.Body.properties.networkInterface.rdpAuthority == STRING
    input.Body.properties.networkInterface.sshAuthority == STRING
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].transportProtocol == enum_InboundNatRuleTransportProtocol[_]
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].frontendPort == INTEGER
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].backendPort == INTEGER
    input.Body.properties.expirationDate == STRING
    input.Body.properties.allowClaim == BOOLEAN
    input.Body.properties.storageType == STRING
    input.Body.properties.environmentId == STRING
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskSizeGiB == INTEGER
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskName == STRING
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskType == enum_AttachNewDataDiskOptionsDiskType[_]
    input.Body.properties.dataDiskParameters[_].existingLabDiskId == STRING
    input.Body.properties.dataDiskParameters[_].hostCaching == enum_DataDiskPropertiesHostCaching[_]
    input.Body.properties.scheduleParameters[_].properties.status == enum_ScheduleCreationParameterPropertiesStatus[_]
    input.Body.properties.scheduleParameters[_].properties.taskType == STRING
    input.Body.properties.scheduleParameters[_].properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.scheduleParameters[_].properties.weeklyRecurrence.time == STRING
    input.Body.properties.scheduleParameters[_].properties.dailyRecurrence.time == STRING
    input.Body.properties.scheduleParameters[_].properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.scheduleParameters[_].properties.timeZoneId == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.scheduleParameters[_].properties.targetResourceId == STRING
    input.Body.properties.scheduleParameters[_].name == STRING
    input.Body.properties.scheduleParameters[_].tags.STRING == STRING
    input.Body.name == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Labs_CreateOrUpdate

enum_LabAnnouncementPropertiesEnabled := [ "Enabled", "Disabled" ]
enum_LabPropertiesEnvironmentPermission := [ "Reader", "Contributor" ]
enum_LabPropertiesLabStorageType := [ "Standard", "Premium", "StandardSSD" ]
enum_LabPropertiesPremiumDataDisks := [ "Disabled", "Enabled" ]
enum_LabSupportPropertiesEnabled := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.labStorageType == enum_LabPropertiesLabStorageType[_]
    input.Body.properties.mandatoryArtifactsResourceIdsLinux[_] == STRING
    input.Body.properties.mandatoryArtifactsResourceIdsWindows[_] == STRING
    input.Body.properties.premiumDataDisks == enum_LabPropertiesPremiumDataDisks[_]
    input.Body.properties.environmentPermission == enum_LabPropertiesEnvironmentPermission[_]
    input.Body.properties.announcement.title == STRING
    input.Body.properties.announcement.markdown == STRING
    input.Body.properties.announcement.enabled == enum_LabAnnouncementPropertiesEnabled[_]
    input.Body.properties.announcement.expirationDate == STRING
    input.Body.properties.announcement.expired == BOOLEAN
    input.Body.properties.support.enabled == enum_LabSupportPropertiesEnabled[_]
    input.Body.properties.support.markdown == STRING
    input.Body.properties.extendedProperties.STRING == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Labs_Delete

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

Labs_ExportResourceUsage

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

Labs_GenerateUploadUri

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

Labs_Get

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

Labs_ImportVirtualMachine

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

Labs_ListByResourceGroup

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

Labs_ListBySubscription

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

Labs_ListVhds

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

Labs_Update

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

NotificationChannels_CreateOrUpdate

enum_EventEventName := [ "AutoShutdown", "Cost" ]

valid {
    input.Body.properties.webHookUrl == STRING
    input.Body.properties.emailRecipient == STRING
    input.Body.properties.notificationLocale == STRING
    input.Body.properties.description == STRING
    input.Body.properties.events[_].eventName == enum_EventEventName[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NotificationChannels_Delete

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

NotificationChannels_Get

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

NotificationChannels_List

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

NotificationChannels_Notify

enum_NotifyParametersEventName := [ "AutoShutdown", "Cost" ]

valid {
    input.Body.eventName == enum_NotifyParametersEventName[_]
    input.Body.jsonPayload == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NotificationChannels_Update

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

Operations_Get

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

Policies_CreateOrUpdate

enum_PolicyPropertiesEvaluatorType := [ "AllowedValuesPolicy", "MaxValuePolicy" ]
enum_PolicyPropertiesFactName := [ "UserOwnedLabVmCount", "UserOwnedLabPremiumVmCount", "LabVmCount", "LabPremiumVmCount", "LabVmSize", "GalleryImage", "UserOwnedLabVmCountInSubnet", "LabTargetCost", "EnvironmentTemplate", "ScheduleEditPermission" ]
enum_PolicyPropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.status == enum_PolicyPropertiesStatus[_]
    input.Body.properties.factName == enum_PolicyPropertiesFactName[_]
    input.Body.properties.factData == STRING
    input.Body.properties.threshold == STRING
    input.Body.properties.evaluatorType == enum_PolicyPropertiesEvaluatorType[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.policySetName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Policies_Delete

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

Policies_Get

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

Policies_List

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

Policies_Update

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

PolicySets_EvaluatePolicies

valid {
    input.Body.policies[_].factName == STRING
    input.Body.policies[_].factData == STRING
    input.Body.policies[_].valueOffset == STRING
    input.Body.policies[_].userObjectId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ProviderOperations_List

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

Schedules_CreateOrUpdate

enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_SchedulePropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.status == enum_SchedulePropertiesStatus[_]
    input.Body.properties.taskType == STRING
    input.Body.properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.weeklyRecurrence.time == STRING
    input.Body.properties.dailyRecurrence.time == STRING
    input.Body.properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.timeZoneId == STRING
    input.Body.properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.targetResourceId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Schedules_Delete

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

Schedules_Execute

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

Schedules_Get

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

Schedules_List

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

Schedules_ListApplicable

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

Schedules_Update

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

Secrets_CreateOrUpdate

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

Secrets_Delete

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

Secrets_Get

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

Secrets_List

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

Secrets_Update

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

ServiceFabricSchedules_CreateOrUpdate

enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_SchedulePropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.status == enum_SchedulePropertiesStatus[_]
    input.Body.properties.taskType == STRING
    input.Body.properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.weeklyRecurrence.time == STRING
    input.Body.properties.dailyRecurrence.time == STRING
    input.Body.properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.timeZoneId == STRING
    input.Body.properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.targetResourceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.userName == STRING
    input.ReqMap.serviceFabricName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceFabricSchedules_Delete

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

ServiceFabricSchedules_Execute

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

ServiceFabricSchedules_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.userName == STRING
    input.ReqMap.serviceFabricName == STRING
    input.ReqMap.name == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceFabricSchedules_List

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

ServiceFabricSchedules_Update

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

ServiceFabrics_CreateOrUpdate

valid {
    input.Body.properties.externalServiceFabricId == STRING
    input.Body.properties.environmentId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.userName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceFabrics_Delete

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

ServiceFabrics_Get

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

ServiceFabrics_List

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

ServiceFabrics_ListApplicableSchedules

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

ServiceFabrics_Start

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

ServiceFabrics_Stop

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

ServiceFabrics_Update

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

ServiceRunners_CreateOrUpdate

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

valid {
    input.Body.identity.type == enum_IdentityPropertiesType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.clientSecretUrl == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ServiceRunners_Delete

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

ServiceRunners_Get

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

ServiceRunners_List

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

Users_CreateOrUpdate

valid {
    input.Body.properties.identity.principalName == STRING
    input.Body.properties.identity.principalId == STRING
    input.Body.properties.identity.tenantId == STRING
    input.Body.properties.identity.objectId == STRING
    input.Body.properties.identity.appId == STRING
    input.Body.properties.secretStore.keyVaultUri == STRING
    input.Body.properties.secretStore.keyVaultId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Users_Delete

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

Users_Get

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

Users_List

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

Users_Update

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

VirtualMachineSchedules_CreateOrUpdate

enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_SchedulePropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.status == enum_SchedulePropertiesStatus[_]
    input.Body.properties.taskType == STRING
    input.Body.properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.weeklyRecurrence.time == STRING
    input.Body.properties.dailyRecurrence.time == STRING
    input.Body.properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.timeZoneId == STRING
    input.Body.properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.targetResourceId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.virtualMachineName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachineSchedules_Delete

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

VirtualMachineSchedules_Execute

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

VirtualMachineSchedules_Get

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

VirtualMachineSchedules_List

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

VirtualMachineSchedules_Update

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

VirtualMachines_AddDataDisk

enum_AttachNewDataDiskOptionsDiskType := [ "Standard", "Premium", "StandardSSD" ]
enum_DataDiskPropertiesHostCaching := [ "None", "ReadOnly", "ReadWrite" ]

valid {
    input.Body.attachNewDataDiskOptions.diskSizeGiB == INTEGER
    input.Body.attachNewDataDiskOptions.diskName == STRING
    input.Body.attachNewDataDiskOptions.diskType == enum_AttachNewDataDiskOptionsDiskType[_]
    input.Body.existingLabDiskId == STRING
    input.Body.hostCaching == enum_DataDiskPropertiesHostCaching[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachines_ApplyArtifacts

valid {
    input.Body.artifacts[_].artifactId == STRING
    input.Body.artifacts[_].artifactTitle == STRING
    input.Body.artifacts[_].parameters[_].name == STRING
    input.Body.artifacts[_].parameters[_].value == STRING
    input.Body.artifacts[_].status == STRING
    input.Body.artifacts[_].deploymentStatusMessage == STRING
    input.Body.artifacts[_].vmExtensionStatusMessage == STRING
    input.Body.artifacts[_].installTime == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachines_Claim

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

VirtualMachines_CreateOrUpdate

enum_AttachNewDataDiskOptionsDiskType := [ "Standard", "Premium", "StandardSSD" ]
enum_DataDiskPropertiesHostCaching := [ "None", "ReadOnly", "ReadWrite" ]
enum_InboundNatRuleTransportProtocol := [ "Tcp", "Udp" ]
enum_NotificationSettingsStatus := [ "Enabled", "Disabled" ]
enum_ScheduleCreationParameterPropertiesStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.notes == STRING
    input.Body.properties.ownerObjectId == STRING
    input.Body.properties.ownerUserPrincipalName == STRING
    input.Body.properties.createdDate == STRING
    input.Body.properties.customImageId == STRING
    input.Body.properties.size == STRING
    input.Body.properties.userName == STRING
    input.Body.properties.password == STRING
    input.Body.properties.sshKey == STRING
    input.Body.properties.isAuthenticationWithSshKey == BOOLEAN
    input.Body.properties.labSubnetName == STRING
    input.Body.properties.labVirtualNetworkId == STRING
    input.Body.properties.disallowPublicIpAddress == BOOLEAN
    input.Body.properties.artifacts[_].artifactId == STRING
    input.Body.properties.artifacts[_].artifactTitle == STRING
    input.Body.properties.artifacts[_].parameters[_].name == STRING
    input.Body.properties.artifacts[_].parameters[_].value == STRING
    input.Body.properties.artifacts[_].status == STRING
    input.Body.properties.artifacts[_].deploymentStatusMessage == STRING
    input.Body.properties.artifacts[_].vmExtensionStatusMessage == STRING
    input.Body.properties.artifacts[_].installTime == STRING
    input.Body.properties.galleryImageReference.offer == STRING
    input.Body.properties.galleryImageReference.publisher == STRING
    input.Body.properties.galleryImageReference.sku == STRING
    input.Body.properties.galleryImageReference.osType == STRING
    input.Body.properties.galleryImageReference.version == STRING
    input.Body.properties.planId == STRING
    input.Body.properties.networkInterface.virtualNetworkId == STRING
    input.Body.properties.networkInterface.subnetId == STRING
    input.Body.properties.networkInterface.publicIpAddressId == STRING
    input.Body.properties.networkInterface.publicIpAddress == STRING
    input.Body.properties.networkInterface.privateIpAddress == STRING
    input.Body.properties.networkInterface.dnsName == STRING
    input.Body.properties.networkInterface.rdpAuthority == STRING
    input.Body.properties.networkInterface.sshAuthority == STRING
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].transportProtocol == enum_InboundNatRuleTransportProtocol[_]
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].frontendPort == INTEGER
    input.Body.properties.networkInterface.sharedPublicIpAddressConfiguration.inboundNatRules[_].backendPort == INTEGER
    input.Body.properties.expirationDate == STRING
    input.Body.properties.allowClaim == BOOLEAN
    input.Body.properties.storageType == STRING
    input.Body.properties.environmentId == STRING
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskSizeGiB == INTEGER
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskName == STRING
    input.Body.properties.dataDiskParameters[_].attachNewDataDiskOptions.diskType == enum_AttachNewDataDiskOptionsDiskType[_]
    input.Body.properties.dataDiskParameters[_].existingLabDiskId == STRING
    input.Body.properties.dataDiskParameters[_].hostCaching == enum_DataDiskPropertiesHostCaching[_]
    input.Body.properties.scheduleParameters[_].properties.status == enum_ScheduleCreationParameterPropertiesStatus[_]
    input.Body.properties.scheduleParameters[_].properties.taskType == STRING
    input.Body.properties.scheduleParameters[_].properties.weeklyRecurrence.weekdays[_] == STRING
    input.Body.properties.scheduleParameters[_].properties.weeklyRecurrence.time == STRING
    input.Body.properties.scheduleParameters[_].properties.dailyRecurrence.time == STRING
    input.Body.properties.scheduleParameters[_].properties.hourlyRecurrence.minute == INTEGER
    input.Body.properties.scheduleParameters[_].properties.timeZoneId == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.status == enum_NotificationSettingsStatus[_]
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.timeInMinutes == INTEGER
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.webhookUrl == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.emailRecipient == STRING
    input.Body.properties.scheduleParameters[_].properties.notificationSettings.notificationLocale == STRING
    input.Body.properties.scheduleParameters[_].properties.targetResourceId == STRING
    input.Body.properties.scheduleParameters[_].name == STRING
    input.Body.properties.scheduleParameters[_].tags.STRING == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachines_Delete

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

VirtualMachines_DetachDataDisk

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

VirtualMachines_Get

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

VirtualMachines_GetRdpFileContents

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

VirtualMachines_List

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

VirtualMachines_ListApplicableSchedules

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

VirtualMachines_Redeploy

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

VirtualMachines_Resize

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

VirtualMachines_Restart

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

VirtualMachines_Start

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

VirtualMachines_Stop

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

VirtualMachines_TransferDisks

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

VirtualMachines_UnClaim

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

VirtualMachines_Update

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

VirtualNetworks_CreateOrUpdate

enum_PortTransportProtocol := [ "Tcp", "Udp" ]
enum_SubnetAllowPublicIp := [ "Default", "Deny", "Allow" ]
enum_SubnetOverrideUseInVmCreationPermission := [ "Default", "Deny", "Allow" ]
enum_SubnetOverrideUsePublicIpAddressPermission := [ "Default", "Deny", "Allow" ]

valid {
    input.Body.properties.allowedSubnets[_].resourceId == STRING
    input.Body.properties.allowedSubnets[_].labSubnetName == STRING
    input.Body.properties.allowedSubnets[_].allowPublicIp == enum_SubnetAllowPublicIp[_]
    input.Body.properties.description == STRING
    input.Body.properties.externalProviderResourceId == STRING
    input.Body.properties.subnetOverrides[_].resourceId == STRING
    input.Body.properties.subnetOverrides[_].labSubnetName == STRING
    input.Body.properties.subnetOverrides[_].useInVmCreationPermission == enum_SubnetOverrideUseInVmCreationPermission[_]
    input.Body.properties.subnetOverrides[_].usePublicIpAddressPermission == enum_SubnetOverrideUsePublicIpAddressPermission[_]
    input.Body.properties.subnetOverrides[_].sharedPublicIpAddressConfiguration.allowedPorts[_].transportProtocol == enum_PortTransportProtocol[_]
    input.Body.properties.subnetOverrides[_].sharedPublicIpAddressConfiguration.allowedPorts[_].backendPort == INTEGER
    input.Body.properties.subnetOverrides[_].virtualNetworkPoolName == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.labName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_Delete

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

VirtualNetworks_Get

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

VirtualNetworks_List

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

VirtualNetworks_Update

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