async function createEnvironment()

in tasks/Node/src/tasks/AzureDtlCreateEnvironment/task.ts [14:36]


async function createEnvironment(dtlClient: DevTestLabsClient, inputData: CreateOrUpdateEnvTaskInputData): Promise<void> {
    const labName: string = resutil.getLabResourceName(inputData.labId, 'labs');
    const labRgName: string = resutil.getLabResourceName(inputData.labId, 'resourcegroups');
    const env: DevTestLabsModels.DtlEnvironment = getEnvironment(inputData.templateId, inputData.parametersFile, inputData.parameterOverrides);

    console.log(`Creating Environment '${inputData.envName}' in Lab '${labName}' under Resource Group '${labRgName}'.`);

    const results = await dtlClient.environments.createOrUpdate(labRgName, labName, '@me', inputData.envName, env);
    if (results) {
        if (results.provisioningState !== 'Succeeded') {
            throw results._response.bodyAsText;
        }

        if (results.id) {
            tl.setVariable('environmentResourceId', results.id);
        }
        if (results.resourceGroupId) {
            tl.setVariable('environmentResourceGroupId', results.resourceGroupId);
        }
    }

    console.log(`Finished creating Lab Environment '${inputData.envName}'.`);
}