azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
486 lines (275 loc) • 23.8 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 util = require("util");
var profile = require("../../../util/profile");
var utils = require("../../../util/utils");
var moment = require("moment");
var $ = utils.getLocaleString;
exports.getADGraphClient = function getADGraphClient(subscription) {
return utils.createGraphManagementClient(subscription);};
exports.createApplication = function exports_createApplication__1(cli, name, homePage, identifierUris, options, _) { var available, startDate, endDate, keyType, keyUsage, uris, appParams, subscription, client, application; var __frame = { name: "exports_createApplication__1", line: 28 }; return __func(_, this, arguments, exports_createApplication__1, 5, __frame, function __$exports_createApplication__1() {
if (!name) {
return _(null, cli.missingArgument("name")); } ;
if (!homePage) {
return _(null, cli.missingArgument("home-page")); } ;
if (!identifierUris) {
return _(null, cli.missingArgument("identifier-uris")); } ;
if ((options.password && options.certValue)) {
return _(new Error($("specify either --password or --cert-value, but not both."))); } ;
available = false;
if (options.available) {
if ((options.available.toLowerCase() === "true")) {
available = true; } else {
if ((options.available.toLowerCase() === "false")) {
available = false; }
else {
return _(new Error($("Invalid value for --available parameter. Please specify \"true\" for a multi-tenant application or \"false\" for a single-tenant application."))); } ; } ; } ;
startDate = (options.startDate ? new Date(Date.parse(options.startDate)) : new Date(Date.now()));
return (function ___closure(_) { var date, m; if (options.endDate) { return _(null, new Date(Date.parse(options.endDate))); } else { date = new Date(startDate); m = moment(date); m.add(1, "years"); date = new Date(m.toISOString()); return _(null, date); } ; _(); })(__cb(_, __frame, 30, 16, function ___(__0, __1) { endDate = __1;
keyType = "AsymmetricX509Cert";
keyUsage = "Verify";
uris = (identifierUris ? identifierUris.split(",") : []);
appParams = {
availableToOtherTenants: available,
displayName: name,
homepage: homePage,
identifierUris: uris };
if (options.replyUrls) {
appParams.replyUrls = options.replyUrls.split(","); } ;
if (options.password) {
appParams.passwordCredentials = [{
startDate: startDate,
endDate: endDate,
keyId: utils.uuidGen(),
value: options.password },]; } else {
if (options.certValue) {
appParams.keyCredentials = [{
startDate: startDate,
endDate: endDate,
keyId: utils.uuidGen(),
value: options.certValue,
usage: keyUsage,
type: keyType },]; } ; } ;
subscription = profile.current.getSubscription(options.subscription);
client = exports.getADGraphClient(subscription);
return exports.createApplicationWithParameters(cli, client, appParams, __cb(_, __frame, 79, 28, function ___(__0, __2) { application = __2;
return _(null, application); }, true)); }, true)); });};
exports.createApplicationWithParameters = function exports_createApplicationWithParameters__2(cli, client, appParams, _) { var application, withProgress, currentUserObject; var __frame = { name: "exports_createApplicationWithParameters__2", line: 111 }; return __func(_, this, arguments, exports_createApplicationWithParameters__2, 3, __frame, function __$exports_createApplicationWithParameters__2() {
application = null;
withProgress = cli.interaction.withProgress.bind(cli.interaction); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$exports_createApplicationWithParameters__2() {
return withProgress(util.format($("Creating application %s"), appParams.displayName), function __1(log, _) { var __frame = { name: "__1", line: 117 }; return __func(_, this, arguments, __1, 1, __frame, function __$__1() {
return client.applications.create(appParams, __cb(_, __frame, 1, 35, _, true)); }); }, __cb(_, __frame, 5, 18, function ___(__0, __3) { application = __3;
return _(null, application); }, true)); }); })(function ___(ex, __result) { __catch(function __$exports_createApplicationWithParameters__2() { if (ex) { return (function __$exports_createApplicationWithParameters__2(__then) {
if ((ex.statusCode && (ex.statusCode === 403))) {
return client.objects.getCurrentUser(__cb(_, __frame, 13, 45, function ___(__0, __2) { currentUserObject = __2;
if (((currentUserObject && currentUserObject.userType) && (currentUserObject.userType === "Guest"))) {
return _(new Error($("Creating an application is not allowed for a Guest user. Please contact your administrator to be added as a member in your tenant."))); } ; __then(); }, true)); } else { __then(); } ; })(function __$exports_createApplicationWithParameters__2() {
return _(ex); }); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$exports_createApplicationWithParameters__2() { _(); }); }); });};
exports.createApplicationCredential = function exports_createApplicationCredential__3(client, objectId, password, certValue, startDate, endDate, _) { var credential, passwordCredential, passwordCredentials, keyCredential, keyCredentials; var __frame = { name: "exports_createApplicationCredential__3", line: 133 }; return __func(_, this, arguments, exports_createApplicationCredential__3, 6, __frame, function __$exports_createApplicationCredential__3() {
startDate = (startDate ? new Date(Date.parse(startDate)) : new Date(Date.now()));
return (function ___closure(_) { var date, m; if (endDate) { return _(null, new Date(Date.parse(endDate))); } else { date = new Date(startDate); m = moment(date); m.add(1, "years"); date = new Date(m.toISOString()); return _(null, date); } ; _(); })(__cb(_, __frame, 3, 12, function ___(__0, __1) { endDate = __1;
credential = null; return (function __$exports_createApplicationCredential__3(__then) {
if (password) {
passwordCredential = {
startDate: startDate,
endDate: endDate,
keyId: utils.uuidGen(),
value: password };
return exports.getAppPasswordCredentials(client, objectId, __cb(_, __frame, 26, 38, function ___(__0, __2) { passwordCredentials = __2;
passwordCredentials.push(passwordCredential);
return client.applications.updatePasswordCredentials(objectId, passwordCredentials, __cb(_, __frame, 29, 24, function __$exports_createApplicationCredential__3() {
credential = passwordCredential; __then(); }, true)); }, true)); } else { return (function __$exports_createApplicationCredential__3(__then) {
if (certValue) {
keyCredential = {
startDate: startDate,
endDate: endDate,
keyId: utils.uuidGen(),
value: certValue,
usage: "Verify",
type: "AsymmetricX509Cert" };
return exports.getAppKeyCredentials(client, objectId, __cb(_, __frame, 43, 33, function ___(__0, __3) { keyCredentials = __3;
keyCredentials.push(keyCredential);
return client.applications.updateKeyCredentials(objectId, keyCredentials, __cb(_, __frame, 46, 24, function __$exports_createApplicationCredential__3() {
credential = keyCredential; __then(); }, true)); }, true)); } else { __then(); } ; })(__then); } ; })(function __$exports_createApplicationCredential__3() {
return _(null, credential); }); }, true)); });};
exports.getAppKeyCredentials = function exports_getAppKeyCredentials__4(client, appObjectId, _) { var __frame = { name: "exports_getAppKeyCredentials__4", line: 186 }; return __func(_, this, arguments, exports_getAppKeyCredentials__4, 2, __frame, function __$exports_getAppKeyCredentials__4() {
return client.applications.listKeyCredentials(appObjectId, __cb(_, __frame, 1, 29, _, true)); });};
exports.getAppPasswordCredentials = function exports_getAppPasswordCredentials__5(client, appObjectId, _) { var __frame = { name: "exports_getAppPasswordCredentials__5", line: 190 }; return __func(_, this, arguments, exports_getAppPasswordCredentials__5, 2, __frame, function __$exports_getAppPasswordCredentials__5() {
return client.applications.listPasswordCredentials(appObjectId, __cb(_, __frame, 1, 29, _, true)); });};
exports.getObjectId = function exports_getObjectId__6(principal, graphClient, throwIfNoOption, shouldRetrieveObjectType, objectType, _) { var objects, parameters, users, servicePrincipals; var __frame = { name: "exports_getObjectId__6", line: 194 }; return __func(_, this, arguments, exports_getObjectId__6, 5, __frame, function __$exports_getObjectId__6() { return (function __$exports_getObjectId__6(__then) {
if (principal.objectId) { return (function __$exports_getObjectId__6(__then) {
if (shouldRetrieveObjectType) {
return exports.getObjectsByObjectIds(graphClient, new Array(principal.objectId), true, __cb(_, __frame, 4, 28, function ___(__0, __1) { objects = __1;
if ((objects && (objects.length > 0))) {
objectType.value = objects[0].objectType; } ; __then(); }, true)); } else { __then(); } ; })(function __$exports_getObjectId__6() {
return _(null, principal.objectId); }); } else { __then(); } ; })(function __$exports_getObjectId__6() {
parameters = null; return (function __$exports_getObjectId__6(__then) {
if (principal.signInName) {
parameters = { filter: (("userPrincipalName eq '" + principal.signInName) + "'") };
return graphClient.users.list(parameters, __cb(_, __frame, 16, 34, function ___(__0, __2) { users = __2;
if ((users.length > 0)) {
objectType.value = "user";
return _(null, users[0].objectId); }
else {
return _(new Error($("Invalid user signInName"))); } ; __then(); }, true)); } else { __then(); } ; })(function __$exports_getObjectId__6() { return (function __$exports_getObjectId__6(__then) {
if (principal.spn) {
parameters = { filter: (("servicePrincipalNames/any(c:c eq '" + principal.spn) + "')") };
return graphClient.servicePrincipals.list(parameters, __cb(_, __frame, 27, 58, function ___(__0, __3) { servicePrincipals = __3;
if ((servicePrincipals.length > 0)) {
objectType.value = "servicePrincipal";
return _(null, servicePrincipals[0].objectId); }
else {
return _(new Error($("Invalid service principal name"))); } ; __then(); }, true)); } else { __then(); } ; })(function __$exports_getObjectId__6() {
if (throwIfNoOption) {
return _(new Error($("Failed to retrieve Active Dirctory Object Id"))); }
else {
objectType.value = "";
return _(null, ""); } ; _(); }); }); }); });};
exports.getObjectsByObjectIds = function exports_getObjectsByObjectIds__7(graphClient, objectIds, throwOnError, _) { var objects, endIndex, i, resultObject; var __frame = { name: "exports_getObjectsByObjectIds__7", line: 243 }; return __func(_, this, arguments, exports_getObjectsByObjectIds__7, 3, __frame, function __$exports_getObjectsByObjectIds__7() {
objects = [];
if (((!objectIds || !objectIds.length) || (objectIds.length === 0))) {
return _(null, objects); } ; return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$exports_getObjectsByObjectIds__7() {
i = 0; var __3 = false; return (function ___(__break) { var __more; var __loop = __cb(_, __frame, 0, 0, function __$exports_getObjectsByObjectIds__7() { __more = false; if (__3) { i += 1000; } else { __3 = true; } ; var __2 = (i < objectIds.length); if (__2) {
if ((((i + 1000)) > objectIds.Count)) {
endIndex = objectIds.length; }
else {
endIndex = (i + 1000); } ;
return graphClient.objects.getObjectsByObjectIds({ objectIds: objectIds.slice(i, endIndex), includeDirectoryObjectReferences: true }, __cb(_, __frame, 15, 41, function ___(__0, __1) { resultObject = __1;
if (resultObject) {
objects = objects.concat(resultObject); } ; while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(__then); }); })(function ___(ex, __result) { __catch(function __$exports_getObjectsByObjectIds__7() { if (ex) {
if ((throwOnError === true)) {
return _(ex); } ; __then(); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$exports_getObjectsByObjectIds__7() {
return _(null, objects); }); }); });};
exports.validateParameters = function(parameters, throwOnNoValues) {
throwOnNoValues = (((typeof throwOnNoValues !== "undefined") ? throwOnNoValues : true));
var parameterNames = Object.keys(parameters);
if ((parameterNames.length === 0)) {
return; } ;
var values = parameterNames.filter(function(p) {
return (!!parameters[p]); });
if (((values.length === 0) && throwOnNoValues)) {
throw new Error(util.format(("Please provide a value to one of the parameters '%s'"), parameterNames.join())); } ;
if ((values.length > 1)) {
throw new Error(util.format($("You can only specify value to one of '%s'"), values.join())); } ;};
exports.listGraphObjects = function exports_listGraphObjects__8(client, objectType, interaction, log, isJsonMode, _) { var operationsSuffix, response, nextLink, response2;
function displayObjects(objects) {
if ((objects.length === 0)) {
return; } ;
if (utils.ignoreCaseEquals(objectType, "user")) {
exports.displayUsers(objects, interaction, log); }
else if (utils.ignoreCaseEquals(objectType, "group")) {
exports.displayGroups(objects, interaction, log); }
else if (utils.ignoreCaseEquals(objectType, "servicePrincipal")) {
exports.displayServicePrincipals(objects, interaction, log); } ; }; var __frame = { name: "exports_listGraphObjects__8", line: 295 }; return __func(_, this, arguments, exports_listGraphObjects__8, 5, __frame, function __$exports_listGraphObjects__8() {
operationsSuffix = "s";
return client[(objectType + operationsSuffix)].list(null, __cb(_, __frame, 15, 55, function ___(__0, __1) { response = __1;
nextLink = response.odatanextLink; return (function __$exports_listGraphObjects__8(__then) {
if (isJsonMode) { return (function ___(__break) { var __more; var __loop = __cb(_, __frame, 0, 0, function __$exports_listGraphObjects__8() { __more = false;
var __5 = nextLink; if (__5) {
return client[(objectType + operationsSuffix)].listNext(nextLink, __cb(_, __frame, 19, 60, function ___(__0, __2) { response2 = __2;
response = response.concat(response2);
nextLink = response2.odatanextLink; while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$exports_listGraphObjects__8() {
displayObjects(response); __then(); }); } else {
displayObjects(response); return (function ___(__break) { var __more; var __loop = __cb(_, __frame, 0, 0, function __$exports_listGraphObjects__8() { __more = false;
var __7 = nextLink; if (__7) {
return client[(objectType + operationsSuffix)].listNext(nextLink, __cb(_, __frame, 28, 55, function ___(__0, __3) { response = __3;
nextLink = response.odatanextLink;
displayObjects(response); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(__then); } ; })(_); }, true)); });};
exports.listGroupMembers = function exports_listGroupMembers__9(client, groupId, interaction, log, isJsonMode, _) { var groupMembers, nextLink, groupMembers2; var __frame = { name: "exports_listGroupMembers__9", line: 330 }; return __func(_, this, arguments, exports_listGroupMembers__9, 5, __frame, function __$exports_listGroupMembers__9() {
return client.groups.getGroupMembers(groupId, __cb(_, __frame, 1, 35, function ___(__0, __1) { groupMembers = __1;
nextLink = groupMembers.odatanextLink; return (function __$exports_listGroupMembers__9(__then) {
if (isJsonMode) { return (function ___(__break) { var __more; var __loop = __cb(_, __frame, 0, 0, function __$exports_listGroupMembers__9() { __more = false;
var __5 = nextLink; if (__5) {
return client.groups.getGroupMembersNext(nextLink, __cb(_, __frame, 5, 40, function ___(__0, __2) { groupMembers2 = __2;
groupMembers = groupMembers.concat(groupMembers2);
nextLink = groupMembers2.odatanextLink; while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(function __$exports_listGroupMembers__9() {
exports.displayGroupMembers(groupMembers, interaction, log); __then(); }); } else {
exports.displayGroupMembers(groupMembers, interaction, log); return (function ___(__break) { var __more; var __loop = __cb(_, __frame, 0, 0, function __$exports_listGroupMembers__9() { __more = false;
var __7 = nextLink; if (__7) {
return client.groups.getGroupMembersNext(nextLink, __cb(_, __frame, 14, 35, function ___(__0, __3) { groupMembers = __3;
nextLink = groupMembers.odatanextLink;
exports.displayGroupMembers(groupMembers, interaction, log); while (__more) { __loop(); }; __more = true; }, true)); } else { __break(); } ; }); do { __loop(); } while (__more); __more = true; })(__then); } ; })(_); }, true)); });};
exports.getObjectIdFromApplicationId = function exports_getObjectIdFromApplicationId__10(client, applicationId, _) { var parameters, applications, objectId; var __frame = { name: "exports_getObjectIdFromApplicationId__10", line: 351 }; return __func(_, this, arguments, exports_getObjectIdFromApplicationId__10, 2, __frame, function __$exports_getObjectIdFromApplicationId__10() {
parameters = { filter: (("appId eq '" + applicationId) + "'") };
return client.applications.list(parameters, __cb(_, __frame, 3, 41, function ___(__0, __1) { applications = __1;
if ((applications && (applications.length > 0))) {
objectId = applications[0].objectId; } ;
return _(null, objectId); }, true)); });};
exports.displayApplications = function(applications, interaction, log) {
interaction.formatOutput(applications, function(data) {
for (var i = 0; (i < data.length); i++) {
exports.displayAApplication(data[i], log);
log.data(""); }; });};
exports.displayCredentials = function(credentials, interaction, log) {
interaction.formatOutput(credentials, function(data) {
for (var i = 0; (i < data.length); i++) {
exports.displayCredential(data[i], log);
log.data(""); }; });};
exports.displayUsers = function(users, interaction, log) {
interaction.formatOutput(users, function(data) {
for (var i = 0; (i < data.length); i++) {
exports.displayAUser(data[i], log);
log.data(""); }; });};
exports.displayGroups = function(groups, interaction, log) {
interaction.formatOutput(groups, function(data) {
for (var i = 0; (i < data.length); i++) {
exports.displayAGroup(data[i], log);
log.data(""); }; });};
exports.displayServicePrincipals = function(servicePrincipals, interaction, log) {
interaction.formatOutput(servicePrincipals, function(data) {
for (var i = 0; (i < data.length); i++) {
exports.displayAServicePrincipal(data[i], log);
log.data(""); }; });};
exports.displayAServicePrincipal = function(servicePrincipal, log, showType) {
log.data($("Object Id: "), servicePrincipal.objectId);
log.data($("Display Name: "), servicePrincipal.displayName);
log.data($("Service Principal Names:"));
servicePrincipal.servicePrincipalNames.forEach(function(name) {
log.data($(" "), name); });
if (showType) {
log.data($("Object Type: "), "ServicePrincipal"); } ;};
exports.displayAUser = function(user, log, showType) {
log.data($("Object Id: "), user.objectId);
log.data($("Principal Name: "), user.userPrincipalName);
log.data($("Display Name: "), user.displayName);
if ((user.mail || user.signInName)) {
log.data($("E-Mail: "), (user.mail || user.signInName)); } ;
if (user.mailNickname) {
log.data($("Mail Nickname: "), user.mailNickname); } ;
if (showType) {
log.data($("Object Type: "), "User"); } ;};
exports.displayAApplication = function(application, log) {
log.data($("AppId: "), application.appId);
log.data($("ObjectId: "), application.objectId);
log.data($("DisplayName: "), application.displayName);
log.data($("IdentifierUris: "), application.identifierUris);
log.data($("ReplyUrls: "), application.replyUrls);
log.data($("AvailableToOtherTenants:"), (application.availableToOtherTenants ? "True" : "False"));
if (application.homepage) {
log.data($("HomePage: "), application.homepage); } ;
if (application.appPermissions) {
log.data($("AppPermissions: "));
Object.keys(application.appPermissions).forEach(function(item) {
if (application.appPermissions[item]) {
Object.keys(application.appPermissions[item]).forEach(function(subItem) {
log.data($(((" " + subItem) + ": ")), application.appPermissions[item][subItem]); }); } ; }); } ;};
exports.displayCredential = function(credential, log) {
log.data($("StartDate: "), credential.startDate.toISOString());
log.data($("EndDate: "), credential.endDate.toISOString());
log.data($("KeyId: "), credential.keyId);
log.data($("Type: "), (credential.type ? credential.type : "Password"));};
exports.displayGroupMembers = function(members, interaction, log) {
interaction.formatOutput(members, function(data) {
for (var i = 0; (i < data.length); i++) {
if ((data[i].objectType === "User")) {
exports.displayAUser(data[i], log, true); }
else if ((data[i].objectType === "Group")) {
exports.displayAGroup(data[i], log, true); }
else {
log.warn(("an unexpected object type:" + data[i].objectType)); } ;
log.data(""); }; });};
exports.displayAGroup = function(group, log, showType) {
log.data($("Display Name: "), group.displayName);
log.data($("ObjectId: "), group.objectId);
log.data($("Security Enabled: "), group.securityEnabled);
log.data($("Mail Enabled: "), (group.mailEnabled || "false"));
if (showType) {
log.data($("Object Type: "), "Group"); } ;};