in plugin-azure-server/src/main/kotlin/jetbrains/buildServer/clouds/azure/arm/AzureCloudClientFactory.kt [61:106]
override fun parseImageData(params: CloudClientParameters): Collection<AzureCloudImageDetails> {
if (!params.getParameter(CloudImageParameters.SOURCE_IMAGES_JSON).isNullOrEmpty()) {
return AzureUtils.parseImageData(AzureCloudImageDetails::class.java, params)
}
return params.cloudImages.map { param ->
AzureCloudImageDetails(
param.id,
param.getParameter(AzureConstants.DEPLOY_TARGET)?.let(AzureCloudDeployTarget::valueOf),
param.getParameter(AzureConstants.REGION),
param.getParameter(AzureConstants.GROUP_ID),
param.getParameter(AzureConstants.IMAGE_TYPE)?.let(AzureCloudImageType::valueOf),
param.getParameter(AzureConstants.IMAGE_URL),
param.getParameter(AzureConstants.IMAGE_ID),
param.getParameter(AzureConstants.INSTANCE_ID),
param.getParameter(AzureConstants.OS_TYPE),
param.getParameter(AzureConstants.NETWORK_ID),
param.getParameter(AzureConstants.SUBNET_ID),
param.getParameter(AzureConstants.VM_NAME_PREFIX),
param.getParameter(AzureConstants.VM_SIZE),
(param.getParameter(AzureConstants.VM_PUBLIC_IP) ?: "").toBoolean(),
(param.getParameter(AzureConstants.MAX_INSTANCES_COUNT) ?: "1").toInt(),
param.getParameter(AzureConstants.VM_USERNAME),
param.getParameter(AzureConstants.STORAGE_ACCOUNT_TYPE),
param.getParameter(AzureConstants.TEMPLATE),
param.getParameter(AzureConstants.NUMBER_CORES),
param.getParameter(AzureConstants.MEMORY),
param.getParameter(AzureConstants.STORAGE_ACCOUNT),
param.getParameter(AzureConstants.REGISTRY_USERNAME),
param.agentPoolId,
param.getParameter(AzureConstants.PROFILE_ID),
(param.getParameter(AzureConstants.REUSE_VM) ?: "").toBoolean(),
param.getParameter(AzureConstants.CUSTOM_ENVIRONMENT_VARIABLES),
param.getParameter(AzureConstants.CUSTOM_TAGS),
param.getParameter(AzureConstants.SPOT_VM)?.toBoolean(),
param.getParameter(AzureConstants.ENABLE_SPOT_PRICE)?.toBoolean(),
param.getParameter(AzureConstants.SPOT_PRICE)?.toInt(),
param.getParameter(AzureConstants.ENABLE_ACCELERATED_NETWORKING)?.toBoolean(),
param.getParameter(AzureConstants.DISABLE_TEMPLATE_MODIFICATION)?.toBoolean(),
param.getParameter(AzureConstants.USER_ASSIGNED_IDENTITY) ?: "",
param.getParameter(AzureConstants.ENABLE_SYSTEM_ASSIGNED_IDENTITY)?.toBoolean()
)
}.apply {
AzureUtils.setPasswords(AzureCloudImageDetails::class.java, params, this)
}
}