@codiac.io/codiac-cli 1.3.105 → 1.3.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +7 -0
  3. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
  4. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +4 -0
  5. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
  6. package/dist/apis/codiac-api-nats/gen/contracts.ng.d.ts +1 -0
  7. package/dist/apis/codiac-api-nats/gen/contracts.ng.js.map +1 -1
  8. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +14 -1
  9. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
  10. package/dist/codiac-entities/cluster-capture-def.d.ts +2 -0
  11. package/dist/commands/asset/deploy.js +2 -2
  12. package/dist/commands/asset/deploy.js.map +1 -1
  13. package/dist/commands/csp/login.d.ts +1 -0
  14. package/dist/commands/csp/login.js +32 -11
  15. package/dist/commands/csp/login.js.map +1 -1
  16. package/dist/commands/filestore/capture.js +2 -2
  17. package/dist/commands/filestore/capture.js.map +1 -1
  18. package/dist/commands/imageRegistry/pullSecret/set.js +8 -2
  19. package/dist/commands/imageRegistry/pullSecret/set.js.map +1 -1
  20. package/dist/commands/noc/cluster/capture.d.ts +1 -0
  21. package/dist/commands/noc/cluster/capture.js +6 -2
  22. package/dist/commands/noc/cluster/capture.js.map +1 -1
  23. package/dist/commands/noc/cluster/create.js +1 -1
  24. package/dist/commands/noc/cluster/create.js.map +1 -1
  25. package/dist/commands/noc/cluster/recreate.js +2 -2
  26. package/dist/commands/noc/cluster/recreate.js.map +1 -1
  27. package/dist/relay/relay-container.js +1 -1
  28. package/dist/sdk/i-cluster-configurator.d.ts +3 -2
  29. package/dist/sdk/i-csp-account-filter.d.ts +6 -0
  30. package/dist/sdk/i-csp-account-filter.js +3 -0
  31. package/dist/sdk/i-csp-account-filter.js.map +1 -0
  32. package/dist/sdk/i-login-configurator.d.ts +1 -0
  33. package/dist/sdk/index.d.ts +1 -0
  34. package/dist/sdk/index.js +1 -0
  35. package/dist/sdk/index.js.map +1 -1
  36. package/dist/sdk-adapters/azure/az-interactive-login-configurator.js +11 -2
  37. package/dist/sdk-adapters/azure/az-interactive-login-configurator.js.map +1 -1
  38. package/dist/sdk-adapters/azure/azure-resource-configurator.d.ts +3 -2
  39. package/dist/sdk-adapters/azure/azure-resource-configurator.js +12 -12
  40. package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -1
  41. package/dist/sdk-adapters/shared/resource-configurator-base.d.ts +1 -1
  42. package/dist/uilogic/cloud-provider-contextualizer.d.ts +15 -2
  43. package/dist/uilogic/cloud-provider-contextualizer.js +144 -12
  44. package/dist/uilogic/cloud-provider-contextualizer.js.map +1 -1
  45. package/dist/uilogic/rootmap-ui-utils.d.ts +1 -1
  46. package/dist/uilogic/rootmap-ui-utils.js +12 -4
  47. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  48. package/oclif.manifest.json +17 -2
  49. package/package.json +1 -1
@@ -168,10 +168,10 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
168
168
  userAndSubx(user) {
169
169
  return (user.subscriptionId) ? user.username.concat(" (", user.subscriptionId, ")") : user.username;
170
170
  }
