@codiac.io/codiac-cli 1.3.106 → 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.
- package/README.md +1 -1
- package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +7 -0
- package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +4 -0
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-api-nats/gen/contracts.ng.d.ts +1 -0
- package/dist/apis/codiac-api-nats/gen/contracts.ng.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +14 -1
- package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
- package/dist/codiac-entities/cluster-capture-def.d.ts +2 -0
- package/dist/commands/asset/deploy.js +2 -2
- package/dist/commands/asset/deploy.js.map +1 -1
- package/dist/commands/csp/login.d.ts +1 -0
- package/dist/commands/csp/login.js +32 -11
- package/dist/commands/csp/login.js.map +1 -1
- package/dist/commands/filestore/capture.js +2 -2
- package/dist/commands/filestore/capture.js.map +1 -1
- package/dist/commands/imageRegistry/pullSecret/set.js +8 -2
- package/dist/commands/imageRegistry/pullSecret/set.js.map +1 -1
- package/dist/commands/noc/cluster/capture.d.ts +1 -0
- package/dist/commands/noc/cluster/capture.js +6 -2
- package/dist/commands/noc/cluster/capture.js.map +1 -1
- package/dist/commands/noc/cluster/create.js +1 -1
- package/dist/commands/noc/cluster/create.js.map +1 -1
- package/dist/commands/noc/cluster/recreate.js +2 -2
- package/dist/commands/noc/cluster/recreate.js.map +1 -1
- package/dist/sdk/i-cluster-configurator.d.ts +3 -2
- package/dist/sdk/i-csp-account-filter.d.ts +6 -0
- package/dist/sdk/i-csp-account-filter.js +3 -0
- package/dist/sdk/i-csp-account-filter.js.map +1 -0
- package/dist/sdk/i-login-configurator.d.ts +1 -0
- package/dist/sdk/index.d.ts +1 -0
- package/dist/sdk/index.js +1 -0
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk-adapters/azure/az-interactive-login-configurator.js +11 -2
- package/dist/sdk-adapters/azure/az-interactive-login-configurator.js.map +1 -1
- package/dist/sdk-adapters/azure/azure-resource-configurator.d.ts +3 -2
- package/dist/sdk-adapters/azure/azure-resource-configurator.js +12 -12
- package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -1
- package/dist/sdk-adapters/shared/resource-configurator-base.d.ts +1 -1
- package/dist/uilogic/cloud-provider-contextualizer.d.ts +15 -2
- package/dist/uilogic/cloud-provider-contextualizer.js +144 -12
- package/dist/uilogic/cloud-provider-contextualizer.js.map +1 -1
- package/dist/uilogic/rootmap-ui-utils.d.ts +1 -1
- package/dist/uilogic/rootmap-ui-utils.js +12 -4
- package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
- package/oclif.manifest.json +17 -2
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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
|
|
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:
|
|
301
|
+
providerSubscriptionId: ultCspAcct.subscriptionId,
|
|
302
|
+
providerTenantId: ultCspAcct.tenantId,
|
|
173
303
|
suppressConfirmations: suppressConfirmations,
|
|
174
|
-
|
|
175
|
-
|
|
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${((
|
|
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
|