in plugin-azure-server/src/main/resources/buildServerResources/images.vm.js [715:834]
self.showDialog = function (data) {
if (!self.isValidCredentials() || self.loadingSubscriptions() || self.loadingRegions()) {
return false;
}
self.originalImage = data;
var model = self.image();
var image = data || {
deployTarget: deployTargets.specificGroup,
groupId: self.getResourceGroup(),
imageType: imageTypes.container,
imageId: "jetbrains/teamcity-agent",
vmNamePrefix: "tc-agent",
osType: osTypes.linux,
maxInstances: 1,
numberCores: 2,
memory: 2,
customEnvironmentVariables: "",
customTags: "",
spotVm: false,
enableSpotPrice: false,
spotPrice: spotPriceDefault * priceDivider,
userAssignedIdentity: "",
systemAssignedIdentity: false,
};
// Pre-fill collections while loading resources
var imageId = image.imageId;
if (imageId
&& (image.imageType === imageTypes.image || image.imageType === imageTypes.galleryImage)
&& !ko.utils.arrayFirst(self.sourceImages(), function (item) {
return item.id === imageId;
})) {
self.sourceImages([{
id: imageId,
text: image.imageType === imageTypes.image ? self.getFileName(imageId) : self.getGalleryImageName(imageId),
osType: image.osType,
isGalleryImage: image.imageType === imageTypes.galleryImage
}]);
}
var instanceId = image.instanceId;
if (instanceId && !ko.utils.arrayFirst(self.instances(), function (item) {
return item.id === instanceId;
})) {
self.instances([{id: instanceId, text: self.getFileName(instanceId)}]);
}
var vmSize = image.vmSize;
if (vmSize && self.vmSizes.indexOf(vmSize) < 0) {
self.vmSizes([vmSize]);
}
var networkId = image.networkId;
if (networkId && self.networks.indexOf(networkId) < 0) {
self.networks([networkId]);
var subNetworks = [image.subnetId];
self.nets[networkId] = subNetworks;
self.subNetworks(subNetworks);
}
var storageAccount = image.storageAccount;
if (storageAccount && self.storageAccounts.indexOf(storageAccount) < 0) {
self.storageAccounts([storageAccount]);
}
model.deployTarget(image.deployTarget || deployTargets.newGroup);
model.region(image.region);
model.groupId(image.groupId);
model.imageType(image.imageType || imageTypes.vhd);
model.imageUrl(image.imageUrl);
model.imageId(imageId);
model.instanceId(instanceId);
model.osType(image.osType);
model.networkId(networkId);
model.subnetId(image.subnetId);
model.vmSize(vmSize);
model.numberCores(image.numberCores);
model.memory(image.memory);
model.registryUsername(image.registryUsername);
model.maxInstances(image.maxInstances);
model.vmNamePrefix(image.vmNamePrefix);
model.vmPublicIp(image.vmPublicIp);
model.vmUsername(image.vmUsername);
model.reuseVm(image.reuseVm);
model.storageAccount(storageAccount);
model.storageAccountType(image.storageAccountType);
model.template(image.template);
model.agentPoolId(image.agentPoolId);
model.profileId(image.profileId);
model.customEnvironmentVariables(image.customEnvironmentVariables);
model.customTags(image.customTags);
model.spotVm(image.spotVm);
model.enableSpotPrice(image.enableSpotPrice);
model.spotPrice(image.spotPrice != null ? image.spotPrice/priceDivider : undefined);
model.enableAcceleratedNetworking(image.enableAcceleratedNetworking);
model.disableTemplateModification(image.disableTemplateModification);
model.userAssignedIdentity(image.userAssignedIdentity);
model.enableSystemAssignedIdentity(image.enableSystemAssignedIdentity);
model.registryPassword("");
model.vmPassword("");
if (image.deployTarget !== deployTargets.instance) {
if (image.groupId !== null) {
if (image.imageType === imageTypes.container) {
model.registryPassword(azurePassStub);
} else {
model.vmPassword(azurePassStub);
}
}
}
self.image.errors.showAllMessages(false);
ko.validation.group(self.image().vmNamePrefix).showAllMessages();
dialog.showDialog(!self.originalImage);
return false;
};