MICROSOFT.WORKLOADS

Operations_List

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

PhpWorkloads_CreateOrUpdate

enum_ManagedServiceIdentityType := [ "None", "UserAssigned" ]
enum_SkuTier := [ "Free", "Basic", "Standard", "Premium" ]
enum_backupProfileBackupEnabled := [ "Enabled", "Disabled" ]
enum_cacheProfileFamily := [ "C", "P" ]
enum_databaseProfileHaEnabled := [ "Enabled", "Disabled" ]
enum_databaseProfileSslEnforcementEnabled := [ "Enabled", "Disabled" ]
enum_databaseProfileTier := [ "Burstable", "GeneralPurpose", "MemoryOptimized" ]
enum_databaseProfileType := [ "MySql" ]
enum_diskInfoStorageType := [ "Premium_LRS", "Standard_LRS", "StandardSSD_LRS" ]
enum_fileshareProfileShareType := [ "NfsOnController", "AzureFiles" ]
enum_fileshareProfileStorageType := [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ]
enum_networkProfileAzureFrontDoorEnabled := [ "Enabled", "Disabled" ]
enum_networkProfileLoadBalancerType := [ "ApplicationGateway", "LoadBalancer" ]
enum_osImageProfileOffer := [ "UbuntuServer" ]
enum_osImageProfilePublisher := [ "Canonical" ]
enum_osImageProfileSku := [ "18.04-LTS", "16.04-LTS" ]
enum_osImageProfileVersion := [ "latest" ]
enum_phpProfileVersion := [ "7.2", "7.3", "7.4" ]
enum_phpWorkloadResourceKind := [ "WordPress" ]
enum_searchProfileSearchType := [ "Elastic" ]

