function fromParametersFile()

in tasks/Node/src/modules/task-utils/deployutil.ts [70:104]


function fromParametersFile(parametersFile: string): DevTestLabsModels.ArmTemplateParameterProperties[] {
    const parameters: DevTestLabsModels.ArmTemplateParameterProperties[] = [];

    if (!parametersFile) {
        tl.warning(`DeployUtil: Ignoring invalid parameters file '${parametersFile}'.`);
        return parameters;
    }

    if (!fs.existsSync(parametersFile)) {
        tl.warning(`DeployUtil: Ignoring. Unable to locate parameters file '${parametersFile}'.`);
        return parameters;
    }

    const stats = fs.statSync(parametersFile);
    if (stats.isFile()) {
        const data = fs.readFileSync(parametersFile, 'utf8');
        const params = JSON.parse(data);
        const props = Object.keys(params.parameters);
        const resArray = new Array(props.length);

        let i = props.length;
        while (i--) {
            resArray[i] = [props[i], params.parameters[props[i]]];
            const parameter = Object.create(DevTestLabsMappers.ArmTemplateParameterProperties);
            parameter.name = props[i];
            parameter.value = params.parameters[props[i]].value.toString();
            parameters.push(parameter);
        }
    }
    else {
        tl.debug(`DeployUtil: Ignoring. Provided parameters file is not valid: '${parametersFile}'.`)
    }

    return parameters;
}