MICROSOFT.SCVMM

AvailabilitySets_CreateOrUpdate

valid {
    input.Body.properties.availabilitySetName == STRING
    input.Body.properties.vmmServerId == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.availabilitySetResourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AvailabilitySets_Delete

enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.availabilitySetResourceName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AvailabilitySets_Get

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

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

AvailabilitySets_ListBySubscription

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

AvailabilitySets_Update

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

Clouds_CreateOrUpdate

valid {
    input.Body.properties.inventoryItemId == STRING
    input.Body.properties.uuid == STRING
    input.Body.properties.vmmServerId == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudResourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Clouds_Delete

enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cloudResourceName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Clouds_Get

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

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

Clouds_ListBySubscription

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

Clouds_Update

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

GuestAgents_Create

enum_ProvisioningAction := [ "install", "uninstall", "repair" ]

valid {
    input.Body.properties.credentials.username == STRING
    input.Body.properties.credentials.password == STRING
    input.Body.properties.httpProxyConfig.httpsProxy == STRING
    input.Body.properties.provisioningAction == enum_ProvisioningAction[_]
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineName == STRING
    input.ReqMap.guestAgentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

GuestAgents_Delete

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

GuestAgents_Get

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

GuestAgents_ListByVm

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

HybridIdentityMetadatas_Create

valid {
    input.Body.properties.resourceUid == STRING
    input.Body.properties.publicKey == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineName == STRING
    input.ReqMap.metadataName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HybridIdentityMetadatas_Delete

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

HybridIdentityMetadatas_Get

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

HybridIdentityMetadatas_ListByVm

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

InventoryItems_Create

enum_InventoryType := [ "Cloud", "VirtualNetwork", "VirtualMachineTemplate", "VirtualMachine" ]

valid {
    input.Body.properties.inventoryType == enum_InventoryType[_]
    input.Body.kind == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vmmServerName == STRING
    input.ReqMap.inventoryItemResourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

InventoryItems_Delete

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

InventoryItems_Get

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

InventoryItems_ListByVMMServer

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

MachineExtensions_CreateOrUpdate

valid {
    input.Body.properties.forceUpdateTag == STRING
    input.Body.properties.publisher == STRING
    input.Body.properties.type == STRING
    input.Body.properties.typeHandlerVersion == STRING
    input.Body.properties.enableAutomaticUpgrade == BOOLEAN
    input.Body.properties.autoUpgradeMinorVersion == BOOLEAN
    input.Body.properties.settings.STRING == STRING
    input.Body.properties.protectedSettings.STRING == STRING
    input.Body.properties.instanceView.status == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineName == STRING
    input.ReqMap.extensionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MachineExtensions_Delete

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

MachineExtensions_Get

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

MachineExtensions_List

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

MachineExtensions_Update

valid {
    input.Body.properties.forceUpdateTag == STRING
    input.Body.properties.publisher == STRING
    input.Body.properties.type == STRING
    input.Body.properties.typeHandlerVersion == STRING
    input.Body.properties.enableAutomaticUpgrade == BOOLEAN
    input.Body.properties.autoUpgradeMinorVersion == BOOLEAN
    input.Body.properties.settings.STRING == STRING
    input.Body.properties.protectedSettings.STRING == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineName == STRING
    input.ReqMap.extensionName == 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
}

VMInstanceGuestAgents_Create

enum_ProvisioningAction := [ "install", "uninstall", "repair" ]

valid {
    input.Body.properties.credentials.username == STRING
    input.Body.properties.credentials.password == STRING
    input.Body.properties.httpProxyConfig.httpsProxy == STRING
    input.Body.properties.provisioningAction == enum_ProvisioningAction[_]
    input.Body.STRING == STRING
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

VMInstanceGuestAgents_Delete

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

VMInstanceGuestAgents_Get

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

VMInstanceGuestAgents_List

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

VirtualMachineInstanceHybridIdentityMetadata_Get

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

VirtualMachineInstanceHybridIdentityMetadata_List

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

VirtualMachineInstances_CreateCheckpoint

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

VirtualMachineInstances_CreateOrUpdate

enum_AllocationMethod := [ "Dynamic", "Static" ]
enum_HardwareProfileDynamicMemoryEnabled := [ "false", "true" ]
enum_HardwareProfileLimitCpuForMigration := [ "false", "true" ]
enum_VirtualDiskCreateDiffDisk := [ "false", "true" ]

valid {
    input.Body.properties.availabilitySets[_].id == STRING
    input.Body.properties.availabilitySets[_].name == STRING
    input.Body.properties.osProfile.adminPassword == STRING
    input.Body.properties.osProfile.computerName == STRING
    input.Body.properties.hardwareProfile.memoryMB == INTEGER
    input.Body.properties.hardwareProfile.cpuCount == INTEGER
    input.Body.properties.hardwareProfile.limitCpuForMigration == enum_HardwareProfileLimitCpuForMigration[_]
    input.Body.properties.hardwareProfile.dynamicMemoryEnabled == enum_HardwareProfileDynamicMemoryEnabled[_]
    input.Body.properties.hardwareProfile.dynamicMemoryMaxMB == INTEGER
    input.Body.properties.hardwareProfile.dynamicMemoryMinMB == INTEGER
    input.Body.properties.networkProfile.networkInterfaces[_].name == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].macAddress == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].virtualNetworkId == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].ipv4AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].ipv6AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].macAddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].nicId == STRING
    input.Body.properties.storageProfile.disks[_].name == STRING
    input.Body.properties.storageProfile.disks[_].diskId == STRING
    input.Body.properties.storageProfile.disks[_].diskSizeGB == INTEGER
    input.Body.properties.storageProfile.disks[_].bus == INTEGER
    input.Body.properties.storageProfile.disks[_].lun == INTEGER
    input.Body.properties.storageProfile.disks[_].busType == STRING
    input.Body.properties.storageProfile.disks[_].vhdType == STRING
    input.Body.properties.storageProfile.disks[_].templateDiskId == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.name == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.id == STRING
    input.Body.properties.storageProfile.disks[_].createDiffDisk == enum_VirtualDiskCreateDiffDisk[_]
    input.Body.properties.infrastructureProfile.inventoryItemId == STRING
    input.Body.properties.infrastructureProfile.vmmServerId == STRING
    input.Body.properties.infrastructureProfile.cloudId == STRING
    input.Body.properties.infrastructureProfile.templateId == STRING
    input.Body.properties.infrastructureProfile.vmName == STRING
    input.Body.properties.infrastructureProfile.uuid == STRING
    input.Body.properties.infrastructureProfile.checkpoints[_] == None
    input.Body.properties.infrastructureProfile.checkpointType == STRING
    input.Body.properties.infrastructureProfile.generation == INTEGER
    input.Body.properties.infrastructureProfile.biosGuid == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.STRING == STRING
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

VirtualMachineInstances_Delete

enum_DeleteFromHostParameter := [ "false", "true" ]
enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.Qs.deleteFromHost == enum_DeleteFromHostParameter[_]
    input.ProviderMetadata.Region == STRING
}

VirtualMachineInstances_DeleteCheckpoint

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

VirtualMachineInstances_Get

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

VirtualMachineInstances_List

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

VirtualMachineInstances_Restart

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

VirtualMachineInstances_RestoreCheckpoint

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

VirtualMachineInstances_Start

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

VirtualMachineInstances_Stop

enum_StopVirtualMachineOptionsSkipShutdown := [ "false", "true" ]

valid {
    input.Body.skipShutdown == enum_StopVirtualMachineOptionsSkipShutdown[_]
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

VirtualMachineInstances_Update

enum_AllocationMethod := [ "Dynamic", "Static" ]
enum_HardwareProfileUpdateDynamicMemoryEnabled := [ "false", "true" ]
enum_HardwareProfileUpdateLimitCpuForMigration := [ "false", "true" ]

valid {
    input.Body.properties.hardwareProfile.memoryMB == INTEGER
    input.Body.properties.hardwareProfile.cpuCount == INTEGER
    input.Body.properties.hardwareProfile.limitCpuForMigration == enum_HardwareProfileUpdateLimitCpuForMigration[_]
    input.Body.properties.hardwareProfile.dynamicMemoryEnabled == enum_HardwareProfileUpdateDynamicMemoryEnabled[_]
    input.Body.properties.hardwareProfile.dynamicMemoryMaxMB == INTEGER
    input.Body.properties.hardwareProfile.dynamicMemoryMinMB == INTEGER
    input.Body.properties.storageProfile.disks[_].name == STRING
    input.Body.properties.storageProfile.disks[_].diskId == STRING
    input.Body.properties.storageProfile.disks[_].diskSizeGB == INTEGER
    input.Body.properties.storageProfile.disks[_].bus == INTEGER
    input.Body.properties.storageProfile.disks[_].lun == INTEGER
    input.Body.properties.storageProfile.disks[_].busType == STRING
    input.Body.properties.storageProfile.disks[_].vhdType == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.name == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.id == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].name == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].macAddress == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].virtualNetworkId == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].ipv4AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].ipv6AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].macAddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].nicId == STRING
    input.Body.properties.availabilitySets[_].id == STRING
    input.Body.properties.availabilitySets[_].name == STRING
    input.Body.properties.infrastructureProfile.checkpointType == STRING
    input.ReqMap.resourceUri == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

