MICROSOFT.DESKTOPVIRTUALIZATION

ActiveSessionHostConfigurations_Get

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

ActiveSessionHostConfigurations_ListByHostPool

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

AppAttachPackageInfo_Import

enum_ImportPackageInfoRequestPackageArchitecture := [ "ARM", "ARM64", "x86", "x64", "Neutral", "x86a64", "ALL" ]

valid {
    input.Body.path == STRING
    input.Body.packageArchitecture == enum_ImportPackageInfoRequestPackageArchitecture[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppAttachPackage_CreateOrUpdate

enum_AppAttachPackageInfoPropertiesIsPackageTimestamped := [ "Timestamped", "NotTimestamped" ]
enum_FailHealthCheckOnStagingFailureEnum := [ "Unhealthy", "NeedsAssistance", "DoNotFail" ]

valid {
    input.Body.properties.image.packageAlias == STRING
    input.Body.properties.image.imagePath == STRING
    input.Body.properties.image.packageName == STRING
    input.Body.properties.image.packageFamilyName == STRING
    input.Body.properties.image.packageFullName == STRING
    input.Body.properties.image.displayName == STRING
    input.Body.properties.image.packageRelativePath == STRING
    input.Body.properties.image.isRegularRegistration == BOOLEAN
    input.Body.properties.image.isActive == BOOLEAN
    input.Body.properties.image.packageDependencies[_].dependencyName == STRING
    input.Body.properties.image.packageDependencies[_].publisher == STRING
    input.Body.properties.image.packageDependencies[_].minVersion == STRING
    input.Body.properties.image.version == STRING
    input.Body.properties.image.lastUpdated == STRING
    input.Body.properties.image.packageApplications[_].appId == STRING
    input.Body.properties.image.packageApplications[_].description == STRING
    input.Body.properties.image.packageApplications[_].appUserModelID == STRING
    input.Body.properties.image.packageApplications[_].friendlyName == STRING
    input.Body.properties.image.packageApplications[_].iconImageName == STRING
    input.Body.properties.image.packageApplications[_].rawIcon == STRING
    input.Body.properties.image.packageApplications[_].rawPng == STRING
    input.Body.properties.image.certificateName == STRING
    input.Body.properties.image.certificateExpiry == STRING
    input.Body.properties.image.isPackageTimestamped == enum_AppAttachPackageInfoPropertiesIsPackageTimestamped[_]
    input.Body.properties.hostPoolReferences[_] == STRING
    input.Body.properties.keyVaultURL == STRING
    input.Body.properties.failHealthCheckOnStagingFailure == enum_FailHealthCheckOnStagingFailureEnum[_]
    input.Body.properties.packageOwnerName == STRING
    input.Body.properties.packageLookbackUrl == STRING
    input.Body.properties.customData == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.appAttachPackageName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AppAttachPackage_Delete

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

AppAttachPackage_Get

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

AppAttachPackage_ListByResourceGroup

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

AppAttachPackage_ListBySubscription

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

AppAttachPackage_Update

enum_AppAttachPackageInfoPropertiesIsPackageTimestamped := [ "Timestamped", "NotTimestamped" ]
enum_FailHealthCheckOnStagingFailureEnum := [ "Unhealthy", "NeedsAssistance", "DoNotFail" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.image.packageAlias == STRING
    input.Body.properties.image.imagePath == STRING
    input.Body.properties.image.packageName == STRING
    input.Body.properties.image.packageFamilyName == STRING
    input.Body.properties.image.packageFullName == STRING
    input.Body.properties.image.displayName == STRING
    input.Body.properties.image.packageRelativePath == STRING
    input.Body.properties.image.isRegularRegistration == BOOLEAN
    input.Body.properties.image.isActive == BOOLEAN
    input.Body.properties.image.packageDependencies[_].dependencyName == STRING
    input.Body.properties.image.packageDependencies[_].publisher == STRING
    input.Body.properties.image.packageDependencies[_].minVersion == STRING
    input.Body.properties.image.version == STRING
    input.Body.properties.image.lastUpdated == STRING
    input.Body.properties.image.packageApplications[_].appId == STRING
    input.Body.properties.image.packageApplications[_].description == STRING
    input.Body.properties.image.packageApplications[_].appUserModelID == STRING
    input.Body.properties.image.packageApplications[_].friendlyName == STRING
    input.Body.properties.image.packageApplications[_].iconImageName == STRING
    input.Body.properties.image.packageApplications[_].rawIcon == STRING
    input.Body.properties.image.packageApplications[_].rawPng == STRING
    input.Body.properties.image.certificateName == STRING
    input.Body.properties.image.certificateExpiry == STRING
    input.Body.properties.image.isPackageTimestamped == enum_AppAttachPackageInfoPropertiesIsPackageTimestamped[_]
    input.Body.properties.hostPoolReferences[_] == STRING
    input.Body.properties.keyVaultURL == STRING
    input.Body.properties.failHealthCheckOnStagingFailure == enum_FailHealthCheckOnStagingFailureEnum[_]
    input.Body.properties.packageLookbackUrl == STRING
    input.Body.properties.customData == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.appAttachPackageName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGroups_CreateOrUpdate

enum_ApplicationGroupPropertiesApplicationGroupType := [ "RemoteApp", "Desktop" ]
enum_IdentityType := [ "SystemAssigned" ]
enum_SkuTier := [ "Free", "Basic", "Standard", "Premium" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.hostPoolArmPath == STRING
    input.Body.properties.applicationGroupType == enum_ApplicationGroupPropertiesApplicationGroupType[_]
    input.Body.properties.showInFeed == BOOLEAN
    input.Body.location == STRING
    input.Body.managedBy == STRING
    input.Body.kind == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.sku.name == STRING
    input.Body.sku.tier == enum_SkuTier[_]
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.plan.name == STRING
    input.Body.plan.publisher == STRING
    input.Body.plan.product == STRING
    input.Body.plan.promotionCode == STRING
    input.Body.plan.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGroups_Delete

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

ApplicationGroups_Get

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

ApplicationGroups_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApplicationGroups_ListBySubscription

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

ApplicationGroups_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.showInFeed == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Applications_CreateOrUpdate

enum_ApplicationPropertiesApplicationType := [ "InBuilt", "MsixApplication" ]
enum_ApplicationPropertiesCommandLineSetting := [ "DoNotAllow", "Allow", "Require" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.filePath == STRING
    input.Body.properties.msixPackageFamilyName == STRING
    input.Body.properties.msixPackageApplicationId == STRING
    input.Body.properties.applicationType == enum_ApplicationPropertiesApplicationType[_]
    input.Body.properties.commandLineSetting == enum_ApplicationPropertiesCommandLineSetting[_]
    input.Body.properties.commandLineArguments == STRING
    input.Body.properties.showInPortal == BOOLEAN
    input.Body.properties.iconPath == STRING
    input.Body.properties.iconIndex == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.ReqMap.applicationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Applications_Delete

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

Applications_Get

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

Applications_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Applications_Update

enum_ApplicationPatchPropertiesApplicationType := [ "InBuilt", "MsixApplication" ]
enum_ApplicationPatchPropertiesCommandLineSetting := [ "DoNotAllow", "Allow", "Require" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.filePath == STRING
    input.Body.properties.commandLineSetting == enum_ApplicationPatchPropertiesCommandLineSetting[_]
    input.Body.properties.commandLineArguments == STRING
    input.Body.properties.showInPortal == BOOLEAN
    input.Body.properties.iconPath == STRING
    input.Body.properties.iconIndex == INTEGER
    input.Body.properties.msixPackageFamilyName == STRING
    input.Body.properties.msixPackageApplicationId == STRING
    input.Body.properties.applicationType == enum_ApplicationPatchPropertiesApplicationType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.ReqMap.applicationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ControlSessionHostUpdate_Post

enum_HostPoolControlParameterAction := [ "Start", "Pause", "Cancel", "Retry", "Resume" ]

valid {
    input.Body.action == enum_HostPoolControlParameterAction[_]
    input.Body.cancelMessage == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Desktops_Get

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

Desktops_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Desktops_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.ReqMap.desktopName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HostPools_CreateOrUpdate

enum_AgentUpdatePropertiesType := [ "Default", "Scheduled" ]
enum_HostPoolPropertiesDirectUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPropertiesHostPoolType := [ "Personal", "Pooled", "BYODesktop" ]
enum_HostPoolPropertiesLoadBalancerType := [ "BreadthFirst", "DepthFirst", "Persistent", "MultiplePersistent" ]
enum_HostPoolPropertiesManagedPrivateUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPropertiesManagementType := [ "Automated", "Standard" ]
enum_HostPoolPropertiesPersonalDesktopAssignmentType := [ "Automatic", "Direct" ]
enum_HostPoolPropertiesPreferredAppGroupType := [ "None", "Desktop", "RailApplications" ]
enum_HostPoolPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "EnabledForSessionHostsOnly", "EnabledForClientsOnly" ]
enum_HostPoolPropertiesPublicUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPropertiesRelayUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPropertiesSsoSecretType := [ "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault" ]
enum_IdentityType := [ "SystemAssigned" ]
enum_MaintenanceWindowPropertiesDayOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_RegistrationInfoRegistrationTokenOperation := [ "Delete", "None", "Update" ]
enum_SkuTier := [ "Free", "Basic", "Standard", "Premium" ]

valid {
    input.Body.properties.friendlyName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.hostPoolType == enum_HostPoolPropertiesHostPoolType[_]
    input.Body.properties.personalDesktopAssignmentType == enum_HostPoolPropertiesPersonalDesktopAssignmentType[_]
    input.Body.properties.customRdpProperty == STRING
    input.Body.properties.maxSessionLimit == INTEGER
    input.Body.properties.loadBalancerType == enum_HostPoolPropertiesLoadBalancerType[_]
    input.Body.properties.ring == INTEGER
    input.Body.properties.validationEnvironment == BOOLEAN
    input.Body.properties.registrationInfo.expirationTime == STRING
    input.Body.properties.registrationInfo.token == STRING
    input.Body.properties.registrationInfo.registrationTokenOperation == enum_RegistrationInfoRegistrationTokenOperation[_]
    input.Body.properties.vmTemplate == STRING
    input.Body.properties.managementType == enum_HostPoolPropertiesManagementType[_]
    input.Body.properties.ssoadfsAuthority == STRING
    input.Body.properties.ssoClientId == STRING
    input.Body.properties.ssoClientSecretKeyVaultPath == STRING
    input.Body.properties.ssoSecretType == enum_HostPoolPropertiesSsoSecretType[_]
    input.Body.properties.preferredAppGroupType == enum_HostPoolPropertiesPreferredAppGroupType[_]
    input.Body.properties.startVMOnConnect == BOOLEAN
    input.Body.properties.publicNetworkAccess == enum_HostPoolPropertiesPublicNetworkAccess[_]
    input.Body.properties.agentUpdate.type == enum_AgentUpdatePropertiesType[_]
    input.Body.properties.agentUpdate.useSessionHostLocalTime == BOOLEAN
    input.Body.properties.agentUpdate.maintenanceWindowTimeZone == STRING
    input.Body.properties.agentUpdate.maintenanceWindows[_].hour == INTEGER
    input.Body.properties.agentUpdate.maintenanceWindows[_].dayOfWeek == enum_MaintenanceWindowPropertiesDayOfWeek[_]
    input.Body.properties.managedPrivateUDP == enum_HostPoolPropertiesManagedPrivateUDP[_]
    input.Body.properties.directUDP == enum_HostPoolPropertiesDirectUDP[_]
    input.Body.properties.publicUDP == enum_HostPoolPropertiesPublicUDP[_]
    input.Body.properties.relayUDP == enum_HostPoolPropertiesRelayUDP[_]
    input.Body.location == STRING
    input.Body.managedBy == STRING
    input.Body.kind == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.sku.name == STRING
    input.Body.sku.tier == enum_SkuTier[_]
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.plan.name == STRING
    input.Body.plan.publisher == STRING
    input.Body.plan.product == STRING
    input.Body.plan.promotionCode == STRING
    input.Body.plan.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HostPools_Delete

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

HostPools_Get

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

HostPools_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

HostPools_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HostPools_RetrieveRegistrationToken

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

HostPools_Update

enum_AgentUpdatePatchPropertiesType := [ "Default", "Scheduled" ]
enum_HostPoolPatchPropertiesDirectUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPatchPropertiesLoadBalancerType := [ "BreadthFirst", "DepthFirst", "Persistent", "MultiplePersistent" ]
enum_HostPoolPatchPropertiesManagedPrivateUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPatchPropertiesPersonalDesktopAssignmentType := [ "Automatic", "Direct" ]
enum_HostPoolPatchPropertiesPreferredAppGroupType := [ "None", "Desktop", "RailApplications" ]
enum_HostPoolPatchPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "EnabledForSessionHostsOnly", "EnabledForClientsOnly" ]
enum_HostPoolPatchPropertiesPublicUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPatchPropertiesRelayUDP := [ "Default", "Enabled", "Disabled" ]
enum_HostPoolPatchPropertiesSsoSecretType := [ "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault" ]
enum_MaintenanceWindowPatchPropertiesDayOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_RegistrationInfoPatchRegistrationTokenOperation := [ "Delete", "None", "Update" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.customRdpProperty == STRING
    input.Body.properties.maxSessionLimit == INTEGER
    input.Body.properties.personalDesktopAssignmentType == enum_HostPoolPatchPropertiesPersonalDesktopAssignmentType[_]
    input.Body.properties.loadBalancerType == enum_HostPoolPatchPropertiesLoadBalancerType[_]
    input.Body.properties.ring == INTEGER
    input.Body.properties.validationEnvironment == BOOLEAN
    input.Body.properties.registrationInfo.expirationTime == STRING
    input.Body.properties.registrationInfo.registrationTokenOperation == enum_RegistrationInfoPatchRegistrationTokenOperation[_]
    input.Body.properties.vmTemplate == STRING
    input.Body.properties.ssoadfsAuthority == STRING
    input.Body.properties.ssoClientId == STRING
    input.Body.properties.ssoClientSecretKeyVaultPath == STRING
    input.Body.properties.ssoSecretType == enum_HostPoolPatchPropertiesSsoSecretType[_]
    input.Body.properties.preferredAppGroupType == enum_HostPoolPatchPropertiesPreferredAppGroupType[_]
    input.Body.properties.startVMOnConnect == BOOLEAN
    input.Body.properties.publicNetworkAccess == enum_HostPoolPatchPropertiesPublicNetworkAccess[_]
    input.Body.properties.agentUpdate.type == enum_AgentUpdatePatchPropertiesType[_]
    input.Body.properties.agentUpdate.useSessionHostLocalTime == BOOLEAN
    input.Body.properties.agentUpdate.maintenanceWindowTimeZone == STRING
    input.Body.properties.agentUpdate.maintenanceWindows[_].hour == INTEGER
    input.Body.properties.agentUpdate.maintenanceWindows[_].dayOfWeek == enum_MaintenanceWindowPatchPropertiesDayOfWeek[_]
    input.Body.properties.managedPrivateUDP == enum_HostPoolPatchPropertiesManagedPrivateUDP[_]
    input.Body.properties.directUDP == enum_HostPoolPatchPropertiesDirectUDP[_]
    input.Body.properties.publicUDP == enum_HostPoolPatchPropertiesPublicUDP[_]
    input.Body.properties.relayUDP == enum_HostPoolPatchPropertiesRelayUDP[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InitiateSessionHostUpdate_Post

valid {
    input.Body.scheduledDateTime == STRING
    input.Body.scheduledDateTimeZone == STRING
    input.Body.update.deleteOriginalVm == BOOLEAN
    input.Body.update.maxVmsRemoved == INTEGER
    input.Body.update.logOffDelayMinutes == INTEGER
    input.Body.update.logOffMessage == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MSIXPackages_CreateOrUpdate

valid {
    input.Body.properties.imagePath == STRING
    input.Body.properties.packageName == STRING
    input.Body.properties.packageFamilyName == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.packageRelativePath == STRING
    input.Body.properties.isRegularRegistration == BOOLEAN
    input.Body.properties.isActive == BOOLEAN
    input.Body.properties.packageDependencies[_].dependencyName == STRING
    input.Body.properties.packageDependencies[_].publisher == STRING
    input.Body.properties.packageDependencies[_].minVersion == STRING
    input.Body.properties.version == STRING
    input.Body.properties.lastUpdated == STRING
    input.Body.properties.packageApplications[_].appId == STRING
    input.Body.properties.packageApplications[_].description == STRING
    input.Body.properties.packageApplications[_].appUserModelID == STRING
    input.Body.properties.packageApplications[_].friendlyName == STRING
    input.Body.properties.packageApplications[_].iconImageName == STRING
    input.Body.properties.packageApplications[_].rawIcon == STRING
    input.Body.properties.packageApplications[_].rawPng == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.msixPackageFullName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MSIXPackages_Delete

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

MSIXPackages_Get

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

MSIXPackages_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MSIXPackages_Update

valid {
    input.Body.properties.isActive == BOOLEAN
    input.Body.properties.isRegularRegistration == BOOLEAN
    input.Body.properties.displayName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.msixPackageFullName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MsixImages_Expand

valid {
    input.Body.uri == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == 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
}

PrivateEndpointConnections_DeleteByHostPool

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

PrivateEndpointConnections_DeleteByWorkspace

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

PrivateEndpointConnections_GetByHostPool

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

PrivateEndpointConnections_GetByWorkspace

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

PrivateEndpointConnections_ListByHostPool

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_ListByWorkspace

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

PrivateEndpointConnections_UpdateByHostPool

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.hostPoolName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_UpdateByWorkspace

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.workspaceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkResources_ListByHostPool

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkResources_ListByWorkspace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPersonalSchedules_Create

enum_ScalingPlanPersonalSchedulePropertiesDaysOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnDisconnect := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnLogoff := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnLogoff := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnLogoff := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnLogoff := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpAutoStartHosts := [ "None", "WithAssignedUser", "All" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpStartVMOnConnect := [ "Enable", "Disable" ]

valid {
    input.Body.properties.daysOfWeek[_] == enum_ScalingPlanPersonalSchedulePropertiesDaysOfWeek[_]
    input.Body.properties.rampUpStartTime.hour == INTEGER
    input.Body.properties.rampUpStartTime.minute == INTEGER
    input.Body.properties.rampUpAutoStartHosts == enum_ScalingPlanPersonalSchedulePropertiesRampUpAutoStartHosts[_]
    input.Body.properties.rampUpStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesRampUpStartVMOnConnect[_]
    input.Body.properties.rampUpActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnDisconnect[_]
    input.Body.properties.rampUpMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.rampUpActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnLogoff[_]
    input.Body.properties.rampUpMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.peakStartTime.hour == INTEGER
    input.Body.properties.peakStartTime.minute == INTEGER
    input.Body.properties.peakStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesPeakStartVMOnConnect[_]
    input.Body.properties.peakActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnDisconnect[_]
    input.Body.properties.peakMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.peakActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnLogoff[_]
    input.Body.properties.peakMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.rampDownStartTime.hour == INTEGER
    input.Body.properties.rampDownStartTime.minute == INTEGER
    input.Body.properties.rampDownStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesRampDownStartVMOnConnect[_]
    input.Body.properties.rampDownActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnDisconnect[_]
    input.Body.properties.rampDownMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.rampDownActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnLogoff[_]
    input.Body.properties.rampDownMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.offPeakStartTime.hour == INTEGER
    input.Body.properties.offPeakStartTime.minute == INTEGER
    input.Body.properties.offPeakStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesOffPeakStartVMOnConnect[_]
    input.Body.properties.offPeakActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnDisconnect[_]
    input.Body.properties.offPeakMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.offPeakActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnLogoff[_]
    input.Body.properties.offPeakMinutesToWaitOnLogoff == INTEGER
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.ReqMap.scalingPlanScheduleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPersonalSchedules_Delete

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

ScalingPlanPersonalSchedules_Get

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

ScalingPlanPersonalSchedules_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPersonalSchedules_Update

enum_ScalingPlanPersonalSchedulePropertiesDaysOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnDisconnect := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnLogoff := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesOffPeakStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnLogoff := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesPeakStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnLogoff := [ "None", "Deallocate", "Hibernate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampDownStartVMOnConnect := [ "Enable", "Disable" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnDisconnect := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnLogoff := [ "None", "Deallocate" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpAutoStartHosts := [ "None", "WithAssignedUser", "All" ]
enum_ScalingPlanPersonalSchedulePropertiesRampUpStartVMOnConnect := [ "Enable", "Disable" ]

valid {
    input.Body.properties.daysOfWeek[_] == enum_ScalingPlanPersonalSchedulePropertiesDaysOfWeek[_]
    input.Body.properties.rampUpStartTime.hour == INTEGER
    input.Body.properties.rampUpStartTime.minute == INTEGER
    input.Body.properties.rampUpAutoStartHosts == enum_ScalingPlanPersonalSchedulePropertiesRampUpAutoStartHosts[_]
    input.Body.properties.rampUpStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesRampUpStartVMOnConnect[_]
    input.Body.properties.rampUpActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnDisconnect[_]
    input.Body.properties.rampUpMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.rampUpActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesRampUpActionOnLogoff[_]
    input.Body.properties.rampUpMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.peakStartTime.hour == INTEGER
    input.Body.properties.peakStartTime.minute == INTEGER
    input.Body.properties.peakStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesPeakStartVMOnConnect[_]
    input.Body.properties.peakActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnDisconnect[_]
    input.Body.properties.peakMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.peakActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesPeakActionOnLogoff[_]
    input.Body.properties.peakMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.rampDownStartTime.hour == INTEGER
    input.Body.properties.rampDownStartTime.minute == INTEGER
    input.Body.properties.rampDownStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesRampDownStartVMOnConnect[_]
    input.Body.properties.rampDownActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnDisconnect[_]
    input.Body.properties.rampDownMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.rampDownActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesRampDownActionOnLogoff[_]
    input.Body.properties.rampDownMinutesToWaitOnLogoff == INTEGER
    input.Body.properties.offPeakStartTime.hour == INTEGER
    input.Body.properties.offPeakStartTime.minute == INTEGER
    input.Body.properties.offPeakStartVMOnConnect == enum_ScalingPlanPersonalSchedulePropertiesOffPeakStartVMOnConnect[_]
    input.Body.properties.offPeakActionOnDisconnect == enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnDisconnect[_]
    input.Body.properties.offPeakMinutesToWaitOnDisconnect == INTEGER
    input.Body.properties.offPeakActionOnLogoff == enum_ScalingPlanPersonalSchedulePropertiesOffPeakActionOnLogoff[_]
    input.Body.properties.offPeakMinutesToWaitOnLogoff == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.ReqMap.scalingPlanScheduleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPooledSchedules_Create

enum_ScalingPlanPooledSchedulePropertiesDaysOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_ScalingPlanPooledSchedulePropertiesOffPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesRampDownLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesRampDownStopHostsWhen := [ "ZeroSessions", "ZeroActiveSessions" ]
enum_ScalingPlanPooledSchedulePropertiesRampUpLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]

valid {
    input.Body.properties.daysOfWeek[_] == enum_ScalingPlanPooledSchedulePropertiesDaysOfWeek[_]
    input.Body.properties.rampUpStartTime.hour == INTEGER
    input.Body.properties.rampUpStartTime.minute == INTEGER
    input.Body.properties.rampUpLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesRampUpLoadBalancingAlgorithm[_]
    input.Body.properties.rampUpMinimumHostsPct == INTEGER
    input.Body.properties.rampUpCapacityThresholdPct == INTEGER
    input.Body.properties.peakStartTime.hour == INTEGER
    input.Body.properties.peakStartTime.minute == INTEGER
    input.Body.properties.peakLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesPeakLoadBalancingAlgorithm[_]
    input.Body.properties.rampDownStartTime.hour == INTEGER
    input.Body.properties.rampDownStartTime.minute == INTEGER
    input.Body.properties.rampDownLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesRampDownLoadBalancingAlgorithm[_]
    input.Body.properties.rampDownMinimumHostsPct == INTEGER
    input.Body.properties.rampDownCapacityThresholdPct == INTEGER
    input.Body.properties.rampDownForceLogoffUsers == BOOLEAN
    input.Body.properties.rampDownStopHostsWhen == enum_ScalingPlanPooledSchedulePropertiesRampDownStopHostsWhen[_]
    input.Body.properties.rampDownWaitTimeMinutes == INTEGER
    input.Body.properties.rampDownNotificationMessage == STRING
    input.Body.properties.offPeakStartTime.hour == INTEGER
    input.Body.properties.offPeakStartTime.minute == INTEGER
    input.Body.properties.offPeakLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesOffPeakLoadBalancingAlgorithm[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.ReqMap.scalingPlanScheduleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPooledSchedules_Delete

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

ScalingPlanPooledSchedules_Get

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

ScalingPlanPooledSchedules_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlanPooledSchedules_Update

enum_ScalingPlanPooledSchedulePropertiesDaysOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]
enum_ScalingPlanPooledSchedulePropertiesOffPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesRampDownLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingPlanPooledSchedulePropertiesRampDownStopHostsWhen := [ "ZeroSessions", "ZeroActiveSessions" ]
enum_ScalingPlanPooledSchedulePropertiesRampUpLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]

valid {
    input.Body.properties.daysOfWeek[_] == enum_ScalingPlanPooledSchedulePropertiesDaysOfWeek[_]
    input.Body.properties.rampUpStartTime.hour == INTEGER
    input.Body.properties.rampUpStartTime.minute == INTEGER
    input.Body.properties.rampUpLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesRampUpLoadBalancingAlgorithm[_]
    input.Body.properties.rampUpMinimumHostsPct == INTEGER
    input.Body.properties.rampUpCapacityThresholdPct == INTEGER
    input.Body.properties.peakStartTime.hour == INTEGER
    input.Body.properties.peakStartTime.minute == INTEGER
    input.Body.properties.peakLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesPeakLoadBalancingAlgorithm[_]
    input.Body.properties.rampDownStartTime.hour == INTEGER
    input.Body.properties.rampDownStartTime.minute == INTEGER
    input.Body.properties.rampDownLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesRampDownLoadBalancingAlgorithm[_]
    input.Body.properties.rampDownMinimumHostsPct == INTEGER
    input.Body.properties.rampDownCapacityThresholdPct == INTEGER
    input.Body.properties.rampDownForceLogoffUsers == BOOLEAN
    input.Body.properties.rampDownStopHostsWhen == enum_ScalingPlanPooledSchedulePropertiesRampDownStopHostsWhen[_]
    input.Body.properties.rampDownWaitTimeMinutes == INTEGER
    input.Body.properties.rampDownNotificationMessage == STRING
    input.Body.properties.offPeakStartTime.hour == INTEGER
    input.Body.properties.offPeakStartTime.minute == INTEGER
    input.Body.properties.offPeakLoadBalancingAlgorithm == enum_ScalingPlanPooledSchedulePropertiesOffPeakLoadBalancingAlgorithm[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.ReqMap.scalingPlanScheduleName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlans_Create

enum_IdentityType := [ "SystemAssigned" ]
enum_ScalingPlanPropertiesHostPoolType := [ "Pooled" ]
enum_ScalingScheduleDaysOfWeek := [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]
enum_ScalingScheduleOffPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingSchedulePeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingScheduleRampDownLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingScheduleRampDownStopHostsWhen := [ "ZeroSessions", "ZeroActiveSessions" ]
enum_ScalingScheduleRampUpLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_SkuTier := [ "Free", "Basic", "Standard", "Premium" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.timeZone == STRING
    input.Body.properties.hostPoolType == enum_ScalingPlanPropertiesHostPoolType[_]
    input.Body.properties.exclusionTag == STRING
    input.Body.properties.schedules[_].name == STRING
    input.Body.properties.schedules[_].daysOfWeek[_] == enum_ScalingScheduleDaysOfWeek[_]
    input.Body.properties.schedules[_].rampUpStartTime.hour == INTEGER
    input.Body.properties.schedules[_].rampUpStartTime.minute == INTEGER
    input.Body.properties.schedules[_].rampUpLoadBalancingAlgorithm == enum_ScalingScheduleRampUpLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampUpMinimumHostsPct == INTEGER
    input.Body.properties.schedules[_].rampUpCapacityThresholdPct == INTEGER
    input.Body.properties.schedules[_].peakStartTime.hour == INTEGER
    input.Body.properties.schedules[_].peakStartTime.minute == INTEGER
    input.Body.properties.schedules[_].peakLoadBalancingAlgorithm == enum_ScalingSchedulePeakLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampDownStartTime.hour == INTEGER
    input.Body.properties.schedules[_].rampDownStartTime.minute == INTEGER
    input.Body.properties.schedules[_].rampDownLoadBalancingAlgorithm == enum_ScalingScheduleRampDownLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampDownMinimumHostsPct == INTEGER
    input.Body.properties.schedules[_].rampDownCapacityThresholdPct == INTEGER
    input.Body.properties.schedules[_].rampDownForceLogoffUsers == BOOLEAN
    input.Body.properties.schedules[_].rampDownStopHostsWhen == enum_ScalingScheduleRampDownStopHostsWhen[_]
    input.Body.properties.schedules[_].rampDownWaitTimeMinutes == INTEGER
    input.Body.properties.schedules[_].rampDownNotificationMessage == STRING
    input.Body.properties.schedules[_].offPeakStartTime.hour == INTEGER
    input.Body.properties.schedules[_].offPeakStartTime.minute == INTEGER
    input.Body.properties.schedules[_].offPeakLoadBalancingAlgorithm == enum_ScalingScheduleOffPeakLoadBalancingAlgorithm[_]
    input.Body.properties.hostPoolReferences[_].hostPoolArmPath == STRING
    input.Body.properties.hostPoolReferences[_].scalingPlanEnabled == BOOLEAN
    input.Body.location == STRING
    input.Body.managedBy == STRING
    input.Body.kind == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.sku.name == STRING
    input.Body.sku.tier == enum_SkuTier[_]
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.plan.name == STRING
    input.Body.plan.publisher == STRING
    input.Body.plan.product == STRING
    input.Body.plan.promotionCode == STRING
    input.Body.plan.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlans_Delete

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

ScalingPlans_Get

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

ScalingPlans_ListByHostPool

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlans_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ScalingPlans_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ScalingPlans_Update

enum_ScalingScheduleDaysOfWeek := [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]
enum_ScalingScheduleOffPeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingSchedulePeakLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingScheduleRampDownLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]
enum_ScalingScheduleRampDownStopHostsWhen := [ "ZeroSessions", "ZeroActiveSessions" ]
enum_ScalingScheduleRampUpLoadBalancingAlgorithm := [ "BreadthFirst", "DepthFirst" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.timeZone == STRING
    input.Body.properties.exclusionTag == STRING
    input.Body.properties.schedules[_].name == STRING
    input.Body.properties.schedules[_].daysOfWeek[_] == enum_ScalingScheduleDaysOfWeek[_]
    input.Body.properties.schedules[_].rampUpStartTime.hour == INTEGER
    input.Body.properties.schedules[_].rampUpStartTime.minute == INTEGER
    input.Body.properties.schedules[_].rampUpLoadBalancingAlgorithm == enum_ScalingScheduleRampUpLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampUpMinimumHostsPct == INTEGER
    input.Body.properties.schedules[_].rampUpCapacityThresholdPct == INTEGER
    input.Body.properties.schedules[_].peakStartTime.hour == INTEGER
    input.Body.properties.schedules[_].peakStartTime.minute == INTEGER
    input.Body.properties.schedules[_].peakLoadBalancingAlgorithm == enum_ScalingSchedulePeakLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampDownStartTime.hour == INTEGER
    input.Body.properties.schedules[_].rampDownStartTime.minute == INTEGER
    input.Body.properties.schedules[_].rampDownLoadBalancingAlgorithm == enum_ScalingScheduleRampDownLoadBalancingAlgorithm[_]
    input.Body.properties.schedules[_].rampDownMinimumHostsPct == INTEGER
    input.Body.properties.schedules[_].rampDownCapacityThresholdPct == INTEGER
    input.Body.properties.schedules[_].rampDownForceLogoffUsers == BOOLEAN
    input.Body.properties.schedules[_].rampDownStopHostsWhen == enum_ScalingScheduleRampDownStopHostsWhen[_]
    input.Body.properties.schedules[_].rampDownWaitTimeMinutes == INTEGER
    input.Body.properties.schedules[_].rampDownNotificationMessage == STRING
    input.Body.properties.schedules[_].offPeakStartTime.hour == INTEGER
    input.Body.properties.schedules[_].offPeakStartTime.minute == INTEGER
    input.Body.properties.schedules[_].offPeakLoadBalancingAlgorithm == enum_ScalingScheduleOffPeakLoadBalancingAlgorithm[_]
    input.Body.properties.hostPoolReferences[_].hostPoolArmPath == STRING
    input.Body.properties.hostPoolReferences[_].scalingPlanEnabled == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.scalingPlanName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHostConfigurationsOperationStatus_Get

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

SessionHostConfigurationsOperationStatus_List

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

SessionHostConfigurations_CreateOrUpdate

enum_DiskInfoPropertiesType := [ "Standard_LRS", "Premium_LRS", "StandardSSD_LRS" ]
enum_DomainInfoPropertiesJoinType := [ "ActiveDirectory", "AzureActiveDirectory" ]
enum_ImageInfoPropertiesType := [ "Marketplace", "Custom" ]
enum_SecurityInfoPropertiesType := [ "Standard", "TrustedLaunch", "ConfidentialVM" ]

valid {
    input.Body.properties.friendlyName == STRING
    input.Body.properties.vmTags.STRING == STRING
    input.Body.properties.vmLocation == STRING
    input.Body.properties.vmResourceGroup == STRING
    input.Body.properties.vmNamePrefix == STRING
    input.Body.properties.availabilityZones[_] == INTEGER
    input.Body.properties.networkInfo.subnetId == STRING
    input.Body.properties.networkInfo.securityGroupId == STRING
    input.Body.properties.vmSizeId == STRING
    input.Body.properties.diskInfo.type == enum_DiskInfoPropertiesType[_]
    input.Body.properties.customConfigurationScriptUrl == STRING
    input.Body.properties.imageInfo.type == enum_ImageInfoPropertiesType[_]
    input.Body.properties.imageInfo.marketplaceInfo.offer == STRING
    input.Body.properties.imageInfo.marketplaceInfo.publisher == STRING
    input.Body.properties.imageInfo.marketplaceInfo.sku == STRING
    input.Body.properties.imageInfo.marketplaceInfo.exactVersion == STRING
    input.Body.properties.imageInfo.customInfo.resourceId == STRING
    input.Body.properties.domainInfo.joinType == enum_DomainInfoPropertiesJoinType[_]
    input.Body.properties.domainInfo.activeDirectoryInfo.domainCredentials.usernameKeyVaultSecretUri == STRING
    input.Body.properties.domainInfo.activeDirectoryInfo.domainCredentials.passwordKeyVaultSecretUri == STRING
    input.Body.properties.domainInfo.activeDirectoryInfo.ouPath == STRING
    input.Body.properties.domainInfo.activeDirectoryInfo.domainName == STRING
    input.Body.properties.domainInfo.azureActiveDirectoryInfo.mdmProviderGuid == STRING
    input.Body.properties.securityInfo.type == enum_SecurityInfoPropertiesType[_]
    input.Body.properties.securityInfo.secureBootEnabled == BOOLEAN
    input.Body.properties.securityInfo.vTpmEnabled == BOOLEAN
    input.Body.properties.vmAdminCredentials.usernameKeyVaultSecretUri == STRING
    input.Body.properties.vmAdminCredentials.passwordKeyVaultSecretUri == STRING
    input.Body.properties.bootDiagnosticsInfo.enabled == BOOLEAN
    input.Body.properties.bootDiagnosticsInfo.storageUri == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHostConfigurations_Get

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

SessionHostConfigurations_ListByHostPool

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

SessionHostConfigurations_Update

enum_DiskInfoPatchPropertiesType := [ "Standard_LRS", "Premium_LRS", "StandardSSD_LRS" ]
enum_ImageInfoPatchPropertiesType := [ "Marketplace", "Custom" ]
enum_SecurityInfoPatchPropertiesType := [ "Standard", "TrustedLaunch", "ConfidentialVM" ]

valid {
    input.Body.properties.friendlyName == STRING
    input.Body.properties.vmTags.STRING == STRING
    input.Body.properties.vmLocation == STRING
    input.Body.properties.vmResourceGroup == STRING
    input.Body.properties.vmNamePrefix == STRING
    input.Body.properties.availabilityZones[_] == INTEGER
    input.Body.properties.networkInfo.subnetId == STRING
    input.Body.properties.networkInfo.securityGroupId == STRING
    input.Body.properties.vmSizeId == STRING
    input.Body.properties.diskInfo.type == enum_DiskInfoPatchPropertiesType[_]
    input.Body.properties.customConfigurationScriptUrl == STRING
    input.Body.properties.imageInfo.type == enum_ImageInfoPatchPropertiesType[_]
    input.Body.properties.imageInfo.marketplaceInfo.offer == STRING
    input.Body.properties.imageInfo.marketplaceInfo.publisher == STRING
    input.Body.properties.imageInfo.marketplaceInfo.sku == STRING
    input.Body.properties.imageInfo.marketplaceInfo.exactVersion == STRING
    input.Body.properties.imageInfo.customInfo.resourceId == STRING
    input.Body.properties.domainInfo.activeDirectoryInfo.domainCredentials.usernameKeyVaultSecretUri == STRING
    input.Body.properties.domainInfo.activeDirectoryInfo.domainCredentials.passwordKeyVaultSecretUri == STRING
    input.Body.properties.securityInfo.type == enum_SecurityInfoPatchPropertiesType[_]
    input.Body.properties.securityInfo.secureBootEnabled == BOOLEAN
    input.Body.properties.securityInfo.vTpmEnabled == BOOLEAN
    input.Body.properties.vmAdminCredentials.usernameKeyVaultSecretUri == STRING
    input.Body.properties.vmAdminCredentials.passwordKeyVaultSecretUri == STRING
    input.Body.properties.bootDiagnosticsInfo.enabled == BOOLEAN
    input.Body.properties.bootDiagnosticsInfo.storageUri == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHostManagementsOperationStatus_Get

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

SessionHostManagementsOperationStatus_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.isLatest == BOOLEAN
    input.Qs.type == STRING
    input.Qs.isNonTerminal == BOOLEAN
    input.Qs.correlationId == STRING
    input.Qs.action == STRING
    input.Qs.isInitiatingOperation == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHostManagements_CreateOrUpdate

valid {
    input.Body.properties.scheduledDateTimeZone == STRING
    input.Body.properties.update.deleteOriginalVm == BOOLEAN
    input.Body.properties.update.maxVmsRemoved == INTEGER
    input.Body.properties.update.logOffDelayMinutes == INTEGER
    input.Body.properties.update.logOffMessage == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHostManagements_Get

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

SessionHostManagements_ListByHostPool

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

SessionHostManagements_Update

valid {
    input.Body.properties.scheduledDateTimeZone == STRING
    input.Body.properties.update.deleteOriginalVm == BOOLEAN
    input.Body.properties.update.maxVmsRemoved == INTEGER
    input.Body.properties.update.logOffDelayMinutes == INTEGER
    input.Body.properties.update.logOffMessage == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHost_RetryProvisioning

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

SessionHosts_Delete

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

SessionHosts_Get

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

SessionHosts_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SessionHosts_Update

valid {
    input.Body.properties.allowNewSession == BOOLEAN
    input.Body.properties.assignedUser == STRING
    input.Body.properties.friendlyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.sessionHostName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

StartMenuItems_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.applicationGroupName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UserSessions_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.sessionHostName == STRING
    input.ReqMap.userSessionId == STRING
    input.Qs.api-version == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UserSessions_Disconnect

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

UserSessions_Get

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

UserSessions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.sessionHostName == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UserSessions_ListByHostPool

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

UserSessions_SendMessage

valid {
    input.Body.messageTitle == STRING
    input.Body.messageBody == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.hostPoolName == STRING
    input.ReqMap.sessionHostName == STRING
    input.ReqMap.userSessionId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_CreateOrUpdate

enum_IdentityType := [ "SystemAssigned" ]
enum_SkuTier := [ "Free", "Basic", "Standard", "Premium" ]
enum_WorkspacePropertiesPublicNetworkAccess := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.applicationGroupReferences[_] == STRING
    input.Body.properties.publicNetworkAccess == enum_WorkspacePropertiesPublicNetworkAccess[_]
    input.Body.location == STRING
    input.Body.managedBy == STRING
    input.Body.kind == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.sku.name == STRING
    input.Body.sku.tier == enum_SkuTier[_]
    input.Body.sku.size == STRING
    input.Body.sku.family == STRING
    input.Body.sku.capacity == INTEGER
    input.Body.plan.name == STRING
    input.Body.plan.publisher == STRING
    input.Body.plan.product == STRING
    input.Body.plan.promotionCode == STRING
    input.Body.plan.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_Delete

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

Workspaces_Get

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

Workspaces_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.isDescending == BOOLEAN
    input.Qs.initialSkip == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_ListBySubscription

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

Workspaces_Update

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

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.description == STRING
    input.Body.properties.friendlyName == STRING
    input.Body.properties.applicationGroupReferences[_] == STRING
    input.Body.properties.publicNetworkAccess == enum_WorkspacePatchPropertiesPublicNetworkAccess[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}