valid {
    input.Body.properties.appLocation == STRING
    input.Body.properties.managedResourceGroupConfiguration.name == STRING
    input.Body.properties.adminUserProfile.userName == STRING
    input.Body.properties.adminUserProfile.sshPublicKey == STRING
    input.Body.properties.webNodesProfile.autoScaleMinCount == INTEGER
    input.Body.properties.webNodesProfile.autoScaleMaxCount == INTEGER
    input.Body.properties.webNodesProfile.name == STRING
    input.Body.properties.webNodesProfile.nodeSku == STRING
    input.Body.properties.webNodesProfile.osImage.publisher == enum_osImageProfilePublisher[_]
    input.Body.properties.webNodesProfile.osImage.offer == enum_osImageProfileOffer[_]
    input.Body.properties.webNodesProfile.osImage.sku == enum_osImageProfileSku[_]
    input.Body.properties.webNodesProfile.osImage.version == enum_osImageProfileVersion[_]
    input.Body.properties.webNodesProfile.osDisk.storageType == enum_diskInfoStorageType[_]
    input.Body.properties.webNodesProfile.osDisk.sizeInGB == INTEGER
    input.Body.properties.webNodesProfile.dataDisks[_].storageType == enum_diskInfoStorageType[_]
    input.Body.properties.webNodesProfile.dataDisks[_].sizeInGB == INTEGER
    input.Body.properties.controllerProfile.name == STRING
    input.Body.properties.controllerProfile.nodeSku == STRING
    input.Body.properties.controllerProfile.osImage.publisher == enum_osImageProfilePublisher[_]
    input.Body.properties.controllerProfile.osImage.offer == enum_osImageProfileOffer[_]
    input.Body.properties.controllerProfile.osImage.sku == enum_osImageProfileSku[_]
    input.Body.properties.controllerProfile.osImage.version == enum_osImageProfileVersion[_]
    input.Body.properties.controllerProfile.osDisk.storageType == enum_diskInfoStorageType[_]
    input.Body.properties.controllerProfile.osDisk.sizeInGB == INTEGER
    input.Body.properties.controllerProfile.dataDisks[_].storageType == enum_diskInfoStorageType[_]
    input.Body.properties.controllerProfile.dataDisks[_].sizeInGB == INTEGER
    input.Body.properties.networkProfile.loadBalancerType == enum_networkProfileLoadBalancerType[_]
    input.Body.properties.networkProfile.loadBalancerSku == STRING
    input.Body.properties.networkProfile.loadBalancerTier == STRING
    input.Body.properties.networkProfile.capacity == INTEGER
    input.Body.properties.networkProfile.azureFrontDoorEnabled == enum_networkProfileAzureFrontDoorEnabled[_]
    input.Body.properties.databaseProfile.type == enum_databaseProfileType[_]
    input.Body.properties.databaseProfile.serverName == STRING
    input.Body.properties.databaseProfile.version == STRING
    input.Body.properties.databaseProfile.sku == STRING
    input.Body.properties.databaseProfile.tier == enum_databaseProfileTier[_]
    input.Body.properties.databaseProfile.haEnabled == enum_databaseProfileHaEnabled[_]
    input.Body.properties.databaseProfile.storageSku == STRING
    input.Body.properties.databaseProfile.storageInGB == INTEGER
    input.Body.properties.databaseProfile.storageIops == INTEGER
    input.Body.properties.databaseProfile.backupRetentionDays == INTEGER
    input.Body.properties.databaseProfile.sslEnforcementEnabled == enum_databaseProfileSslEnforcementEnabled[_]
    input.Body.properties.siteProfile.domainName == STRING
    input.Body.properties.fileshareProfile.shareType == enum_fileshareProfileShareType[_]
    input.Body.properties.fileshareProfile.storageType == enum_fileshareProfileStorageType[_]
    input.Body.properties.fileshareProfile.shareSizeInGB == INTEGER
    input.Body.properties.phpProfile.version == enum_phpProfileVersion[_]
    input.Body.properties.searchProfile.searchType == enum_searchProfileSearchType[_]
    input.Body.properties.searchProfile.name == STRING
    input.Body.properties.searchProfile.nodeSku == STRING
    input.Body.properties.searchProfile.osImage.publisher == enum_osImageProfilePublisher[_]
    input.Body.properties.searchProfile.osImage.offer == enum_osImageProfileOffer[_]
    input.Body.properties.searchProfile.osImage.sku == enum_osImageProfileSku[_]
    input.Body.properties.searchProfile.osImage.version == enum_osImageProfileVersion[_]
    input.Body.properties.searchProfile.osDisk.storageType == enum_diskInfoStorageType[_]
    input.Body.properties.searchProfile.osDisk.sizeInGB == INTEGER
    input.Body.properties.searchProfile.dataDisks[_].storageType == enum_diskInfoStorageType[_]
    input.Body.properties.searchProfile.dataDisks[_].sizeInGB == INTEGER
    input.Body.properties.cacheProfile.name == STRING
    input.Body.properties.cacheProfile.skuName == STRING
    input.Body.properties.cacheProfile.family == enum_cacheProfileFamily[_]
    input.Body.properties.cacheProfile.capacity == INTEGER
    input.Body.properties.backupProfile.backupEnabled == enum_backupProfileBackupEnabled[_]
    input.Body.kind == enum_phpWorkloadResourceKind[_]
    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.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.phpWorkloadName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PhpWorkloads_Delete

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

PhpWorkloads_Get

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

PhpWorkloads_ListByResourceGroup

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

PhpWorkloads_ListBySubscription

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

PhpWorkloads_Update

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

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

ProviderInstances_Create

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

valid {
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.properties.providerSettings.providerType == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.monitorName == STRING
    input.ReqMap.providerInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ProviderInstances_Delete

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

ProviderInstances_Get

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

ProviderInstances_List

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

SAPApplicationServerInstances_Create

valid {
    input.Body.properties == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.applicationInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPApplicationServerInstances_Delete

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

SAPApplicationServerInstances_Get

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

SAPApplicationServerInstances_List

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

SAPApplicationServerInstances_StartInstance

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

SAPApplicationServerInstances_StopInstance

valid {
    input.Body.softStopTimeoutSeconds == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.applicationInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPApplicationServerInstances_Update

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

SAPAvailabilityZoneDetails

enum_SAPDatabaseType := [ "HANA", "DB2" ]
enum_SAPProductType := [ "ECC", "S4HANA", "Other" ]

valid {
    input.Body.appLocation == STRING
    input.Body.sapProduct == enum_SAPProductType[_]
    input.Body.databaseType == enum_SAPDatabaseType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SAPCentralInstances_Create

valid {
    input.Body.properties.messageServerProperties == {}
    input.Body.properties.enqueueServerProperties == {}
    input.Body.properties.gatewayServerProperties == {}
    input.Body.properties.enqueueReplicationServerProperties == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.centralInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPCentralInstances_Delete

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

SAPCentralInstances_Get

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

SAPCentralInstances_List

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

SAPCentralInstances_StartInstance

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

SAPCentralInstances_StopInstance

valid {
    input.Body.softStopTimeoutSeconds == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.centralInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPCentralInstances_Update

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

SAPDatabaseInstances_Create

valid {
    input.Body.properties == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.databaseInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPDatabaseInstances_Delete

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

SAPDatabaseInstances_Get

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

SAPDatabaseInstances_List

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

SAPDatabaseInstances_StartInstance

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

SAPDatabaseInstances_StopInstance

valid {
    input.Body.softStopTimeoutSeconds == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.ReqMap.databaseInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPDatabaseInstances_Update

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

SAPDiskConfigurations

enum_DeploymentType := [ "SingleServer", "ThreeTier" ]
enum_EnvironmentType := [ "NonProd", "Prod" ]
enum_SAPDatabaseType := [ "HANA", "DB2" ]
enum_SAPProductType := [ "ECC", "S4HANA", "Other" ]

valid {
    input.Body.appLocation == STRING
    input.Body.environment == enum_EnvironmentType[_]
    input.Body.sapProduct == enum_SAPProductType[_]
    input.Body.databaseType == enum_SAPDatabaseType[_]
    input.Body.deploymentType == enum_DeploymentType[_]
    input.Body.dbVmSku == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SAPSizingRecommendations

enum_DatabaseScaleMethod := [ "ScaleUp" ]
enum_DeploymentType := [ "SingleServer", "ThreeTier" ]
enum_EnvironmentType := [ "NonProd", "Prod" ]
enum_HighAvailabilityType := [ "AvailabilitySet", "AvailabilityZone" ]
enum_SAPDatabaseType := [ "HANA", "DB2" ]
enum_SAPProductType := [ "ECC", "S4HANA", "Other" ]

valid {
    input.Body.appLocation == STRING
    input.Body.environment == enum_EnvironmentType[_]
    input.Body.sapProduct == enum_SAPProductType[_]
    input.Body.deploymentType == enum_DeploymentType[_]
    input.Body.saps == INTEGER
    input.Body.dbMemory == INTEGER
    input.Body.databaseType == enum_SAPDatabaseType[_]
    input.Body.dbScaleMethod == enum_DatabaseScaleMethod[_]
    input.Body.highAvailabilityType == enum_HighAvailabilityType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SAPSupportedSku

enum_DeploymentType := [ "SingleServer", "ThreeTier" ]
enum_EnvironmentType := [ "NonProd", "Prod" ]
enum_HighAvailabilityType := [ "AvailabilitySet", "AvailabilityZone" ]
enum_SAPDatabaseType := [ "HANA", "DB2" ]
enum_SAPProductType := [ "ECC", "S4HANA", "Other" ]

valid {
    input.Body.appLocation == STRING
    input.Body.environment == enum_EnvironmentType[_]
    input.Body.sapProduct == enum_SAPProductType[_]
    input.Body.deploymentType == enum_DeploymentType[_]
    input.Body.databaseType == enum_SAPDatabaseType[_]
    input.Body.highAvailabilityType == enum_HighAvailabilityType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SAPVirtualInstances_Create

enum_ConfigurationType := [ "Deployment", "Discovery", "DeploymentWithOSConfig" ]
enum_EnvironmentType := [ "NonProd", "Prod" ]
enum_ManagedServiceIdentityType := [ "None", "UserAssigned" ]
enum_SAPProductType := [ "ECC", "S4HANA", "Other" ]

valid {
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.properties.environment == enum_EnvironmentType[_]
    input.Body.properties.sapProduct == enum_SAPProductType[_]
    input.Body.properties.configuration.configurationType == enum_ConfigurationType[_]
    input.Body.properties.managedResourceGroupConfiguration.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.sapVirtualInstanceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SAPVirtualInstances_Delete

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

SAPVirtualInstances_Get

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

SAPVirtualInstances_ListByResourceGroup

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

SAPVirtualInstances_ListBySubscription

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

SAPVirtualInstances_Start

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

SAPVirtualInstances_Stop

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

SAPVirtualInstances_Update

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

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

SapLandscapeMonitor_Create

valid {
    input.Body.properties.grouping.landscape[_].name == STRING
    input.Body.properties.grouping.landscape[_].topSid[_] == STRING
    input.Body.properties.grouping.sapApplication[_].name == STRING
    input.Body.properties.grouping.sapApplication[_].topSid[_] == STRING
    input.Body.properties.topMetricsThresholds[_].name == STRING
    input.Body.properties.topMetricsThresholds[_].green == NUMBER
    input.Body.properties.topMetricsThresholds[_].yellow == NUMBER
    input.Body.properties.topMetricsThresholds[_].red == NUMBER
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.monitorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SapLandscapeMonitor_Delete

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

SapLandscapeMonitor_Get

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

SapLandscapeMonitor_List

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

SapLandscapeMonitor_Update

valid {
    input.Body.properties.grouping.landscape[_].name == STRING
    input.Body.properties.grouping.landscape[_].topSid[_] == STRING
    input.Body.properties.grouping.sapApplication[_].name == STRING
    input.Body.properties.grouping.sapApplication[_].topSid[_] == STRING
    input.Body.properties.topMetricsThresholds[_].name == STRING
    input.Body.properties.topMetricsThresholds[_].green == NUMBER
    input.Body.properties.topMetricsThresholds[_].yellow == NUMBER
    input.Body.properties.topMetricsThresholds[_].red == NUMBER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.monitorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Skus_List

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

WordpressInstances_CreateOrUpdate

enum_wordpressInstanceResourcePropertiesVersion := [ "5.4.3", "5.4.2", "5.4.1", "5.4" ]

valid {
    input.Body.properties.version == enum_wordpressInstanceResourcePropertiesVersion[_]
    input.Body.properties.databaseName == STRING
    input.Body.properties.databaseUser == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.phpWorkloadName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

WordpressInstances_Delete

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

WordpressInstances_Get

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

WordpressInstances_List

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

monitors_Create

enum_ManagedServiceIdentityType := [ "None", "UserAssigned" ]
enum_MonitorPropertiesRoutingPreference := [ "Default", "RouteAll" ]

valid {
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.properties.appLocation == STRING
    input.Body.properties.routingPreference == enum_MonitorPropertiesRoutingPreference[_]
    input.Body.properties.zoneRedundancyPreference == STRING
    input.Body.properties.managedResourceGroupConfiguration.name == STRING
    input.Body.properties.logAnalyticsWorkspaceArmId == STRING
    input.Body.properties.monitorSubnet == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.monitorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

monitors_Delete

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

monitors_Get

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

monitors_List

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

monitors_ListByResourceGroup

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

monitors_Update

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

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