actions: applyEnvSettings: script: | var envs = '${this.targetAppid}'.split(','); var desiredCloudlets = parseInt('${this.cloudlets}'); var desiredDiskSpace = parseInt('${this.diskspace}'); for (var i = 0, n = envs.length; i < n; i++) { var targetAppid = envs[i]; var resp = jelastic.env.control.GetEnvInfo(targetAppid, session); if (resp.result != 0) { return { result: resp.result, error: 'Failed to get environment info for ' + targetAppid + ': ' + resp.error, }; } if (!resp.nodes || resp.nodes.length === 0) { return { result: 1, error: 'No nodes found in environment ' + targetAppid, }; } var node = resp.nodes[0]; if (parseInt(node.flexibleCloudlets) !== desiredCloudlets) { resp = jelastic.env.control.SetCloudletsCountByGroup({ envName: targetAppid, session: session, nodeGroup: node.nodeGroup, fixedCloudlets: parseInt(node.fixedCloudlets), flexibleCloudlets: desiredCloudlets, }); if (resp.result != 0) { return { result: resp.result, error: 'Failed to set cloudlets for ' + targetAppid + ': ' + resp.error, }; } } if (parseInt(node.diskLimit) !== desiredDiskSpace) { resp = jelastic.env.control.SetDiskLimitByGroup({ envName: targetAppid, session: session, nodeGroup: node.nodeGroup, limit: desiredDiskSpace, }); if (resp.result != 0) { return { result: resp.result, error: 'Failed to set disk space for ' + targetAppid + ': ' + resp.error, }; } } } return { result: 0 };