VirtualMachineTemplates_CreateOrUpdate

valid {
    input.Body.properties.inventoryItemId == STRING
    input.Body.properties.uuid == STRING
    input.Body.properties.vmmServerId == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineTemplateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachineTemplates_Delete

enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineTemplateName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachineTemplates_Get

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

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

VirtualMachineTemplates_ListBySubscription

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

VirtualMachineTemplates_Update

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

VirtualMachines_CreateCheckpoint

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

VirtualMachines_CreateOrUpdate

enum_AllocationMethod := [ "Dynamic", "Static" ]
enum_HardwareProfileDynamicMemoryEnabled := [ "false", "true" ]
enum_HardwareProfileLimitCpuForMigration := [ "false", "true" ]
enum_IdentityType := [ "None", "SystemAssigned" ]
enum_VirtualDiskCreateDiffDisk := [ "false", "true" ]

valid {
    input.Body.properties.inventoryItemId == STRING
    input.Body.properties.vmmServerId == STRING
    input.Body.properties.cloudId == STRING
    input.Body.properties.templateId == STRING
    input.Body.properties.checkpointType == STRING
    input.Body.properties.checkpoints[_] == None
    input.Body.properties.availabilitySets[_].id == STRING
    input.Body.properties.availabilitySets[_].name == STRING
    input.Body.properties.osProfile.adminPassword == STRING
    input.Body.properties.osProfile.computerName == STRING
    input.Body.properties.hardwareProfile.memoryMB == INTEGER
    input.Body.properties.hardwareProfile.cpuCount == INTEGER
    input.Body.properties.hardwareProfile.limitCpuForMigration == enum_HardwareProfileLimitCpuForMigration[_]
    input.Body.properties.hardwareProfile.dynamicMemoryEnabled == enum_HardwareProfileDynamicMemoryEnabled[_]
    input.Body.properties.hardwareProfile.dynamicMemoryMaxMB == INTEGER
    input.Body.properties.hardwareProfile.dynamicMemoryMinMB == INTEGER
    input.Body.properties.hardwareProfile.isHighlyAvailable == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].name == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].macAddress == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].virtualNetworkId == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].ipv4AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].ipv6AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].macAddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].nicId == STRING
    input.Body.properties.storageProfile.disks[_].name == STRING
    input.Body.properties.storageProfile.disks[_].diskId == STRING
    input.Body.properties.storageProfile.disks[_].diskSizeGB == INTEGER
    input.Body.properties.storageProfile.disks[_].bus == INTEGER
    input.Body.properties.storageProfile.disks[_].lun == INTEGER
    input.Body.properties.storageProfile.disks[_].busType == STRING
    input.Body.properties.storageProfile.disks[_].vhdType == STRING
    input.Body.properties.storageProfile.disks[_].templateDiskId == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.name == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.id == STRING
    input.Body.properties.storageProfile.disks[_].createDiffDisk == enum_VirtualDiskCreateDiffDisk[_]
    input.Body.properties.vmName == STRING
    input.Body.properties.uuid == STRING
    input.Body.properties.generation == INTEGER
    input.Body.properties.guestAgentProfile.clientPublicKey == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualMachineName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualMachines_Delete

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

