azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
406 lines (213 loc) • 16.4 kB
JavaScript
/*** Generated by streamline 0.10.17 (callbacks) - DO NOT EDIT ***/ "use strict"; var __rt=require('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb,__catch=__rt.__catch,__tryCatch=__rt.__tryCatch; var utils = require("../../util/utils");
var util = require("util");
var path = require("path");
var fs = require("fs");
var url = require("url");
var net = require("net");
var childProcess = require("child_process");
var __ = require("underscore");
var constants = {
filename: "serviceFabric.json",
serviceFabricCodePath: "/opt/microsoft/servicefabric/bin/Fabric/Fabric.Code",
azureCliProxyName: "AzureCliProxy.sh",
defaultConfig: { },
optionsBase: {
noRetryPolicy: true,
requestOptions: { } }};
if (process.env.SERVICE_FABRIC_DEVELOPER) {
constants.serviceFabricCodePath = process.env.SERVICE_FABRIC_CODE_PATH;};
exports.writeConfigFile = function exports_writeConfigFile__1(data, _) { var base, filePath; var __frame = { name: "exports_writeConfigFile__1", line: 48 }; return __func(_, this, arguments, exports_writeConfigFile__1, 1, __frame, function __$exports_writeConfigFile__1() {
base = __.clone(constants.defaultConfig);
data = __.extend(base, data);
filePath = path.join(utils.azureDir(), constants.filename);
return fs.writeFile(filePath, JSON.stringify(data, null, 2), __cb(_, __frame, 4, 5, function __$exports_writeConfigFile__1() { _(); }, true)); });};
exports.isFileExist = function exports_isFileExist__2(filePath, _) { var __frame = { name: "exports_isFileExist__2", line: 55 }; return __func(_, this, arguments, exports_isFileExist__2, 1, __frame, function __$exports_isFileExist__2() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$exports_isFileExist__2() {
return fs.access(filePath, fs.F_OK, __cb(_, __frame, 2, 7, function __$exports_isFileExist__2() {
return _(null, true); }, true)); }); })(function ___(e, __result) { __catch(function __$exports_isFileExist__2() { if (e) {
return _(null, false); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$exports_isFileExist__2() { _(); }); }); });};
exports.readConfigFile = function exports_readConfigFile__3(_) { var filePath, dataString, base, data; var __frame = { name: "exports_readConfigFile__3", line: 65 }; return __func(_, this, arguments, exports_readConfigFile__3, 0, __frame, function __$exports_readConfigFile__3() {
filePath = path.join(utils.azureDir(), constants.filename);
return fs.readFile(filePath, __cb(_, __frame, 2, 22, function ___(__0, __1) { dataString = __1;
base = __.clone(constants.defaultConfig);
data = JSON.parse(dataString);
return _(null, __.extend(base, data)); }, true)); });};
exports.isValidFabricUrl = function exports_isValidFabricUrl__4(urlString, _) { var urlObj; var __frame = { name: "exports_isValidFabricUrl__4", line: 74 }; return __func(_, this, arguments, exports_isValidFabricUrl__4, 1, __frame, function __$exports_isValidFabricUrl__4() {
urlObj = url.parse(urlString);
if ((!urlObj.protocol || !urlObj.pathname)) {
return _(null, false); } ;
return _(null, true); });};
exports.isSubPath = function exports_isSubPath__5(parent, child, _) { var __frame = { name: "exports_isSubPath__5", line: 83 }; return __func(_, this, arguments, exports_isSubPath__5, 2, __frame, function __$exports_isSubPath__5() {
return exports.isValidFabricUrl(parent, __cb(_, __frame, 1, 15, function ___(__0, __2) { var __1 = !__2; return (function __$exports_isSubPath__5(__then) { if (__1) {
return _(util.format("Invalid url %s", parent)); } else { __then(); } ; })(function __$exports_isSubPath__5() {
return exports.isValidFabricUrl(child, __cb(_, __frame, 4, 15, function ___(__0, __4) { var __3 = !__4; return (function __$exports_isSubPath__5(__then) { if (__3) {
return _(util.format("Invalid url %s", child)); } else { __then(); } ; })(function __$exports_isSubPath__5() {
if ((parent.charAt((parent.length - 1)) == "/")) {
parent = parent.subString(0, (parent.length - 1)); } ;
if ((child.charAt((child.length - 1)) == "/")) {
child = child.subString(0, (child.length - 1)); } ;
if (!child.startsWith(parent)) {
return _(null, false); } ;
if ((child.length == parent.length)) {
return _(null, false); } ;
if ((child.charAt(parent.length) != "/")) {
return _(null, false); } ;
return _(null, true); }); }, true)); }); }, true)); });};
exports.parseUrl = function exports_parseUrl__6(urlString, _) { var urlObj; var __frame = { name: "exports_parseUrl__6", line: 108 }; return __func(_, this, arguments, exports_parseUrl__6, 1, __frame, function __$exports_parseUrl__6() {
if ((((urlString === null) || (urlString === undefined)) || (urlString === ""))) {
return _(null, urlString); } ;
return exports.isValidFabricUrl(urlString, __cb(_, __frame, 4, 15, function ___(__0, __2) { var __1 = !__2; return (function __$exports_parseUrl__6(__then) { if (__1) {
return _(util.format("Invalid url %s", urlString)); } else { __then(); } ; })(function __$exports_parseUrl__6() {
urlObj = url.parse(urlString);
return _(null, urlObj.pathname.replace(/^\//, "")); }); }, true)); });};
exports.getClientOptions = function exports_getClientOptions__7(config, _) { var options; var __frame = { name: "exports_getClientOptions__7", line: 119 }; return __func(_, this, arguments, exports_getClientOptions__7, 1, __frame, function __$exports_getClientOptions__7() {
options = __.clone(constants.optionsBase); return (function __$exports_getClientOptions__7(__then) {
if ((config.clientKeyPath && config.clientCertPath)) {
if (!options.requestOptions) { options.requestOptions = { }; } ;
return fs.readFile(config.clientKeyPath, __cb(_, __frame, 4, 36, function ___(__0, __2) { options.requestOptions.key = __2;
return fs.readFile(config.clientCertPath, __cb(_, __frame, 5, 37, function ___(__0, __3) { options.requestOptions.cert = __3; __then(); }, true)); }, true)); } else { __then(); } ; })(function __$exports_getClientOptions__7() { return (function __$exports_getClientOptions__7(__then) {
if (config.caCertPaths) {
if (!options.requestOptions) { options.requestOptions = { }; } ;
options.requestOptions.ca = [];
return config.caCertPaths.forEach_(__cb(_, __frame, 10, 23, __then, true), function __1(_, path) { var __frame = { name: "__1", line: 129 }; return __func(_, this, arguments, __1, 0, __frame, function __$__1() {
return fs.readFile(path, __cb(_, __frame, 1, 40, function ___(__0, __1) { options.requestOptions.ca.push(__1); _(); }, true)); }); }); } else { __then(); } ; })(function __$exports_getClientOptions__7() {
if (("strictSsl" in config)) {
options.requestOptions.strictSsl = config.strictSsl; } ;
if (("rejectUnauthorized" in config)) {
options.requestOptions.rejectUnauthorized = config.rejectUnauthorized; } ;
return _(null, options); }); }); });};
exports.readServiceFabricConfig = function exports_readServiceFabricConfig__8(progress, _) { var __frame = { name: "exports_readServiceFabricConfig__8", line: 142 }; return __func(_, this, arguments, exports_readServiceFabricConfig__8, 1, __frame, function __$exports_readServiceFabricConfig__8() {
return exports.isFileExist(path.join(utils.azureDir(), constants.filename), __cb(_, __frame, 1, 15, function ___(__0, __2) { var __1 = !__2; return (function __$exports_readServiceFabricConfig__8(__then) { if (__1) {
progress.end();
return _("Cannot open the servicefabric config file. Please connect to the cluster by invoking the cluster connect command."); } else { __then(); } ; })(function __$exports_readServiceFabricConfig__8() {
return fs.access(path.join(utils.azureDir(), constants.filename), fs.F_OK, __cb(_, __frame, 5, 5, function __$exports_readServiceFabricConfig__8() {
return exports.readConfigFile(__cb(_, __frame, 6, 17, _, true)); }, true)); }); }, true)); });};
exports.deleteServiceFabricConfig = function(cb) {
fs.unlink(path.join(utils.azureDir(), constants.filename), cb);};
exports.createConnectionUrl = function exports_createConnectionUrl__9(config, _) { var urlObj; var __frame = { name: "exports_createConnectionUrl__9", line: 156 }; return __func(_, this, arguments, exports_createConnectionUrl__9, 1, __frame, function __$exports_createConnectionUrl__9() {
if ((!config || !config.connectionEndpoint)) {
return _("The servicefabric config file is not valid. Please connect to the cluster by invoking the cluster connect command."); } ;
urlObj = url.parse(config.connectionEndpoint);
return _(null, url.format(urlObj)); });};
exports.createTcpConnectionUrl = function exports_createTcpConnectionUrl__10(config, _) { var __frame = { name: "exports_createTcpConnectionUrl__10", line: 167 }; return __func(_, this, arguments, exports_createTcpConnectionUrl__10, 1, __frame, function __$exports_createTcpConnectionUrl__10() {
if (!config.tcpConnectionEndpoint) {
return _(null, null); } ;
return _(null, config.tcpConnectionEndpoint); });};
exports.testConnection = function(host, port, cb) {
var connection = net.connect(port, host, function() {
connection.end();
cb(); });
connection.on("error", function(e) { cb(e); });
connection.on("timeout", function(e) { cb(e); });};
exports.isServiceFabricInstalled = function exports_isServiceFabricInstalled__11(_) { var __frame = { name: "exports_isServiceFabricInstalled__11", line: 187 }; return __func(_, this, arguments, exports_isServiceFabricInstalled__11, 0, __frame, function __$exports_isServiceFabricInstalled__11() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$exports_isServiceFabricInstalled__11() {
return fs.access(path.join(constants.serviceFabricCodePath, constants.azureCliProxyName), fs.F_OK, __cb(_, __frame, 2, 7, __then, true)); }); })(function ___(err, __result) { __catch(function __$exports_isServiceFabricInstalled__11() { if (err) {
return _(null, false); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$exports_isServiceFabricInstalled__11() {
return _(null, true); }); }); });};
function childProcessExec(command, options, callback) {
childProcess.exec(command, options, function(error, stdout, stderr) {
callback(null, error, stdout, stderr); });};
exports.runChildProcess = function exports_runChildProcess__12(command, _) { var errMessage, fullCommand, processEnv; var __frame = { name: "exports_runChildProcess__12", line: 203 }; return __func(_, this, arguments, exports_runChildProcess__12, 1, __frame, function __$exports_runChildProcess__12() {
return exports.isServiceFabricInstalled(__cb(_, __frame, 1, 15, function ___(__0, __2) { var __1 = !__2; return (function __$exports_runChildProcess__12(__then) { if (__1) {
errMessage = "Service Fabric SDK is not installed, please install Service Fabric SDK for full feature.";
return _(errMessage); } else { __then(); } ; })(function __$exports_runChildProcess__12() {
fullCommand = ((path.join(constants.serviceFabricCodePath, constants.azureCliProxyName) + " ") + command);
processEnv = __.clone(process.env);
processEnv.LD_LIBRARY_PATH = constants.serviceFabricCodePath;
console.log(("\nRunning " + fullCommand));
return childProcessExec(fullCommand, { env: processEnv }, __cb(_, __frame, 9, 9, _, true, true)); }); }, true)); });};
exports.pick = function exports_pick__13(obj, keys, _) { var __frame = { name: "exports_pick__13", line: 215 }; return __func(_, this, arguments, exports_pick__13, 2, __frame, function __$exports_pick__13() {
keys = keys.split(",");
if (Array.isArray(obj)) {
return _(null, __.map(obj, function(item) {
return __.pick(item, keys); })); }
else {
return _(null, __.pick(obj, keys)); } ; _(); });};
exports.walkDirTree = function(rootNode) {
var res = [];
var walk = function(currentfullPath, relativePath) {
var nodes = fs.readdirSync(currentfullPath);
nodes.forEach(function(node) {
var childFullPath = path.join(currentfullPath, node);
var stats = fs.statSync(childFullPath);
var fullRelativePath = path.join(relativePath, node);
if (stats.isDirectory()) {
walk(childFullPath, fullRelativePath); }
else {
res.push({ path: fullRelativePath, size: stats.size }); } ; });
res.push({ path: path.join(relativePath, "_.dir"), size: 0 }); };
var stats = fs.statSync(rootNode);
if (!stats.isDirectory()) {
res.push({ path: path.basename(rootNode), size: stats.size });
return res; } ;
walk(rootNode, "");
return res;};
var enumMap = {
healthState: {
Invalid: 0,
Ok: 1,
Warning: 2,
Error: 3,
Unknown: 65535 },
deactivationIntent: {
Invalid: 0,
Pause: 1,
Restart: 2,
RemoveData: 3 },
rollingUpgradeMode: {
Invalid: 0,
UnmonitoredAuto: 1,
UnmonitoredManual: 2,
Monitored: 3 },
failureAction: {
Invalid: 0,
Rollback: 1,
Manual: 2 },
serviceKind: {
Invalid: 0,
Stateless: 1,
Stateful: 2 },
partitionScheme: {
Invalid: 0,
Singleton: 1,
Int64Range: 2,
Named: 3 },
serviceCorrelationScheme: {
Invalid: 0,
Affinity: 1,
AlignedAffinity: 2,
NonAlignedAffinity: 3 },
servicePlacementPolicyType: {
Invalid: 0,
InvalidDomain: 1,
RequireDomain: 2,
PreferPrimaryDomain: 3,
RequireDomainDistribution: 4 }};
exports.getEnumVal = function(key, val) {
return val;};
var enumValPrefixes = ["FABRIC_OPERATION_TYPE_","FABRIC_SERVICE_PARTITION_ACCESS_STATUS_","FABRIC_REPLICA_SET_","FABRIC_PARTITION_KEY_TYPE_","FABRIC_SERVICE_PARTITION_KIND_","FABRIC_SERVICE_LOAD_METRIC_WEIGHT_","FABRIC_SERVICE_CORRELATION_SCHEME_","FABRIC_FAULT_TYPE_","FABRIC_NODE_DEACTIVATION_INTENT_","FABRIC_SERVICE_DESCRIPTION_KIND_","FABRIC_PARTITION_SCHEME_","FABRIC_PROPERTY_TYPE_","FABRIC_PROPERTY_BATCH_OPERATION_KIND_","FABRIC_QUERY_SERVICE_OPERATION_NAME_","FABRIC_QUERY_REPLICATOR_OPERATION_NAME_","FABRIC_SERVICE_KIND_","FABRIC_TEST_COMMAND_PROGRESS_STATE_","FABRIC_TEST_COMMAND_TYPE_","FABRIC_PACKAGE_SHARING_POLICY_SCOPE_","FABRIC_SERVICE_ROLE_","FABRIC_APPLICATION_UPGRADE_STATE_","FABRIC_ROLLING_UPGRADE_MODE_","FABRIC_UPGRADE_DOMAIN_STATE_","FABRIC_UPGRADE_STATE_","FABRIC_UPGRADE_FAILURE_REASON_","FABRIC_SERVICE_TYPE_REGISTRATION_STATUS_","FABRIC_QUERY_SERVICE_REPLICA_STATUS_","FABRIC_UPGRADE_KIND_","FABRIC_MOVE_COST_","FABRIC_NODE_DEACTIVATION_STATUS_","FABRIC_PLACEMENT_POLICY_","FABRIC_SERVICE_REPLICA_KIND_",];
exports.setEnumVal = function(data) {
if ((data instanceof Array)) {
data.forEach(function(element) {
exports.setEnumVal(element); }); }
else if ((data instanceof Object)) {
for (var key in data) {
if (data.hasOwnProperty(key)) {
if (((typeof data[key] === "string") || (data[key] instanceof String))) {
enumValPrefixes.forEach(function(prefix) {
if (data[key].startsWith(prefix)) {
var temp = data[key].substring(prefix.length);
temp = temp.split("_");
temp.forEach(function(element, index) {
temp[index] = (element.charAt(0).toUpperCase() + element.slice(1).toLowerCase()); });
data[key] = temp.join(""); } ; }); }
else if ((data[key] instanceof Object)) {
exports.setEnumVal(data[key]); } ; } ; }; } ;};
exports.setApplicationEnumVal = function(data) {};
exports.setClusterEnumVal = function(data) {};
exports.setNodeEnumVal = function(data) {};
exports.setPackageEnumVal = function(data) {};
exports.setPartitionEnumVal = function(data) {};
exports.setReplicaEnumVal = function(data) {};
exports.setServiceEnumVal = function(data) {};
exports.setServiceGroupEnumVal = function(data) {};
exports.list = function(val) {
return val.split(",");};