azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
484 lines (274 loc) • 30.2 kB
JavaScript
/*** Generated by streamline 0.10.17 (callbacks) - DO NOT EDIT ***/ var __rt=require('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb,__catch=__rt.__catch,__tryCatch=__rt.__tryCatch; var __ = require("underscore");
var util = require("util");
var utils = require("../../../util/utils");
var $ = utils.getLocaleString;
var constants = require("./constants");
var EndPointUtil = require("../../../util/endpointUtil");
function TrafficManager(cli, trafficManagerManagementClient) {
this.trafficManagerManagementClient = trafficManagerManagementClient;
this.endpointUtil = new EndPointUtil();
this.output = cli.output;
this.interaction = cli.interaction;};
__.extend(TrafficManager.prototype, {
createProfile: function createProfile__1(profileName, options, _) { var self, tmProfile, profileProgress, tmDefConfig, definitionProgress, tmDefinition, __this = this; var __frame = { name: "createProfile__1", line: 34 }; return __func(_, this, arguments, createProfile__1, 2, __frame, function __$createProfile__1() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1; return (function __$createProfile__1(__then) {
if (!tmProfile) {
profileProgress = self.interaction.progress(util.format($("Creating Traffic Manager profile \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$createProfile__1() {
return self.trafficManagerManagementClient.profiles.create(profileName, options.domainName, __cb(_, __frame, 6, 53, function __$createProfile__1() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$createProfile__1() {
profileProgress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createProfile__1() {
return self.getProfile(profileName, __cb(_, __frame, 10, 23, function ___(__0, __2) { tmProfile = __2; __then(); }, true)); }); }); } else { __then(); } ; })(function __$createProfile__1() {
if ((tmProfile.profile.definitions.length > 0)) {
return _(new Error(util.format($("Traffic Manager profile \"%s\" already exists"), profileName))); } ;
tmDefConfig = self._prepareDefinition(options);
definitionProgress = self.interaction.progress(util.format($("Creating Traffic Manager definition for profile \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$createProfile__1() {
return self.trafficManagerManagementClient.definitions.create(profileName, tmDefConfig, __cb(_, __frame, 20, 54, function __$createProfile__1() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$createProfile__1() {
definitionProgress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createProfile__1() {
return self.getDefinition(profileName, __cb(_, __frame, 25, 28, function ___(__0, __3) { tmDefinition = __3;
self._showProfile(profileName, tmProfile, tmDefinition); _(); }, true)); }); }); }); }, true)); }); },
setProfile: function setProfile__2(profileName, options, _) { var self, tmProfile, tmDefinition, definitionProgress, __this = this; var __frame = { name: "setProfile__2", line: 63 }; return __func(_, this, arguments, setProfile__2, 2, __frame, function __$setProfile__2() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1;
if (!tmProfile) {
return _(new Error(util.format($("Traffic Manager \"%s\" not found"), profileName))); } ;
return self.getDefinition(profileName, __cb(_, __frame, 7, 28, function ___(__0, __2) { tmDefinition = __2;
if (!tmDefinition) {
tmDefinition = self._prepareDefinition(options); }
else {
tmDefinition = tmDefinition.definition;
self._validateDefinitionOptions(options, false);
if (options.ttl) { tmDefinition.dnsOptions.timeToLiveInSeconds = options.ttl; } ;
if (options.monitorRelativePath) { tmDefinition.monitors[0].httpOptions.relativePath = options.monitorRelativePath; } ;
if (options.monitorPort) { tmDefinition.monitors[0].port = options.monitorPort; } ;
if (options.monitorProtocol) { tmDefinition.monitors[0].protocol = options.monitorProtocol; } ;
if (options.loadBalancingMethod) { tmDefinition.policy.loadBalancingMethod = options.loadBalancingMethod; } ; } ;
definitionProgress = self.interaction.progress(util.format($("Updating Traffic Manager \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$setProfile__2() {
return self.trafficManagerManagementClient.definitions.create(profileName, tmDefinition, __cb(_, __frame, 22, 54, function __$setProfile__2() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$setProfile__2() {
definitionProgress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$setProfile__2() {
return self.getDefinition(profileName, __cb(_, __frame, 27, 24, function ___(__0, __3) { tmDefinition = __3;
self._showProfile(profileName, tmProfile, tmDefinition); _(); }, true)); }); }); }, true)); }, true)); }); },
showProfile: function showProfile__3(profileName, options, _) { var self, tmProfile, tmDefinition, __this = this; var __frame = { name: "showProfile__3", line: 94 }; return __func(_, this, arguments, showProfile__3, 2, __frame, function __$showProfile__3() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1;
return self.getDefinition(profileName, __cb(_, __frame, 3, 28, function ___(__0, __2) { tmDefinition = __2;
self._showProfile(profileName, tmProfile, tmDefinition); _(); }, true)); }, true)); }); },
listProfiles: function listProfiles__4(options, _) { var self, progress, tmProfiles, __this = this; var __frame = { name: "listProfiles__4", line: 101 }; return __func(_, this, arguments, listProfiles__4, 1, __frame, function __$listProfiles__4() { self = __this;
progress = self.interaction.progress($("Getting Traffic Manager profiles"));
tmProfiles = null; return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$listProfiles__4() {
return self.trafficManagerManagementClient.profiles.list(__cb(_, __frame, 6, 64, function ___(__0, __1) { tmProfiles = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$listProfiles__4() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$listProfiles__4() {
self.interaction.formatOutput(tmProfiles.profiles, function(data) {
if ((data.length === 0)) {
self.output.warn($("No Traffic Manager profiles found")); }
else {
self.output.table(data, function(row, item) {
row.cell($("Name"), item.name);
row.cell($("Domain name"), item.domainName);
row.cell($("Status"), item.status); }); } ; }); _(); }); }); }); },
deleteProfile: function deleteProfile__5(profileName, options, _) { var self, tmProfile, progress, __this = this; var __frame = { name: "deleteProfile__5", line: 125 }; return __func(_, this, arguments, deleteProfile__5, 2, __frame, function __$deleteProfile__5() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __2) { tmProfile = __2;
if (!tmProfile) {
return _(new Error(util.format("Traffic manager profile with name \"%s\" not found", profileName))); } ; return (function __$deleteProfile__5(_) {
var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete Traffic Manager profile \"%s\"? [y/n] "), profileName), __cb(_, __frame, 7, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -124, 17, function ___(__0, __3) { return (function __$deleteProfile__5(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$deleteProfile__5() {
progress = self.interaction.progress(util.format($("Deleting Traffic Manager profile \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$deleteProfile__5() {
return self.trafficManagerManagementClient.profiles.deleteMethod(profileName, __cb(_, __frame, 13, 51, function __$deleteProfile__5() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$deleteProfile__5() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$deleteProfile__5() { _(); }); }); }); }, true)); }, true)); }); },
enableProfile: function enableProfile__6(profileName, options, _) { var self, tmProfile, definitionVersionNumber, __this = this; var __frame = { name: "enableProfile__6", line: 144 }; return __func(_, this, arguments, enableProfile__6, 2, __frame, function __$enableProfile__6() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1; return (function __$enableProfile__6(__then) {
if (!tmProfile) {
if (self.output.format().json) {
self.output.json({ }); }
else {
return _(new Error(util.format("Traffic manager profile with name \"%s\" not found", profileName))); } ; __then(); } else {
definitionVersionNumber = tmProfile.profile.definitions[0].version;
return self.updateProfile(profileName, "Enabled", definitionVersionNumber, __cb(_, __frame, 11, 11, function __$enableProfile__6() {
return self.showProfile(profileName, options, __cb(_, __frame, 12, 11, __then, true)); }, true)); } ; })(_); }, true)); }); },
disableProfile: function disableProfile__7(profileName, options, _) { var self, tmProfile, definitionVersionNumber, __this = this; var __frame = { name: "disableProfile__7", line: 160 }; return __func(_, this, arguments, disableProfile__7, 2, __frame, function __$disableProfile__7() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1; return (function __$disableProfile__7(__then) {
if (!tmProfile) {
if (self.output.format().json) {
self.output.json({ }); }
else {
return _(new Error(util.format("Traffic manager profile with name \"%s\" not found", profileName))); } ; __then(); } else {
definitionVersionNumber = tmProfile.profile.definitions[0].version;
return self.updateProfile(profileName, "Disabled", definitionVersionNumber, __cb(_, __frame, 11, 11, function __$disableProfile__7() {
return self.showProfile(profileName, options, __cb(_, __frame, 12, 11, __then, true)); }, true)); } ; })(_); }, true)); }); },
getDefinition: function getDefinition__8(profileName, _) { var self, progress, tmDefinition, __this = this; var __frame = { name: "getDefinition__8", line: 176 }; return __func(_, this, arguments, getDefinition__8, 1, __frame, function __$getDefinition__8() { self = __this;
progress = self.interaction.progress(util.format($("Looking up the Traffic Manager definition \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getDefinition__8() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getDefinition__8() {
return self.trafficManagerManagementClient.definitions.get(profileName, __cb(_, __frame, 4, 73, function ___(__0, __1) { tmDefinition = __1;
return _(null, tmDefinition); }, true)); }); })(function ___(e, __result) { __catch(function __$getDefinition__8() { if (e) {
if ((e.code === "ResourceNotFound")) {
return _(null, null); } ;
return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$getDefinition__8() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$getDefinition__8() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$getDefinition__8() { _(); }); }); }); },
getProfile: function getProfile__9(profileName, _) { var self, progress, tmProfile, __this = this; var __frame = { name: "getProfile__9", line: 192 }; return __func(_, this, arguments, getProfile__9, 1, __frame, function __$getProfile__9() { self = __this;
progress = self.interaction.progress(util.format($("Looking up the Traffic Manager profile \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getProfile__9() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getProfile__9() {
return self.trafficManagerManagementClient.profiles.get(profileName, __cb(_, __frame, 4, 67, function ___(__0, __1) { tmProfile = __1;
return _(null, tmProfile); }, true)); }); })(function ___(e, __result) { __catch(function __$getProfile__9() { if (e) {
if ((e.code === "ResourceNotFound")) {
return _(null, null); } ;
return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$getProfile__9() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$getProfile__9() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$getProfile__9() { _(); }); }); }); },
updateProfile: function updateProfile__10(profileName, profileStatus, definitionVersionNumber, _) { var self, progress, __this = this; var __frame = { name: "updateProfile__10", line: 208 }; return __func(_, this, arguments, updateProfile__10, 3, __frame, function __$updateProfile__10() { self = __this;
progress = self.interaction.progress(util.format($("Updating Traffic Manager profile \"%s\""), profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$updateProfile__10() {
return self.trafficManagerManagementClient.profiles.update(profileName, profileStatus, definitionVersionNumber, __cb(_, __frame, 4, 51, function __$updateProfile__10() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$updateProfile__10() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$updateProfile__10() { _(); }); }); }); },
createEndpoint: function createEndpoint__11(profileName, domainName, endpointType, options, _) { var self, tmProfile, tmDefinition, endpoint, progress, __this = this; var __frame = { name: "createEndpoint__11", line: 221 }; return __func(_, this, arguments, createEndpoint__11, 4, __frame, function __$createEndpoint__11() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1;
if (!tmProfile) {
return _(new Error(util.format($("Traffic manager profile with name \"%s\" not found"), profileName))); } ;
return self.getDefinition(profileName, __cb(_, __frame, 7, 28, function ___(__0, __2) { tmDefinition = __2.definition;
if (utils.findFirstCaseIgnore(tmDefinition.policy.endpoints, { domainName: domainName })) {
return _(new Error(util.format($("An endpoint with name \"%s\" already exists for Traffic Manager profile \"%s\""), domainName, profileName))); } ;
endpoint = {
domainName: domainName,
status: constants.trafficManager.endpoints.statuses[0],
type: utils.verifyParamExistsInCollection(constants.trafficManager.endpoints.types, endpointType, "endpoint type") };
if (options.endpointLocation) {
endpoint.location = options.endpointLocation; } ;
if (options.endpointStatus) {
endpoint.status = utils.verifyParamExistsInCollection(constants.trafficManager.endpoints.statuses, options.endpointStatus, "--endpoint-status"); } ;
if (options.weight) {
endpoint.weight = options.weight; } ;
if (options.minChildEndpoint) {
if ((endpoint.type === constants.trafficManager.endpoints.types[0])) {
endpoint.minChildEndpoint = options.minChildEndpoint; }
else {
self.output.warn(util.format($("--min-child-endpoint will be ignored for %s endpoint type"), options.type)); } ; } ;
tmDefinition.policy.endpoints.push(endpoint);
progress = self.interaction.progress(util.format($("Creating endpoint %s for Traffic Manager profile \"%s\""), domainName, profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$createEndpoint__11() {
return self.trafficManagerManagementClient.definitions.create(profileName, tmDefinition, __cb(_, __frame, 41, 54, function __$createEndpoint__11() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$createEndpoint__11() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createEndpoint__11() {
return self.showProfile(profileName, options, __cb(_, __frame, 45, 9, function __$createEndpoint__11() { _(); }, true)); }); }); }, true)); }, true)); }); },
setEndpoint: function setEndpoint__12(profileName, domainName, options, _) { var self, tmProfile, tmDefinition, endpoint, progress, __this = this; var __frame = { name: "setEndpoint__12", line: 269 }; return __func(_, this, arguments, setEndpoint__12, 3, __frame, function __$setEndpoint__12() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __1) { tmProfile = __1;
if (!tmProfile) {
return _(new Error(util.format($("Traffic manager profile with name \"%s\" not found"), profileName))); } ;
return self.getDefinition(profileName, __cb(_, __frame, 7, 28, function ___(__0, __2) { tmDefinition = __2.definition;
endpoint = utils.findFirstCaseIgnore(tmDefinition.policy.endpoints, { domainName: domainName });
if (!endpoint) {
return _(new Error(util.format($("An endpoint with name \"%s\" not found for Traffic Manager profile \"%s\""), domainName, profileName))); } ;
if (options.endpointLocation) {
endpoint.location = options.endpointLocation; } ;
if (options.endpointStatus) {
endpoint.status = utils.verifyParamExistsInCollection(constants.trafficManager.endpoints.statuses, options.endpointStatus, "--endpoint-status"); } ;
if (options.weight) {
endpoint.weight = options.weight; } ;
if (options.type) {
endpoint.type = utils.verifyParamExistsInCollection(constants.trafficManager.endpoints.types, options.type, "endpoint type"); } ;
if (options.minChildEndpoint) {
if ((endpoint.type === constants.trafficManager.endpoints.types[0])) {
endpoint.minChildEndpoint = options.minChildEndpoint; }
else {
self.output.warn(util.format($("--min-child-endpoint will be ignored for %s endpoint type"), options.type)); } ; } ;
progress = self.interaction.progress(util.format($("Updating endpoint \"%s\" for Traffic Manager profile \"%s\""), domainName, profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$setEndpoint__12() {
return self.trafficManagerManagementClient.definitions.create(profileName, tmDefinition, __cb(_, __frame, 37, 54, function __$setEndpoint__12() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$setEndpoint__12() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$setEndpoint__12() {
return self.showProfile(profileName, options, __cb(_, __frame, 41, 9, function __$setEndpoint__12() { _(); }, true)); }); }); }, true)); }, true)); }); },
deleteEndpoint: function deleteEndpoint__13(profileName, domainName, options, _) { var self, tmProfile, tmDefinition, index, progress, __this = this; var __frame = { name: "deleteEndpoint__13", line: 313 }; return __func(_, this, arguments, deleteEndpoint__13, 3, __frame, function __$deleteEndpoint__13() { self = __this;
return self.getProfile(profileName, __cb(_, __frame, 2, 25, function ___(__0, __2) { tmProfile = __2;
if (!tmProfile) {
return _(new Error(util.format($("Traffic manager profile with name \"%s\" not found"), profileName))); } ;
return self.getDefinition(profileName, __cb(_, __frame, 7, 28, function ___(__0, __3) { tmDefinition = __3.definition;
index = utils.indexOfCaseIgnore(tmDefinition.policy.endpoints, { domainName: domainName }); return (function __$deleteEndpoint__13(__then) {
if ((index !== -1)) { return (function __$deleteEndpoint__13(_) {
var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete endpoint %s for Traffic Manager profile \"%s\"? [y/n] "), domainName, profileName), __cb(_, __frame, 10, 46, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -312, 17, function ___(__0, __4) { return (function __$deleteEndpoint__13(__then) { if (__4) { return _(null); } else { __then(); } ; })(function __$deleteEndpoint__13() {
tmDefinition.policy.endpoints.splice(index, 1); __then(); }); }, true)); } else {
return _(new Error(util.format($("An endpoint with name \"%s\" not found for Traffic Manager profile \"%s\""), domainName, profileName))); } ; })(function __$deleteEndpoint__13() {
progress = self.interaction.progress(util.format($("Deleting endpoint %s for Traffic Manager profile \"%s\""), domainName, profileName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$deleteEndpoint__13() {
return self.trafficManagerManagementClient.definitions.create(profileName, tmDefinition, __cb(_, __frame, 20, 54, function __$deleteEndpoint__13() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$deleteEndpoint__13() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$deleteEndpoint__13() { _(); }); }); }); }, true)); }, true)); }); },
_showProfile: function(profileName, tmProfile, tmDefinition) {
var self = this;
var tm = {
profile: tmProfile.profile,
definition: tmDefinition.definition };
if (tmProfile) {
self.interaction.formatOutput(tm, function(tm) {
self.output.nameValue($("Name"), tm.profile.name);
self.output.nameValue($("Domain name"), tm.profile.domainName);
self.output.nameValue($("Status"), tm.profile.status);
if (tm.definition) {
self.output.nameValue($("TTL"), tm.definition.dnsOptions.timeToLiveInSeconds);
self.output.nameValue($("Load balancing method"), tm.definition.policy.loadBalancingMethod);
self.output.nameValue($("Monitor status"), tm.definition.policy.monitorStatus);
var monitors = tm.definition.monitors;
if ((monitors.length !== 0)) {
self.output.header($("Monitors"));
self.output.table(monitors, function(row, monitor) {
row.cell($("Verb"), monitor.httpOptions.verb);
row.cell($("Protocol"), monitor.protocol);
row.cell($("Port"), monitor.port);
row.cell($("Relative path"), monitor.httpOptions.relativePath);
row.cell($("Expected status code"), monitor.httpOptions.expectedStatusCode);
row.cell($("Interval, seconds"), monitor.intervalInSeconds);
row.cell($("Timeout, seconds"), monitor.timeoutInSeconds);
row.cell($("Tolerated number of failures"), monitor.toleratedNumberOfFailures); }); } ;
var endpoints = tm.definition.policy.endpoints;
if ((endpoints.length !== 0)) {
self.output.header($("Endpoints"));
self.output.table(endpoints, function(row, ep) {
row.cell($("Domain name"), ep.domainName);
row.cell($("Location"), ep.location);
row.cell($("Status"), ep.status);
row.cell($("Type"), ep.type);
row.cell($("Monitor status"), ep.monitorStatus);
row.cell($("Weight"), ep.weight); }); } ; } ; }); }
else {
if (self.output.format().json) {
self.output.json({ }); }
else {
self.output.warn(util.format($("A Traffic Manager profile with name \"%s\" not found"), profileName)); } ; } ; },
_validateDefinitionOptions: function(options, useDefaults) {
var self = this;
if ((!options.monitorRelativePath && useDefaults)) {
throw new Error($("--monitor-relative-path parameter must be set")); } ;
if (options.ttl) {
var validatedTtl = self.endpointUtil.validateTtl(options.ttl, "--ttl");
if (validatedTtl.error) {
throw new Error(validatedTtl.error); } ; }
else if (useDefaults) {
self.output.warn(("--ttl parameter is not set. Using default TTL: " + constants.trafficManager.ttl));
options.ttl = constants.trafficManager.ttl; } ;
if (options.monitorPort) {
var validatedPort = self.endpointUtil.validatePort(options.monitorPort, "--monitor-port");
if (validatedPort.error) {
throw new Error(validatedPort.error); } ; }
else if (useDefaults) {
self.output.warn(("--monitor-port parameter is not set. Using default port: " + constants.trafficManager.port));
options.monitorPort = constants.trafficManager.ttl; } ;
if (options.monitorProtocol) {
self._validateProtocol(options.monitorProtocol); }
else if (useDefaults) {
self.output.warn(("--monitor-protocol parameter is not set. Using default protocol: " + constants.trafficManager.protocol));
options.monitorProtocol = constants.trafficManager.protocol; } ;
if (options.loadBalancingMethod) {
self._validateLoadBalancingMethod(options.loadBalancingMethod); }
else if (useDefaults) {
self.output.warn(("--load-balancing-method parameter is not set. Using default load balancing method: " + constants.trafficManager.loadBalancingMethod));
options.loadBalancingMethod = constants.trafficManager.loadBalancingMethod; } ; },
_prepareDefinition: function(options) {
var self = this;
self._validateDefinitionOptions(options, true);
return {
dnsOptions: {
timeToLiveInSeconds: options.ttl },
monitors: [{
httpOptions: {
relativePath: options.monitorRelativePath,
verb: constants.trafficManager.verb,
expectedStatusCode: constants.trafficManager.statusCode },
intervalInSeconds: constants.trafficManager.interval,
port: options.monitorPort,
protocol: options.monitorProtocol,
timeoutInSeconds: constants.trafficManager.timeout,
toleratedNumberOfFailures: constants.trafficManager.numberOfFailures },],
policy: {
endpoints: [],
loadBalancingMethod: options.loadBalancingMethod } }; },
_validateProtocol: function(protocol) {
protocol = protocol.toLowerCase();
if (!__.contains(constants.trafficManager.protocols, protocol)) {
throw new Error(util.format($("--monitor-protocol is invalid. Valid values are [%s]."), constants.trafficManager.protocols)); } ; },
_validateLoadBalancingMethod: function(loadBalancingMethod) {
loadBalancingMethod = loadBalancingMethod.toLowerCase();
if (!__.contains(constants.trafficManager.loadBalancingMethods, loadBalancingMethod)) {
throw new Error(util.format($("--load-balancing-method is invalid. Valid values are [%s]."), constants.trafficManager.loadBalancingMethods)); } ; }});
module.exports = TrafficManager;