VirtualMachines_DeleteCheckpoint

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

VirtualMachines_Get

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

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

VirtualMachines_ListBySubscription

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

VirtualMachines_Restart

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

VirtualMachines_RestoreCheckpoint

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

VirtualMachines_Start

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

VirtualMachines_Stop

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

VirtualMachines_Update

enum_AllocationMethod := [ "Dynamic", "Static" ]
enum_HardwareProfileUpdateDynamicMemoryEnabled := [ "false", "true" ]
enum_HardwareProfileUpdateLimitCpuForMigration := [ "false", "true" ]
enum_IdentityType := [ "None", "SystemAssigned" ]

valid {
    input.Body.properties.hardwareProfile.memoryMB == INTEGER
    input.Body.properties.hardwareProfile.cpuCount == INTEGER
    input.Body.properties.hardwareProfile.limitCpuForMigration == enum_HardwareProfileUpdateLimitCpuForMigration[_]
    input.Body.properties.hardwareProfile.dynamicMemoryEnabled == enum_HardwareProfileUpdateDynamicMemoryEnabled[_]
    input.Body.properties.hardwareProfile.dynamicMemoryMaxMB == INTEGER
    input.Body.properties.hardwareProfile.dynamicMemoryMinMB == INTEGER
    input.Body.properties.storageProfile.disks[_].name == STRING
    input.Body.properties.storageProfile.disks[_].diskId == STRING
    input.Body.properties.storageProfile.disks[_].diskSizeGB == INTEGER
    input.Body.properties.storageProfile.disks[_].bus == INTEGER
    input.Body.properties.storageProfile.disks[_].lun == INTEGER
    input.Body.properties.storageProfile.disks[_].busType == STRING
    input.Body.properties.storageProfile.disks[_].vhdType == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.name == STRING
    input.Body.properties.storageProfile.disks[_].storageQoSPolicy.id == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].name == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].macAddress == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].virtualNetworkId == STRING
    input.Body.properties.networkProfile.networkInterfaces[_].ipv4AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].ipv6AddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].macAddressType == enum_AllocationMethod[_]
    input.Body.properties.networkProfile.networkInterfaces[_].nicId == STRING
    input.Body.properties.availabilitySets[_].id == STRING
    input.Body.properties.availabilitySets[_].name == STRING
    input.Body.properties.checkpointType == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityType[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.virtualMachineName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_CreateOrUpdate

valid {
    input.Body.properties.inventoryItemId == STRING
    input.Body.properties.uuid == STRING
    input.Body.properties.vmmServerId == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_Delete

enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.virtualNetworkName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VirtualNetworks_Get

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

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

VirtualNetworks_ListBySubscription

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

VirtualNetworks_Update

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

VmmServers_CreateOrUpdate

valid {
    input.Body.properties.credentials.username == STRING
    input.Body.properties.credentials.password == STRING
    input.Body.properties.fqdn == STRING
    input.Body.properties.port == INTEGER
    input.Body.extendedLocation.type == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vmmServerName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VmmServers_Delete

enum_ForceParameter := [ "false", "true" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.vmmServerName == STRING
    input.Qs.api-version == STRING
    input.Qs.force == enum_ForceParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VmmServers_Get

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

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

VmmServers_ListBySubscription

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

VmmServers_Update

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