in desktop/src/app/models/forms/create-pool-model.ts [58:121]
export function createPoolToData(output: CreatePoolModel): PoolCreateDto {
const outputScale: PoolScaleSelection = output.scale || {} as any;
const data: any = {
id: output.id,
displayName: output.displayName,
vmSize: output.vmSize,
enableAutoScale: outputScale.enableAutoScale,
taskSlotsPerNode: Number(output.taskSlotsPerNode),
enableInterNodeCommunication: output.enableInterNodeCommunication,
taskSchedulingPolicy: {
nodeFillType: output.taskSchedulingPolicy,
},
startTask: output.startTask,
userAccounts: output.userAccounts,
metadata: output.metadata,
};
if (outputScale.enableAutoScale) {
data.autoScaleFormula = outputScale.autoScaleFormula;
data.autoScaleEvaluationInterval = outputScale.autoScaleEvaluationInterval;
} else {
data.targetDedicatedNodes = outputScale.targetDedicatedNodes;
data.targetLowPriorityNodes = outputScale.targetLowPriorityNodes;
data.resizeTimeout = outputScale.resizeTimeout;
}
if (output.os.source === PoolOsSources.PaaS) {
data.cloudServiceConfiguration = output.os.cloudServiceConfiguration;
} else {
data.virtualMachineConfiguration = output.os.virtualMachineConfiguration;
// if (output.os.virtualMachineConfiguration.osType !== "windows") {
// delete data.virtualMachineConfiguration.windowsConfiguration;
// }
}
if (output.appLicenses && output.appLicenses.length > 0) {
data.applicationLicenses = output.appLicenses;
}
if (output.appPackages && output.appPackages.length > 0) {
data.applicationPackageReferences = output.appPackages;
}
if (output.inboundNATPools && output.inboundNATPools.length > 0) {
data.networkConfiguration = {
endpointConfiguration: {
inboundNATPools: output.inboundNATPools,
},
};
}
if (output.subnetId) {
data.networkConfiguration = {
subnetId: output.subnetId,
...data.networkConfiguration,
};
}
if (output.certificateReferences) {
data.certificateReferences = output.certificateReferences;
}
return new PoolCreateDto(data);
}