in plugin-azure-server/src/main/kotlin/jetbrains/buildServer/clouds/azure/arm/connector/tasks/FetchVirtualMachinesTaskImpl.kt [18:49]
override fun createQuery(api: AzureApi, taskContext: AzureTaskContext, parameter: Unit): Single<List<FetchVirtualMachinesTaskVirtualMachineDescriptor>> {
return api
.virtualMachines()
.listAsync()
.toList()
.last()
.map { list ->
val result = mutableListOf<FetchVirtualMachinesTaskVirtualMachineDescriptor>()
for(vm in list) {
try {
result.add(
FetchVirtualMachinesTaskVirtualMachineDescriptor(
vm.id(),
vm.name(),
vm.resourceGroupName(),
vm.isManagedDiskEnabled,
if (vm.isManagedDiskEnabled) null else vm.inner().storageProfile().osDisk()?.vhd()?.uri(),
when (vm.osType()) {
OperatingSystemTypes.LINUX -> "Linux"
OperatingSystemTypes.WINDOWS -> "Windows"
else -> vm.osType()?.name
}
)
)
} catch (exception: Throwable) {
LOG.warnAndDebugDetails("Could not read VirtualMachine. Id=${vm.id()}, Name=${vm.name()}, ResourceGroup=${vm.resourceGroupName()}", exception)
}
}
result.toList()
}
.toSingle()
}