UNPKG

azure-cli

Version:

Microsoft Azure Cross Platform Command Line tool

207 lines (105 loc) 9.1 kB
/*** 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; var util = require("util"); var profile = require("../../../util/profile"); var providerUtils = require("./providerUtils"); var utils = require("../../../util/utils"); var $ = utils.getLocaleString; exports.init = function(cli) { var log = cli.output; var withProgress = cli.interaction.withProgress.bind(cli.interaction); var provider = cli.category("provider").description($("Commands to manage resource provider registrations")); provider.command("list").description($("List currently registered providers in ARM")).option("-s --subscription <subscription>", $("Subscription to list providers for")).option("--details", $("shows full list of resource type and locations.")).execute(withClient(function __1(client, options, _) { var providers, listLength; var __frame = { name: "__1", line: 38 }; return __func(_, this, arguments, __1, 2, __frame, function __$__1() { return withProgress($("Getting ARM registered providers"), function __1(log, _) { var __frame = { name: "__1", line: 41 }; return __func(_, this, arguments, __1, 1, __frame, function __$__1() { return providerUtils.getAllProviders(client, __cb(_, __frame, 1, 36, function ___(__0, __1) { providers = __1; _(); }, true)); }); }, __cb(_, __frame, 2, 6, function __$__1() { listLength = (options.details ? "all" : 4); cli.interaction.formatOutput(providers, function(providerList) { if ((providerList.length === 0)) { log.info($("No providers defined")); } else { providerList.forEach(function(provider) { var resourceProvider = getProviderDetails(providers, provider.namespace); if (resourceProvider) { log.data(""); log.data($("ProviderNamespace : "), resourceProvider.registeredProvider.namespace); log.data($("RegistrationState : "), resourceProvider.registeredProvider.registrationState); log.data($("ResourceTypes : "), showList(resourceProvider.ResourceTypes, listLength)); log.data($("Locations : "), showList(resourceProvider.Locations, listLength)); } ; }); } ; }); _(); }, true)); }); })); provider.command("show [namespace]").description($("Show details about the requested provider namespace")).usage("[options] <namespace>").option("--details", $("show details such as alias definitions, etc.")).option("-n --namespace <namespace>", $("the provider namespace to show")).option("-s --subscription <subscription", $("subscription to show provider for")).execute(withClient(function __2(client, namespace, options, _) { var provider; var __frame = { name: "__2", line: 70 }; return __func(_, this, arguments, __2, 3, __frame, function __$__2() { return withProgress($("Getting provider information"), function __1(log, _) { var __frame = { name: "__1", line: 72 }; return __func(_, this, arguments, __1, 1, __frame, function __$__1() { return client.providers.get(namespace, { expand: "resourceTypes/aliases" }, __cb(_, __frame, 1, 32, _, true)); }); }, __cb(_, __frame, 1, 21, function ___(__0, __2) { provider = __2; cli.interaction.formatOutput(provider, function(data) { if (!data) { log.info($("No provider information available")); } else { log.data($("Namespace:"), data.namespace); log.data($("Registration state:"), data.registrationState); log.data($("Resource types:")); if ((data.resourceTypes && (data.resourceTypes.length > 0))) { log.data(""); for (var i = 0; (i < data.resourceTypes.length); i++) { var resourceType = data.resourceTypes[i]; log.data($("ProviderNamespace : "), data.namespace); log.data($("RegistrationState : "), data.registrationState); log.data($("ResourceTypes : "), resourceType.resourceType); log.data($("Locations : "), showList(resourceType.locations, "all")); log.data($("Aliases : ")); if ((resourceType.aliases && (resourceType.aliases.length > 0))) { for (var j = 0; (j < resourceType.aliases.length); j++) { var alias = resourceType.aliases[j]; if (options.details) { log.data($(" Name:"), alias.name); log.data($(" Paths:")); if ((alias.paths && (alias.paths.length > 0))) { for (var k = 0; (k < alias.paths.length); k++) { var path = alias.paths[k]; log.data($(" Path:"), path.path); log.data($(" Api versions:"), path.apiVersions.join(", ")); }; } ; } else { log.data($(" "), alias.name); } ; }; } ; log.data(""); }; } ; } ; }); _(); }, true)); }); })); provider.command("register [namespace]").description($("Register namespace provider with the subscription")).usage("[options] <namespace>").option("-n --namespace <namespace>", $("the provider namespace to register")).option("-s --subscription <subscription>", $("Subscription to register")).execute(function __3(namespace, options, _) { var subscription; var __frame = { name: "__3", line: 126 }; return __func(_, this, arguments, __3, 2, __frame, function __$__3() { if (!namespace) { return _(null, cli.missingArgument("namespace")); } ; subscription = profile.current.getSubscription(options.subscription); return withProgress(util.format($("Registering provider %s with subscription %s"), namespace, subscription.id), function __1(log, _) { var __frame = { name: "__1", line: 133 }; return __func(_, this, arguments, __1, 1, __frame, function __$__1() { return subscription.registerArmProvider(namespace, true, __cb(_, __frame, 1, 23, function __$__1() { _(); }, true)); }); }, __cb(_, __frame, 6, 6, function __$__3() { _(); }, true)); }); }); provider.command("unregister [namespace]").description($("Un-register namespace provider with the subscription")).usage("[options] <namespace>").option("-n --namespace <namespace>", $("the provider namespace to register")).option("-s --subscription <subscription>", $("Subscription to register")).execute(function __4(namespace, options, _) { var subscription; var __frame = { name: "__4", line: 143 }; return __func(_, this, arguments, __4, 2, __frame, function __$__4() { if (!namespace) { return _(null, cli.missingArgument("namespace")); } ; subscription = profile.current.getSubscription(options.subscription); return withProgress(util.format($("Un-registering provider %s with subscription %s"), namespace, subscription.id), function __1(log, _) { var __frame = { name: "__1", line: 150 }; return __func(_, this, arguments, __1, 1, __frame, function __$__1() { return subscription.unRegisterArmProvider(namespace, __cb(_, __frame, 1, 23, function __$__1() { _(); }, true)); }); }, __cb(_, __frame, 6, 6, function __$__4() { _(); }, true)); }); });}; function withClient(wrappedFunction) { return function() { var args = Array.prototype.slice.call(arguments, 0); var options = args[(args.length - 2)]; var subscription = profile.current.getSubscription(options.subscription); var client = utils.createResourceClient(subscription); return wrappedFunction.apply(this, [client,].concat(args)); };}; function getProviderDetails(providers, namespace) { var registeredProvider = providers.filter(function(provider) { return (((provider.namespace === namespace) && (provider.registrationState === "Registered"))); }); if ((registeredProvider.length === 0)) { return null; } else { registeredProvider = registeredProvider[0]; var resourceTypes = registeredProvider.resourceTypes.map(function(resourceType) { return resourceType.resourceType; }); var locations = registeredProvider.resourceTypes.map(function(resourceType) { return resourceType.locations; }); locations = getAllUniqueLocations(locations); return { ResourceTypes: resourceTypes, Locations: locations, registeredProvider: registeredProvider }; } ;}; function getAllUniqueLocations(locations) { return locations.reduce(function(a, b) { return a.concat(b); }, []).reduce(function(a, b) { if ((a.indexOf(b) < 0)) { a.push(b); } ; return a; }, []);}; function showList(providerArr, numToShow) { var smallerList = ((numToShow === "all") ? providerArr.join(", ") : providerArr.slice(0, numToShow).join(", ")); var ellipse = ((((providerArr.length > 4) && (numToShow !== "all"))) ? "..." : ""); return (smallerList + ellipse);};