171
- selectCachedUser(providerSubscriptionId) {
171
+ selectCachedUser(providerSubscriptionId, cspTenantId) {
172
172
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
173
173
  try {
174
- const loginResult = yield this.genRelayClient.Call.get_current_users_for({ providerCode: this.cloudProvider, providerSubscriptionId: providerSubscriptionId });
174
+ const loginResult = yield this.genRelayClient.Call.get_current_users_for({ providerCode: this.cloudProvider, providerSubscriptionId: providerSubscriptionId, providerTenantId: cspTenantId });
175
175
  if (loginResult.error)
176
176
  throw loginResult.error;
177
177
  if ((loginResult.output == undefined) || loginResult.output.length == 0)
@@ -212,7 +212,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
212
212
  let registry;
213
213
  const azUser = yield this.selectCachedUser();
214
214
  // Select subscription from the ones the user has access to
215
- let subxId = yield this.promptForSubscriptionId(azUser.username);
215
+ let subxId = yield this.promptForSubscriptionId(azUser);
216
216
  // Select a container registry
217
217
  this._ui.startSpinner(`Fetching Azure container registries `);
218
218
  let regResult = yield this.genRelayClient.Call.getAzureAcrs({ subscriptionId: subxId });
@@ -253,7 +253,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
253
253
  var _a, _b;
254
254
  let output;
255
255
  try {
256
- let subxResult = yield this.genRelayClient.Call.getAzureSubscriptions({ azUser: azUser });
256
+ let subxResult = yield this.genRelayClient.Call.getAzureSubscriptions({ subscriptionId: azUser.subscriptionId, tenantId: azUser.cspTenantId });
257
257
  if (subxResult.error) {
258
258
  this.logger.warn(`Error retrieving subscriptions: ${(_a = subxResult.error.message) !== null && _a !== void 0 ? _a : subxResult.message}`);
259
259
  }
@@ -269,7 +269,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
269
269
  else {
270
270
  let choices = [];
271
271
  if (subs.length > 0) {
272
- choices = subs.filter(s => s.user.name === azUser)
272
+ choices = subs.filter(s => s.user.name === azUser.username)
273
273
  .map(s => { return { name: `${s.name} (...${s.id.substring(s.id.length - 4)})`, value: s.id }; });
274
274
  // choices = _.orderBy(choices, c => c.name);
275
275
  if (choices.length > 0) {
@@ -304,7 +304,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
304
304
  * ***********************************************************************************/
305
305
  // For info on accessing the Azure Resource Manager REST api,
306
306
  // see: https://docs.microsoft.com/en-us/rest/api/azure/#create-the-request
307
- defineCluster(initial, defaults) {
307
+ defineCluster(initial, defaults, cspTenantId) {
308
308
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
309
309
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
310
310
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -331,10 +331,10 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
331
331
  }
332
332
  }
333
333
  workingModel.name = (yield this._ui.prompt("name", "Cluster Name: ", true, (_d = workingModel.name) !== null && _d !== void 0 ? _d : initial === null || initial === void 0 ? void 0 : initial.name, this.azServiceNameValidator));
334
- const azUser = yield this.selectCachedUser(initial.providerSubscription);
334
+ const azUser = yield this.selectCachedUser(initial.providerSubscription, cspTenantId);
335
335
  // Select subscription from the ones the user has access to
336
336
  // TODO: ask to change before prompting the list
337
- workingModel.providerSubscription = yield this.promptForSubscriptionId(azUser.username, initial === null || initial === void 0 ? void 0 : initial.providerSubscription);
337
+ workingModel.providerSubscription = yield this.promptForSubscriptionId(azUser, initial === null || initial === void 0 ? void 0 : initial.providerSubscription);
338
338
  // cluster.locationName = (await this._ui.prompt("locationName", "Location: ", true, defaults?.locationName))!;
339
339
  workingModel.locationName = (yield this.promptForLocation(workingModel.providerSubscription, initial === null || initial === void 0 ? void 0 : initial.locationName));
340
340
  workingModel.providerGroup = yield this.promptForResourceGroup(workingModel.providerSubscription, workingModel.locationName, ((_e = initial === null || initial === void 0 ? void 0 : initial.providerGroup) !== null && _e !== void 0 ? _e : ((_f = workingModel.name) !== null && _f !== void 0 ? _f : initial === null || initial === void 0 ? void 0 : initial.name)) ? `${(_g = workingModel.name) !== null && _g !== void 0 ? _g : initial === null || initial === void 0 ? void 0 : initial.name}-rg` : undefined);
@@ -475,7 +475,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
475
475
  return output;
476
476
  });
477
477
  }
478
- defineClusterCaptureParams(initial, rootMap, defaults) {
478
+ defineClusterCaptureParams(initial, rootMap, defaults, cspTenantId, cspUser) {
479
479
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
480
480
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
481
481
  var _a, _b, _c, _d, _e;
@@ -501,10 +501,10 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
501
501
  initial = _.assignWith({}, defaults, initial, assignment);
502
502
  }
503
503
  }
504
- const azUser = yield this.selectCachedUser(initial.providerSubscription);
504
+ const azUser = cspUser !== null && cspUser !== void 0 ? cspUser : yield this.selectCachedUser(initial.providerSubscription, cspTenantId);
505
505
  // Select subscription from the ones the user has access to
506
506
  // TODO: ask to change before prompting the list
507
- workingModel.providerSubscription = yield this.promptForSubscriptionId(azUser.username, initial === null || initial === void 0 ? void 0 : initial.providerSubscription);
507
+ workingModel.providerSubscription = yield this.promptForSubscriptionId(azUser, initial === null || initial === void 0 ? void 0 : initial.providerSubscription);
508
508
  // workingModel.locationName = (await this.promptForLocation(workingModel.providerSubscription, initial?.locationName))!;
509
509
  // workingModel.providerGroup = await this.promptForResourceGroup(workingModel.providerSubscription, workingModel.locationName, initial?.providerGroup ?? (workingModel.name ?? initial?.name) ? `${workingModel.name ?? initial?.name}-rg` : undefined);
510
510
  let cluster = yield this.promptForExistingCluster(workingModel.providerSubscription, rootMap.clusters, initial.name);
@@ -934,7 +934,7 @@ let AzureResourceConfigurator = class AzureResourceConfigurator {
934
934
  const azUser = yield this.selectCachedUser(defaults === null || defaults === void 0 ? void 0 : defaults.subscriptionId);
935
935
  if (!azUser)
936
936
  throw new Error(`Cannot capture any ${this.cloudProvider} secret store: No ${this.cloudProvider} account has been authenticated.`);
937
- let subxId = yield this.promptForSubscriptionId(azUser.username, defaults === null || defaults === void 0 ? void 0 : defaults.subscriptionId);
937
+ let subxId = yield this.promptForSubscriptionId(azUser, defaults === null || defaults === void 0 ? void 0 : defaults.subscriptionId);
938
938
  let crit = { subscriptionId: subxId };
939
939
  // let fetchResult = await storeProv.list(crit);
940
940
  // let otherResult = await this.relayClient.getStorageAccounts(this.cloudProvider, defaults?.subscriptionId ?? "");
@@ -1 +1 @@
1
- {"version":3,"file":"azure-resource-configurator.js","sourceRoot":"","sources":["../../../src/sdk-adapters/azure/azure-resource-configurator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure-resource-configurator.js","sourceRoot":"","sources":["../../../src/sdk-adapters/azure/azure-resource-configurator.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare abstract class ResourceConfiguratorBase implements IClusterConfig
13
13
  protected logger: IBetterLogger;
14
14
  constructor(codiacUser: UserNameTenantCode, genRelayClient: GenRelayClient, _ui: IUserInputProvider, _styler: IOutputStyler, logger: IBetterLogger);
15
15
  abstract get cloudProvider(): CloudProviderEnum;
16
- abstract defineCluster(workingModel: Partial<ClusterDef>, defaults?: Partial<ClusterDef> | undefined): Promise<{
16
+ abstract defineCluster(workingModel: Partial<ClusterDef>, defaults?: Partial<ClusterDef> | undefined, cspTenantId?: string): Promise<{
17
17
  spec: ClusterDef;
18
18
  defaults: Partial<ClusterDef>;
19
19
  }>;
@@ -1,8 +1,13 @@
1
1
  import { interfaces } from "inversify";
2
+ import { IBetterLogger } from "@codiac.io/codiac-common";
3
+ import { AtLeast } from "@codiac.io/codiac-common/contracts";
2
4
  import { LoginConfiguratorFactory } from "./cloud-resource-configurator-factory";
3
5
  import { RelayClient } from "../apis/codiac-relay";
4
6
  import { CloudProviderEnum, CspPrimaryCredsMeta, LogintoCloudProviderRequest } from "../apis/codiac-relay/contracts";
7
+ import { ICspAccountFilter } from "../sdk";
5
8
  import { IOutputStyler, IUserInputProvider } from "../ops";
9
+ import { ICodiacClient } from "../apis/codiac-api/i-client";
10
+ import { CspTenantProfile } from "../apis/codiac-api-nats";
6
11
  /** Prompts the user for a cloud resource provider,
7
12
  * their credentials there, attempts a login,
8
13
  * and then persists the credentials into the keyring under that tenant and provider.
@@ -15,7 +20,8 @@ export declare class CloudProviderContextualizer {
15
20
  private loginUiFactory;
16
21
  private _ui;
17
22
  private _styler;
18
- constructor(relayClient: RelayClient, loginUiFactory: LoginConfiguratorFactory, _ui: IUserInputProvider, _styler: IOutputStyler);
23
+ private logger;
24
+ constructor(relayClient: RelayClient, loginUiFactory: LoginConfiguratorFactory, _ui: IUserInputProvider, _styler: IOutputStyler, logger: IBetterLogger);
19
25
  takeDefaults: boolean;
20
26
  private static isBootstrapped;
21
27
  static bootstrap(ioc: interfaces.Container): void;
@@ -29,6 +35,13 @@ export declare class CloudProviderContextualizer {
29
35
  * @param defaultSubxId Renders when user.subscriptionId is undefined.
30
36
  * */
31
37
  private userAndSubx;
38
+ /** Simple filter based on existence of filter values. This method is just for reability. */
39
+ private isCspAccountMatch;
40
+ /** Acquires the relevant cspTenantProfile (if Cloud Provider supports it),
41
+ * forcing the user to select one if the user's organization in Codiac (aka: Codiac tenant) has more than one declared.
42
+ */
43
+ ensureCspTenant(providerCode: CloudProviderEnum, codiacApi: ICodiacClient, currentTenantId?: string | ICspAccountFilter, throwNotFound?: boolean): Promise<CspTenantProfile | undefined>;
44
+ ensureCspTenantContext(codiacApi: ICodiacClient, provider: CloudProviderEnum, argsSubxId?: string, argsTenantId?: string, argsSilent?: boolean): Promise<AtLeast<ICspAccountFilter, "tenantId">>;
32
45
  /** Enables the user to enter, use existing, or change the credentials for the given cloud service provider.
33
46
  *
34
47
  * Throws on authentication failure of cached creds,
@@ -42,7 +55,7 @@ export declare class CloudProviderContextualizer {
42
55
  * @param providerSecret TODO: Remove this argument and rely on relay state (via separate login step).
43
56
  * @param proprietaryInput Input specific to the selected cloud provider. (eg: Aws session token).
44
57
  */
45
- promptForCloudProviderCreds(ioc: interfaces.Container, providerCode: CloudProviderEnum, suppressConfirmations?: boolean, providerUserName?: string, providerSecret?: string, reqSubscriptionId?: string, proprietaryInput?: {
58
+ promptForCloudProviderCreds(ioc: interfaces.Container, providerCode: CloudProviderEnum, suppressConfirmations?: boolean, providerUserName?: string, providerSecret?: string, reqSubscriptionId?: string | ICspAccountFilter, proprietaryInput?: {
46
59
  [property: string]: any;
47
60
  } | undefined): Promise<CspPrimaryCredsMeta>;
48
61
  /** Used when cloud service provider has special proprietary input
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.CloudProviderContextualizer = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const inversify_1 = require("inversify");
7
+ const codiac_common_1 = require("@codiac.io/codiac-common");
7
8
  const contracts_1 = require("@codiac.io/codiac-common/contracts");
8
9
  const cloud_resource_configurator_factory_1 = require("./cloud-resource-configurator-factory");
9
10
  const codiac_relay_1 = require("../apis/codiac-relay");
10
11
  const contracts_2 = require("../apis/codiac-relay/contracts");
11
12
  const sdk_1 = require("../sdk");
12
13
  const ops_1 = require("../ops");
14
+ const _ = require("lodash");
13
15
  /** Prompts the user for a cloud resource provider,
14
16
  * their credentials there, attempts a login,
15
17
  * and then persists the credentials into the keyring under that tenant and provider.
@@ -18,11 +20,12 @@ const ops_1 = require("../ops");
18
20
  * for the given provider if they are already authenticated.
19
21
  */
20
22
  let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudProviderContextualizer {
21
- constructor(relayClient, loginUiFactory, _ui, _styler) {
23
+ constructor(relayClient, loginUiFactory, _ui, _styler, logger) {
22
24
  this.relayClient = relayClient;
23
25
  this.loginUiFactory = loginUiFactory;
24
26
  this._ui = _ui;
25
27
  this._styler = _styler;
28
+ this.logger = logger;
26
29
  this.takeDefaults = false;
27
30
  }
28
31
  static bootstrap(ioc) {
@@ -80,6 +83,120 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
80
83
  let userString = (hilite) ? this._styler.hilite(user.username) : user.username;
81
84
  return ((_a = user.subscriptionId) !== null && _a !== void 0 ? _a : defaultSubxId) ? userString.concat(" (", user.provider == contracts_2.CloudProviderEnum.aws ? "Acct:" : "Subx:", (_c = (_b = user.subscriptionId) !== null && _b !== void 0 ? _b : defaultSubxId) !== null && _c !== void 0 ? _c : "", ")") : userString;
82
85
  }
86
+ /** Simple filter based on existence of filter values. This method is just for reability. */
87
+ isCspAccountMatch(cspTenantProfile, cspAcct, noFiltersResult = true) {
88
+ var _a, _b;
89
+ if ((((cspAcct === null || cspAcct === void 0 ? void 0 : cspAcct.tenantId) == undefined) || _.isEmpty(cspAcct.tenantId)) && ((cspAcct.subscriptionId == undefined) || _.isEmpty(cspAcct.subscriptionId))) {
90
+ return noFiltersResult;
91
+ }
92
+ else {
93
+ let isMatch = ((cspAcct === null || cspAcct === void 0 ? void 0 : cspAcct.tenantId) == undefined)
94
+ || _.isEmpty(cspAcct.tenantId)
95
+ || (cspTenantProfile.cspTenantId == cspAcct.tenantId.trim());
96
+ isMatch = isMatch && ((cspAcct.subscriptionId == undefined)
97
+ || _.isEmpty(cspAcct.subscriptionId)
98
+ || ((_b = (_a = cspTenantProfile.subscriptionIds) === null || _a === void 0 ? void 0 : _a.includes(cspAcct.subscriptionId.trim())) !== null && _b !== void 0 ? _b : false));
99
+ return isMatch;
100
+ }
101
+ }
102
+ /** Acquires the relevant cspTenantProfile (if Cloud Provider supports it),
103
+ * forcing the user to select one if the user's organization in Codiac (aka: Codiac tenant) has more than one declared.
104
+ */
105
+ ensureCspTenant(providerCode, codiacApi, currentTenantId, throwNotFound = false) {
106
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
107
+ try {
108
+ let ultimate;
109
+ // TODO: break this out into ILoginConfigurator classes (inelegant for now, but it's only Azure that does this at the moment...)
110
+ if (providerCode == contracts_2.CloudProviderEnum.azure) {
111
+ let cspAcct = {};
112
+ if ((currentTenantId != undefined)) {
113
+ cspAcct = (typeof currentTenantId == 'string') ? { tenantId: (_.isEmpty(currentTenantId.trim())) ? undefined : currentTenantId } : currentTenantId;
114
+ }
115
+ const profiles = yield codiacApi.CspTenantProfile.readMany({ provider: providerCode }, { throwNotFound: false });
116
+ if (profiles.length <= 0) {
117
+ throw new Error("You have not declared a Cloud Service Provider profile for your organization (which registers Codiac with your Azure tenant so that you can grant it access to perform work on your Azure resources). Please contact your administrator to set this up.");
118
+ }
119
+ else {
120
+ let invalidTenant = false;
121
+ let found;
122
+ // Caller specified a CspTenant, so validate/retrieve it
123
+ if (((cspAcct === null || cspAcct === void 0 ? void 0 : cspAcct.tenantId) != undefined && !_.isEmpty(cspAcct.tenantId)) || ((cspAcct === null || cspAcct === void 0 ? void 0 : cspAcct.subscriptionId) != undefined && !_.isEmpty(cspAcct.subscriptionId))) {
124
+ found = profiles.find(p => this.isCspAccountMatch(p, cspAcct));
125
+ if (found) {
126
+ ultimate = found;
127
+ }
128
+ else {
129
+ invalidTenant = true;
130
+ if (throwNotFound == true) {
131
+ throw new Error(`No ${providerCode} tenant profile was found for the given tenantId/subscriptionId combination.`);
132
+ }
133
+ else {
134
+ this.logger.detail(`No ${providerCode} tenant profile was found matching the given tenantId/subscriptionId combination; user will be prompted for an existing one.`);
135
+ }
136
+ }
137
+ }
138
+ if (ultimate == undefined) {
139
+ // if (silentMode && profiles.length > 0) {
140
+ // throw new Error("You have registered more than one csp tenant profile under which to authenticate, so you must specify one by providing either tenantId or subscriptionId with that provider in the request.");
141
+ // }
142
+ if (profiles.length == 1 && !invalidTenant) { // <-- Dont auto-override invalid input; we have to prompt user to change their input
143
+ ultimate = profiles[0];
144
+ this._ui.userMessage("Using ".concat(providerCode, " tenant: ", ultimate.cspTenantId));
145
+ }
146
+ else {
147
+ const choices = profiles.map(p => { return { name: "TenantId: ".concat(p.cspTenantId), value: p.cspTenantId }; });
148
+ const selected = (yield this._ui.promptSelect("cspTenantId", providerCode.concat(" Tenant Id: "), choices));
149
+ ultimate = profiles.find(p => p.cspTenantId == selected);
150
+ }
151
+ }
152
+ }
153
+ }
154
+ return ultimate;
155
+ }
156
+ catch (err) {
157
+ throw err;
158
+ }
159
+ });
160
+ }
161
+ ensureCspTenantContext(codiacApi, provider, argsSubxId, argsTenantId, argsSilent = false) {
162
+ var _a, _b;
163
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
164
+ try {
165
+ let output = {};
166
+ // CSP TENANT PROFILE
167
+ // TODO: make this generic enough for a passthru on other csps
168
+ if (argsSubxId != undefined && !_.isEmpty(argsSubxId.trim())) {
169
+ output.subscriptionId = argsSubxId.trim();
170
+ }
171
+ if (argsTenantId != undefined && !_.isEmpty(argsTenantId.trim())) {
172
+ output.tenantId = argsTenantId.trim();
173
+ }
174
+ if (provider == contracts_2.CloudProviderEnum.azure) {
175
+ if (argsSilent == true) {
176
+ // ensureCspTenant() prompt the user as needed - dont want or need that in silent mode.
177
+ }
178
+ else {
179
+ const cspTenant = yield this.ensureCspTenant(provider, codiacApi, output, false);
180
+ output.tenantId = cspTenant === null || cspTenant === void 0 ? void 0 : cspTenant.cspTenantId;
181
+ // Remove invalid subscriptionId (aka: if its not in the cspTenantProfile)
182
+ if (cspTenant && argsSubxId != undefined && !_.isEmpty(argsSubxId.trim())) {
183
+ if (((_b = (_a = cspTenant.subscriptionIds) === null || _a === void 0 ? void 0 : _a.includes(argsSubxId.trim())) !== null && _b !== void 0 ? _b : false) != true) {
184
+ delete output.subscriptionId;
185
+ // This ^ is consistent, but THIS MAY NOT BE BACKWARD COMPATIBLE!!!!
186
+ // It requires all csp tenant profiles to stay up to date with EVERY subscriptionId.
187
+ // Warn for now but activate ^ this line above when this feature is solid.
188
+ // this.logger.warn("Selected CspTenant profile does NOT contain the given subscriptionId: ".concat(argsSubxId));
189
+ }
190
+ }
191
+ }
192
+ }
193
+ return output;
194
+ }
195
+ catch (err) {
196
+ throw err;
197
+ }
198
+ });
199
+ }
83
200
  /** Enables the user to enter, use existing, or change the credentials for the given cloud service provider.
84
201
  *
85
202
  * Throws on authentication failure of cached creds,
@@ -96,10 +213,19 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
96
213
  promptForCloudProviderCreds(ioc, providerCode, suppressConfirmations, providerUserName, providerSecret, reqSubscriptionId, proprietaryInput) {
97
214
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
98
215
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
99
- var _a, _b, _c, _d, _e, _f;
216
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
100
217
  let output;
101
218
  try {
102
219
  // let regUser = await this.relayClient.getCurrentUserFor(providerCode);
220
+ let cspAcct = {};
221
+ if (reqSubscriptionId) {
222
+ if (typeof reqSubscriptionId == 'string') {
223
+ cspAcct.subscriptionId = reqSubscriptionId;
224
+ }
225
+ else {
226
+ cspAcct = reqSubscriptionId;
227
+ }
228
+ }
103
229
  let cachedCred;
104
230
  // if (providerSubscriptionId) {
105
231
  // let userResults = await this.RelayClient.Call.get_current_users_for({ providerCode: providerCode, providerSubscriptionId: providerSubscriptionId });
@@ -108,7 +234,7 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
108
234
  // } else {
109
235
  let userResults = new contracts_1.ListResult(false);
110
236
  if ((providerUserName == undefined || providerUserName.trim() == "") && (providerSecret == undefined || providerSecret.trim() == "")) { // Skip existing creds if they gave us a username and password
111
- userResults = yield this.relayClient.Call.get_current_users_for({ providerCode: providerCode, providerSubscriptionId: reqSubscriptionId });
237
+ userResults = yield this.relayClient.Call.get_current_users_for({ providerCode: providerCode, providerSubscriptionId: cspAcct.subscriptionId, providerTenantId: cspAcct.tenantId });
112
238
  if (userResults.error)
113
239
  throw userResults.error;
114
240
  }
@@ -122,7 +248,7 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
122
248
  // let prompt = `Continue in ${this._styler.hilite(providerCode)} as [${this.userAndSubx(cachedCred, reqSubscriptionId, true)}]?`;
123
249
  // keep = await this._ui.promptConfirm("reauth", prompt.concat(` (hit "n" to change)`));
124
250
  // } else if (keep == true) {
125
- this._ui.userMessage("Continuing in ".concat(this._styler.hilite(providerCode), " as [", this.userAndSubx(cachedCred, reqSubscriptionId, true), "]"));
251
+ this._ui.userMessage("Continuing in ".concat(this._styler.hilite(providerCode), " as [", this.userAndSubx(cachedCred, cspAcct.subscriptionId, true), "]"));
126
252
  keep = true;
127
253
  // }
128
254
  }
@@ -145,7 +271,7 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
145
271
  if (cachedCred && keep === true) {
146
272
  this._ui.startSpinner(`Authenticating with ${providerCode}...`);
147
273
  try {
148
- const loginResult = yield this.relayClient.Call.csp_login({ providerCode: providerCode, providerSubscription: cachedCred.subscriptionId }); // We already have creds, but let's validate with the service anyway (az cli is the only one who needs this bc it runs off a machine-user state and has to set the state on the local machine).
274
+ const loginResult = yield this.relayClient.Call.csp_login({ providerCode: providerCode, providerSubscription: cachedCred.subscriptionId, providerTenant: cachedCred.cspTenantId }); // We already have creds, but let's validate with the service anyway (az cli is the only one who needs this bc it runs off a machine-user state and has to set the state on the local machine).
149
275
  if (loginResult.error)
150
276
  throw loginResult.error;
151
277
  if (loginResult.output == undefined)
@@ -167,17 +293,22 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
167
293
  let loginUi = this.loginUiFactory.create(providerCode, ioc);
168
294
  let cspUser;
169
295
  // if (suppressConfirmations)
170
- let subx = (_b = cachedCred === null || cachedCred === void 0 ? void 0 : cachedCred.subscriptionId) !== null && _b !== void 0 ? _b : reqSubscriptionId;
296
+ let ultCspAcct = {
297
+ subscriptionId: (_b = cachedCred === null || cachedCred === void 0 ? void 0 : cachedCred.subscriptionId) !== null && _b !== void 0 ? _b : cspAcct.subscriptionId,
298
+ tenantId: (_c = cachedCred === null || cachedCred === void 0 ? void 0 : cachedCred.cspTenantId) !== null && _c !== void 0 ? _c : cspAcct.tenantId
299
+ };
171
300
  let loginOptions = {
172
- providerSubscriptionId: subx,
301
+ providerSubscriptionId: ultCspAcct.subscriptionId,
302
+ providerTenantId: ultCspAcct.tenantId,
173
303
  suppressConfirmations: suppressConfirmations,
174
- providerUserName: providerUserName,
175
- providerSecret: providerSecret,
304
+ providedUserName: providerUserName,
305
+ providedSecret: providerSecret,
176
306
  proprietaryInput: proprietaryInput
177
307
  };
178
308
  [isAuthed, cspUser] = yield loginUi.promptToLogin(loginOptions);
179
- if (!isAuthed)
180
- throw new Error(`Login to ${providerCode} failed${((_c = cspUser.username) !== null && _c !== void 0 ? _c : providerUserName) ? " for " + ((_d = cspUser.username) !== null && _d !== void 0 ? _d : providerUserName) : ""}${((_e = cspUser.subscriptionId) !== null && _e !== void 0 ? _e : subx) ? " (subx:" + ((_f = cspUser.subscriptionId) !== null && _f !== void 0 ? _f : subx) + ")" : ""}.`);
309
+ if (!isAuthed) {
310
+ throw new Error(`Login to ${providerCode} failed${((_d = cspUser.username) !== null && _d !== void 0 ? _d : providerUserName) ? " for " + ((_e = cspUser.username) !== null && _e !== void 0 ? _e : providerUserName) : ""}${((_g = (_f = cspUser.subscriptionId) !== null && _f !== void 0 ? _f : ultCspAcct.subscriptionId) !== null && _g !== void 0 ? _g : "(none)") ? " (subx:" + ((_j = (_h = cspUser.subscriptionId) !== null && _h !== void 0 ? _h : ultCspAcct.subscriptionId) !== null && _j !== void 0 ? _j : "(none)") + ")" : ""}.`);
311
+ }
181
312
  output = cspUser;
182
313
  }
183
314
  resolve(output); // assertion operator ok bc logic forces output to be defined.
@@ -256,8 +387,9 @@ CloudProviderContextualizer = CloudProviderContextualizer_1 = tslib_1.__decorate
256
387
  tslib_1.__param(1, (0, inversify_1.inject)(cloud_resource_configurator_factory_1.LoginConfiguratorFactory)),
257
388
  tslib_1.__param(2, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IUserInputProvider)),
258
389
  tslib_1.__param(3, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IOutputStyler)),
390
+ tslib_1.__param(4, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
259
391
  tslib_1.__metadata("design:paramtypes", [codiac_relay_1.RelayClient,
260
- cloud_resource_configurator_factory_1.LoginConfiguratorFactory, Object, Object])
392
+ cloud_resource_configurator_factory_1.LoginConfiguratorFactory, Object, Object, Object])
261
393
  ], CloudProviderContextualizer);
262
394
  exports.CloudProviderContextualizer = CloudProviderContextualizer;
263
395
  //# sourceMappingURL=cloud-provider-contextualizer.js.map