export function setClusterParameterValue()

in client/src/components/pipelines/launch/form/utilities/launch-cluster.js [188:275]


export function setClusterParameterValue (form, sectionName, configuration) {
  if (!form || !configuration) {
    return;
  }
  const {
    gridEngineEnabled,
    sparkEnabled,
    slurmEnabled,
    kubeEnabled,
    hybridAutoScaledClusterEnabled,
    autoScaledPriceType,
    fsConfig = {}
  } = configuration;
  const formValue = form.getFieldValue(sectionName);
  if (!formValue || !formValue.hasOwnProperty('params')) {
    return;
  }
  const {params} = formValue;
  const keys = Object.keys(params);
  let modified = false;
  for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    const value = params[key];
    if (!value || !value.name) {
      continue;
    }
    if (value.name === CP_CAP_SGE) {
      value.value = `${gridEngineEnabled}`;
      modified = true;
    }
    if (value.name === CP_CAP_SPARK) {
      value.value = `${sparkEnabled}`;
      modified = true;
    }
    if (value.name === CP_CAP_SLURM) {
      value.value = `${slurmEnabled}`;
      modified = true;
    }
    if (value.name === CP_CAP_KUBE) {
      value.value = `${kubeEnabled}`;
      modified = true;
    }
    if (value.name === CP_CAP_AUTOSCALE_PRICE_TYPE && autoScaledPriceType) {
      value.value = `${autoScaledPriceType}`;
      modified = true;
    }
    if (value.name === CP_CAP_AUTOSCALE_HYBRID) {
      value.value = `${hybridAutoScaledClusterEnabled}`;
      modified = true;
    }
    if (value.name === CP_CAP_SHARE_FS_TYPE) {
      value.value = fsConfig.fsType;
      modified = true;
    }
    if (value.name === CP_CAP_SHARE_FS_DEPLOYMENT_TYPE) {
      value.value = fsConfig.deploymentType;
      modified = true;
    }
    if (value.name === CP_CAP_SHARE_FS_SIZE) {
      const v = Number(fsConfig.volume);
      if (fsConfig.volume !== undefined && !Number.isNaN(v)) {
        value.value = v;
        modified = true;
      }
    }
    if (value.name === CP_CAP_SHARE_FS_THROUGHPUT) {
      const v = Number(fsConfig.throughput);
      if (fsConfig.volume !== undefined && !Number.isNaN(v)) {
        value.value = v;
        modified = true;
      }
    }
    if (value.name === CP_CAP_SHARE_FS_IOPS) {
      const v = Number(fsConfig.iops);
      if (fsConfig.volume !== undefined && !Number.isNaN(v)) {
        value.value = v;
        modified = true;
      }
    }
  }
  if (modified) {
    form.setFieldsValue(
      {
        [sectionName]: formValue
      }
    );
  }
}