@datadog/datadog-ci-plugin-lambda 3.21.0 → 3.21.2

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/dist/cli.d.ts +1 -0
  2. package/dist/cli.js +7 -0
  3. package/dist/cli.js.map +1 -0
  4. package/dist/commands/flare.d.ts +82 -0
  5. package/dist/commands/flare.js +636 -0
  6. package/dist/commands/flare.js.map +1 -0
  7. package/dist/commands/instrument.d.ts +10 -0
  8. package/dist/commands/instrument.js +405 -0
  9. package/dist/commands/instrument.js.map +1 -0
  10. package/dist/commands/uninstrument.d.ts +8 -0
  11. package/dist/commands/uninstrument.js +264 -0
  12. package/dist/commands/uninstrument.js.map +1 -0
  13. package/dist/constants.d.ts +87 -0
  14. package/dist/constants.js +159 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/functions/commons.d.ts +131 -0
  17. package/dist/functions/commons.js +473 -0
  18. package/dist/functions/commons.js.map +1 -0
  19. package/dist/functions/instrument.d.ts +7 -0
  20. package/dist/functions/instrument.js +271 -0
  21. package/dist/functions/instrument.js.map +1 -0
  22. package/dist/functions/uninstrument.d.ts +7 -0
  23. package/dist/functions/uninstrument.js +156 -0
  24. package/dist/functions/uninstrument.js.map +1 -0
  25. package/dist/functions/versionChecker.d.ts +3 -0
  26. package/dist/functions/versionChecker.js +38 -0
  27. package/dist/functions/versionChecker.js.map +1 -0
  28. package/dist/interfaces.d.ts +91 -0
  29. package/dist/interfaces.js +3 -0
  30. package/dist/interfaces.js.map +1 -0
  31. package/dist/loggroup.d.ts +17 -0
  32. package/dist/loggroup.js +140 -0
  33. package/dist/loggroup.js.map +1 -0
  34. package/dist/prompt.d.ts +12 -0
  35. package/dist/prompt.js +265 -0
  36. package/dist/prompt.js.map +1 -0
  37. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.d.ts +2 -0
  38. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.js +11 -0
  39. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.js.map +1 -0
  40. package/dist/renderers/common-renderer.d.ts +16 -0
  41. package/dist/renderers/common-renderer.js +23 -0
  42. package/dist/renderers/common-renderer.js.map +1 -0
  43. package/dist/renderers/instrument-uninstrument-renderer.d.ts +397 -0
  44. package/dist/renderers/instrument-uninstrument-renderer.js +506 -0
  45. package/dist/renderers/instrument-uninstrument-renderer.js.map +1 -0
  46. package/dist/tags.d.ts +8 -0
  47. package/dist/tags.js +74 -0
  48. package/dist/tags.js.map +1 -0
  49. package/package.json +9 -3
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getSubscriptionFilters = exports.getSubscriptionFilterState = exports.hasLogGroup = exports.calculateLogGroupRemoveRequest = exports.calculateLogGroupUpdateRequest = exports.putSubscriptionFilter = exports.deleteSubscriptionFilter = exports.createLogGroup = exports.applyLogGroupConfig = exports.SubscriptionState = void 0;
13
+ const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
14
+ const constants_1 = require("./constants");
15
+ var SubscriptionState;
16
+ (function (SubscriptionState) {
17
+ SubscriptionState[SubscriptionState["Empty"] = 0] = "Empty";
18
+ SubscriptionState[SubscriptionState["CorrectDestination"] = 1] = "CorrectDestination";
19
+ SubscriptionState[SubscriptionState["WrongDestinationOwned"] = 2] = "WrongDestinationOwned";
20
+ SubscriptionState[SubscriptionState["WrongDestinationUnowned"] = 3] = "WrongDestinationUnowned";
21
+ })(SubscriptionState || (exports.SubscriptionState = SubscriptionState = {}));
22
+ const MAX_LOG_GROUP_SUBSCRIPTIONS = 2;
23
+ const applyLogGroupConfig = (client, config) => __awaiter(void 0, void 0, void 0, function* () {
24
+ const { createLogGroupCommandInput, deleteSubscriptionFilterCommandInput, putSubscriptionFilterCommandInput } = config;
25
+ if (createLogGroupCommandInput !== undefined) {
26
+ yield (0, exports.createLogGroup)(client, createLogGroupCommandInput);
27
+ }
28
+ if (deleteSubscriptionFilterCommandInput !== undefined) {
29
+ yield (0, exports.deleteSubscriptionFilter)(client, deleteSubscriptionFilterCommandInput);
30
+ }
31
+ if (putSubscriptionFilterCommandInput !== undefined) {
32
+ yield (0, exports.putSubscriptionFilter)(client, putSubscriptionFilterCommandInput);
33
+ }
34
+ });
35
+ exports.applyLogGroupConfig = applyLogGroupConfig;
36
+ const createLogGroup = (client, input) => __awaiter(void 0, void 0, void 0, function* () {
37
+ const command = new client_cloudwatch_logs_1.CreateLogGroupCommand(input);
38
+ yield client.send(command);
39
+ });
40
+ exports.createLogGroup = createLogGroup;
41
+ const deleteSubscriptionFilter = (client, input) => __awaiter(void 0, void 0, void 0, function* () {
42
+ const command = new client_cloudwatch_logs_1.DeleteSubscriptionFilterCommand(input);
43
+ yield client.send(command);
44
+ });
45
+ exports.deleteSubscriptionFilter = deleteSubscriptionFilter;
46
+ const putSubscriptionFilter = (client, input) => __awaiter(void 0, void 0, void 0, function* () {
47
+ const command = new client_cloudwatch_logs_1.PutSubscriptionFilterCommand(input);
48
+ yield client.send(command);
49
+ });
50
+ exports.putSubscriptionFilter = putSubscriptionFilter;
51
+ const calculateLogGroupUpdateRequest = (client, logGroupName, forwarderARN) => __awaiter(void 0, void 0, void 0, function* () {
52
+ const config = {
53
+ logGroupName,
54
+ putSubscriptionFilterCommandInput: {
55
+ destinationArn: forwarderARN,
56
+ filterName: constants_1.SUBSCRIPTION_FILTER_NAME,
57
+ filterPattern: '',
58
+ logGroupName,
59
+ },
60
+ };
61
+ const logGroupPresent = yield (0, exports.hasLogGroup)(client, logGroupName);
62
+ let subscriptionState = SubscriptionState.Empty;
63
+ if (logGroupPresent) {
64
+ subscriptionState = yield (0, exports.getSubscriptionFilterState)(client, logGroupName, forwarderARN);
65
+ }
66
+ else {
67
+ config.createLogGroupCommandInput = {
68
+ logGroupName,
69
+ };
70
+ }
71
+ if (subscriptionState === SubscriptionState.CorrectDestination) {
72
+ // All up to date, nothing to be done
73
+ return;
74
+ }
75
+ if (subscriptionState === SubscriptionState.WrongDestinationUnowned) {
76
+ // Can't update, don't own the subscription
77
+ throw Error(`Maximum of ${MAX_LOG_GROUP_SUBSCRIPTIONS} subscription filters already exist on log group ${logGroupName}. Cannot add Datadog forwarder subscription.`);
78
+ }
79
+ return config;
80
+ });
81
+ exports.calculateLogGroupUpdateRequest = calculateLogGroupUpdateRequest;
82
+ const calculateLogGroupRemoveRequest = (client, logGroupName, forwarderARN) => __awaiter(void 0, void 0, void 0, function* () {
83
+ const config = {
84
+ logGroupName,
85
+ };
86
+ const subscriptionFilters = yield (0, exports.getSubscriptionFilters)(client, logGroupName);
87
+ const subscriptionToRemove = subscriptionFilters === null || subscriptionFilters === void 0 ? void 0 : subscriptionFilters.find((subscription) => subscription.destinationArn === forwarderARN || subscription.filterName === constants_1.SUBSCRIPTION_FILTER_NAME);
88
+ if (subscriptionToRemove) {
89
+ config.deleteSubscriptionFilterCommandInput = {
90
+ filterName: subscriptionToRemove.filterName,
91
+ logGroupName,
92
+ };
93
+ }
94
+ return config;
95
+ });
96
+ exports.calculateLogGroupRemoveRequest = calculateLogGroupRemoveRequest;
97
+ const hasLogGroup = (client, logGroupName) => __awaiter(void 0, void 0, void 0, function* () {
98
+ const input = {
99
+ logGroupNamePrefix: logGroupName,
100
+ };
101
+ const command = new client_cloudwatch_logs_1.DescribeLogGroupsCommand(input);
102
+ const response = yield client.send(command);
103
+ const { logGroups } = response;
104
+ if (logGroups === undefined || logGroups.length === 0) {
105
+ return false;
106
+ }
107
+ return logGroups.find((lg) => lg.logGroupName === logGroupName) !== undefined;
108
+ });
109
+ exports.hasLogGroup = hasLogGroup;
110
+ const getSubscriptionFilterState = (client, logGroupName, forwarderARN) => __awaiter(void 0, void 0, void 0, function* () {
111
+ const subscriptionFilters = yield (0, exports.getSubscriptionFilters)(client, logGroupName);
112
+ if (subscriptionFilters === undefined || subscriptionFilters.length === 0) {
113
+ return SubscriptionState.Empty;
114
+ }
115
+ if (subscriptionFilters.find((sf) => sf.destinationArn === forwarderARN) !== undefined) {
116
+ return SubscriptionState.CorrectDestination;
117
+ }
118
+ if (subscriptionFilters.find((sf) => sf.filterName === constants_1.SUBSCRIPTION_FILTER_NAME)) {
119
+ // Subscription filter was created by this CI tool
120
+ return SubscriptionState.WrongDestinationOwned;
121
+ }
122
+ // If a non-Datadog subscription already exists but we are still under the max
123
+ // then we have an empty slot to add the Datadog subscription
124
+ if (subscriptionFilters.length < MAX_LOG_GROUP_SUBSCRIPTIONS) {
125
+ return SubscriptionState.Empty;
126
+ }
127
+ return SubscriptionState.WrongDestinationUnowned;
128
+ });
129
+ exports.getSubscriptionFilterState = getSubscriptionFilterState;
130
+ const getSubscriptionFilters = (client, logGroupName) => __awaiter(void 0, void 0, void 0, function* () {
131
+ const input = {
132
+ logGroupName,
133
+ };
134
+ const command = new client_cloudwatch_logs_1.DescribeSubscriptionFiltersCommand(input);
135
+ const response = yield client.send(command);
136
+ const { subscriptionFilters } = response;
137
+ return subscriptionFilters;
138
+ });
139
+ exports.getSubscriptionFilters = getSubscriptionFilters;
140
+ //# sourceMappingURL=loggroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggroup.js","sourceRoot":"","sources":["../src/loggroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import inquirer from 'inquirer';
2
+ declare const checkboxPlusPrompt: any;
3
+ export declare const awsProfileQuestion: (mfaSerial: string) => inquirer.InputQuestion;
4
+ export declare const datadogApiKeyTypeQuestion: (datadogSite: string) => inquirer.ListQuestion;
5
+ export declare const datadogEnvVarsQuestions: (datadogApiKeyType: Record<string, any>) => inquirer.InputQuestion;
6
+ export declare const functionSelectionQuestion: (functionNames: string[]) => typeof checkboxPlusPrompt;
7
+ export declare const requestAWSCredentials: () => Promise<void>;
8
+ export declare const requestAWSRegion: (defaultRegion?: string) => Promise<void>;
9
+ export declare const requestDatadogEnvVars: () => Promise<void>;
10
+ export declare const requestEnvServiceVersion: () => Promise<void>;
11
+ export declare const requestFunctionSelection: (functionNames: string[]) => Promise<any>;
12
+ export {};
package/dist/prompt.js ADDED
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.requestFunctionSelection = exports.requestEnvServiceVersion = exports.requestDatadogEnvVars = exports.requestAWSRegion = exports.requestAWSCredentials = exports.functionSelectionQuestion = exports.datadogEnvVarsQuestions = exports.datadogApiKeyTypeQuestion = exports.awsProfileQuestion = void 0;
16
+ const constants_1 = require("@datadog/datadog-ci-base/constants");
17
+ const validation_1 = require("@datadog/datadog-ci-base/helpers/validation");
18
+ const chalk_1 = __importDefault(require("chalk"));
19
+ const fuzzy_1 = require("fuzzy");
20
+ const inquirer_1 = __importDefault(require("inquirer"));
21
+ const constants_2 = require("./constants");
22
+ const commons_1 = require("./functions/commons");
23
+ const checkboxPlusPrompt = require('inquirer-checkbox-plus-prompt');
24
+ inquirer_1.default.registerPrompt('checkbox-plus', checkboxPlusPrompt);
25
+ const awsProfileQuestion = (mfaSerial) => ({
26
+ default: undefined,
27
+ message: `Enter MFA code for ${mfaSerial}: `,
28
+ name: 'AWS_MFA',
29
+ type: 'input',
30
+ validate: (value) => {
31
+ if (!value || value === undefined || value.length < 6) {
32
+ return 'Enter a valid MFA token. Length must be greater than or equal to 6.';
33
+ }
34
+ return true;
35
+ },
36
+ });
37
+ exports.awsProfileQuestion = awsProfileQuestion;
38
+ const awsCredentialsQuestions = [
39
+ {
40
+ // AWS_ACCESS_KEY_ID question
41
+ message: 'Enter AWS Access Key ID:',
42
+ name: constants_2.AWS_ACCESS_KEY_ID_ENV_VAR,
43
+ type: 'input',
44
+ validate: (value) => {
45
+ if (!value || !(0, commons_1.sentenceMatchesRegEx)(value, constants_2.AWS_ACCESS_KEY_ID_REG_EXP)) {
46
+ return 'Enter a valid AWS Access Key ID.';
47
+ }
48
+ return true;
49
+ },
50
+ },
51
+ {
52
+ // AWS_SECRET_ACCESS_KEY_ENV_VAR question
53
+ mask: true,
54
+ message: 'Enter AWS Secret Access Key:',
55
+ name: constants_2.AWS_SECRET_ACCESS_KEY_ENV_VAR,
56
+ type: 'password',
57
+ validate: (value) => {
58
+ if (!value || !(0, commons_1.sentenceMatchesRegEx)(value, constants_2.AWS_SECRET_ACCESS_KEY_REG_EXP)) {
59
+ return 'Enter a valid AWS Secret Access Key.';
60
+ }
61
+ return true;
62
+ },
63
+ },
64
+ {
65
+ // AWS_SESSION_TOKEN
66
+ mask: true,
67
+ message: 'Enter AWS Session Token (optional):',
68
+ name: constants_2.AWS_SESSION_TOKEN_ENV_VAR,
69
+ type: 'password',
70
+ },
71
+ ];
72
+ const awsRegionQuestion = (defaultRegion) => ({
73
+ default: defaultRegion,
74
+ message: 'Which AWS region (e.g., us-east-1) your Lambda functions are deployed?',
75
+ name: constants_2.AWS_DEFAULT_REGION_ENV_VAR,
76
+ type: 'input',
77
+ });
78
+ const datadogApiKeyTypeQuestion = (datadogSite) => ({
79
+ choices: [
80
+ {
81
+ name: `Plain text ${chalk_1.default.bold('API Key')} (Recommended for trial users) `,
82
+ value: {
83
+ envVar: constants_1.CI_API_KEY_ENV_VAR,
84
+ message: 'API Key:',
85
+ },
86
+ },
87
+ new inquirer_1.default.Separator(),
88
+ {
89
+ name: `API key encrypted with AWS Key Management Service ${chalk_1.default.bold('(KMS) API Key')}`,
90
+ value: {
91
+ envVar: constants_2.CI_KMS_API_KEY_ENV_VAR,
92
+ message: 'KMS Encrypted API Key:',
93
+ },
94
+ },
95
+ {
96
+ name: `AWS Secrets Manager ${chalk_1.default.bold('API Key Secret ARN')}`,
97
+ value: {
98
+ envVar: constants_2.CI_API_KEY_SECRET_ARN_ENV_VAR,
99
+ message: 'API Key Secret ARN:',
100
+ },
101
+ },
102
+ ],
103
+ message: `Which type of Datadog API Key you want to set? \nLearn more at ${chalk_1.default.blueBright(`https://app.${datadogSite}/organization-settings/api-keys`)}`,
104
+ name: 'type',
105
+ type: 'list',
106
+ });
107
+ exports.datadogApiKeyTypeQuestion = datadogApiKeyTypeQuestion;
108
+ const datadogSiteQuestion = {
109
+ // DATADOG SITE
110
+ choices: constants_1.DATADOG_SITES,
111
+ message: `Select the Datadog site to send data. \nLearn more at ${chalk_1.default.blueBright('https://docs.datadoghq.com/getting_started/site/')}`,
112
+ name: constants_1.CI_SITE_ENV_VAR,
113
+ type: 'list',
114
+ };
115
+ const envQuestion = {
116
+ default: undefined,
117
+ message: 'Enter a value for the environment variable DD_ENV',
118
+ suffix: chalk_1.default.dim(' (recommended)'),
119
+ name: constants_1.ENVIRONMENT_ENV_VAR,
120
+ type: 'input',
121
+ };
122
+ const serviceQuestion = {
123
+ default: undefined,
124
+ message: 'Enter a value for the environment variable DD_SERVICE',
125
+ suffix: chalk_1.default.dim(' (recommended)'),
126
+ name: constants_1.SERVICE_ENV_VAR,
127
+ type: 'input',
128
+ };
129
+ const versionQuestion = {
130
+ default: undefined,
131
+ message: 'Enter a value for the environment variable DD_VERSION',
132
+ suffix: chalk_1.default.dim(' (recommended)'),
133
+ name: constants_1.VERSION_ENV_VAR,
134
+ type: 'input',
135
+ };
136
+ const INVALID_KEY_MESSAGE = 'Enter a valid Datadog API Key.';
137
+ const datadogEnvVarsQuestions = (datadogApiKeyType) => ({
138
+ // DATADOG API KEY given type
139
+ default: process.env[datadogApiKeyType.envVar],
140
+ message: datadogApiKeyType.message,
141
+ name: datadogApiKeyType.envVar,
142
+ type: 'input',
143
+ validate: (value) => {
144
+ if (!value) {
145
+ return INVALID_KEY_MESSAGE;
146
+ }
147
+ if (datadogApiKeyType.envVar === constants_1.CI_API_KEY_ENV_VAR && !(0, commons_1.sentenceMatchesRegEx)(value, constants_2.DATADOG_API_KEY_REG_EXP)) {
148
+ return INVALID_KEY_MESSAGE;
149
+ }
150
+ if (datadogApiKeyType.envVar === constants_2.CI_API_KEY_SECRET_ARN_ENV_VAR &&
151
+ !(0, commons_1.sentenceMatchesRegEx)(value, constants_2.AWS_SECRET_ARN_REG_EXP)) {
152
+ return INVALID_KEY_MESSAGE;
153
+ }
154
+ return true;
155
+ },
156
+ });
157
+ exports.datadogEnvVarsQuestions = datadogEnvVarsQuestions;
158
+ const functionSelectionQuestion = (functionNames) => ({
159
+ choices: functionNames,
160
+ highlight: true,
161
+ message: 'Select the functions to modify (Press <space> to select, p.s. start typing the name instead of manually scrolling)',
162
+ name: 'functions',
163
+ pageSize: 10,
164
+ searchable: true,
165
+ source: (answersSoFar, input) => {
166
+ input = input || '';
167
+ return new Promise((resolve) => {
168
+ const fuzzyResult = (0, fuzzy_1.filter)(input, functionNames);
169
+ const data = fuzzyResult.map((element) => element.original);
170
+ resolve(data);
171
+ });
172
+ },
173
+ type: 'checkbox-plus',
174
+ validate: (selectedFunctions) => {
175
+ if (selectedFunctions.length < 1) {
176
+ return 'You must choose at least one function.';
177
+ }
178
+ return true;
179
+ },
180
+ });
181
+ exports.functionSelectionQuestion = functionSelectionQuestion;
182
+ const requestAWSCredentials = () => __awaiter(void 0, void 0, void 0, function* () {
183
+ try {
184
+ const awsCredentialsAnswers = yield inquirer_1.default.prompt(awsCredentialsQuestions);
185
+ process.env[constants_2.AWS_ACCESS_KEY_ID_ENV_VAR] = awsCredentialsAnswers[constants_2.AWS_ACCESS_KEY_ID_ENV_VAR];
186
+ process.env[constants_2.AWS_SECRET_ACCESS_KEY_ENV_VAR] = awsCredentialsAnswers[constants_2.AWS_SECRET_ACCESS_KEY_ENV_VAR];
187
+ if (awsCredentialsAnswers[constants_2.AWS_SESSION_TOKEN_ENV_VAR] !== undefined) {
188
+ process.env[constants_2.AWS_SESSION_TOKEN_ENV_VAR] = awsCredentialsAnswers[constants_2.AWS_SESSION_TOKEN_ENV_VAR];
189
+ }
190
+ }
191
+ catch (e) {
192
+ if (e instanceof Error) {
193
+ throw Error(`Couldn't set AWS Credentials. ${e.message}`);
194
+ }
195
+ }
196
+ });
197
+ exports.requestAWSCredentials = requestAWSCredentials;
198
+ const requestAWSRegion = (defaultRegion) => __awaiter(void 0, void 0, void 0, function* () {
199
+ try {
200
+ const awsRegionAnswer = yield inquirer_1.default.prompt(awsRegionQuestion(defaultRegion));
201
+ process.env[constants_2.AWS_DEFAULT_REGION_ENV_VAR] = awsRegionAnswer[constants_2.AWS_DEFAULT_REGION_ENV_VAR];
202
+ }
203
+ catch (e) {
204
+ if (e instanceof Error) {
205
+ throw Error(`Couldn't set AWS region. ${e.message}`);
206
+ }
207
+ }
208
+ });
209
+ exports.requestAWSRegion = requestAWSRegion;
210
+ const requestDatadogEnvVars = () => __awaiter(void 0, void 0, void 0, function* () {
211
+ try {
212
+ const envSite = process.env[constants_1.CI_SITE_ENV_VAR];
213
+ let selectedDatadogSite = envSite;
214
+ if (!(0, validation_1.isValidDatadogSite)(envSite)) {
215
+ const datadogSiteAnswer = yield inquirer_1.default.prompt(datadogSiteQuestion);
216
+ selectedDatadogSite = datadogSiteAnswer[constants_1.CI_SITE_ENV_VAR];
217
+ process.env[constants_1.CI_SITE_ENV_VAR] = selectedDatadogSite;
218
+ }
219
+ if ((0, commons_1.isMissingAnyDatadogApiKeyEnvVar)()) {
220
+ const datadogApiKeyTypeAnswer = yield inquirer_1.default.prompt((0, exports.datadogApiKeyTypeQuestion)(selectedDatadogSite));
221
+ const datadogApiKeyType = datadogApiKeyTypeAnswer.type;
222
+ const datadogEnvVars = yield inquirer_1.default.prompt((0, exports.datadogEnvVarsQuestions)(datadogApiKeyType));
223
+ const selectedDatadogApiKeyEnvVar = datadogApiKeyType.envVar;
224
+ process.env[selectedDatadogApiKeyEnvVar] = datadogEnvVars[selectedDatadogApiKeyEnvVar];
225
+ }
226
+ }
227
+ catch (e) {
228
+ if (e instanceof Error) {
229
+ throw Error(`Couldn't set Datadog Environment Variables. ${e.message}`);
230
+ }
231
+ }
232
+ });
233
+ exports.requestDatadogEnvVars = requestDatadogEnvVars;
234
+ const requestEnvServiceVersion = () => __awaiter(void 0, void 0, void 0, function* () {
235
+ try {
236
+ const envQuestionAnswer = yield inquirer_1.default.prompt(envQuestion);
237
+ const inputedEnvQuestionAnswer = envQuestionAnswer[constants_1.ENVIRONMENT_ENV_VAR];
238
+ process.env[constants_1.ENVIRONMENT_ENV_VAR] = inputedEnvQuestionAnswer;
239
+ const serviceQuestionAnswer = yield inquirer_1.default.prompt(serviceQuestion);
240
+ const inputedServiceQuestionAnswer = serviceQuestionAnswer[constants_1.SERVICE_ENV_VAR];
241
+ process.env[constants_1.SERVICE_ENV_VAR] = inputedServiceQuestionAnswer;
242
+ const versionQuestionAnswer = yield inquirer_1.default.prompt(versionQuestion);
243
+ const inputedVersionQuestionAnswer = versionQuestionAnswer[constants_1.VERSION_ENV_VAR];
244
+ process.env[constants_1.VERSION_ENV_VAR] = inputedVersionQuestionAnswer;
245
+ }
246
+ catch (e) {
247
+ if (e instanceof Error) {
248
+ throw Error(`Couldn't set user defined env, service, and version environment variables. ${e.message}`);
249
+ }
250
+ }
251
+ });
252
+ exports.requestEnvServiceVersion = requestEnvServiceVersion;
253
+ const requestFunctionSelection = (functionNames) => __awaiter(void 0, void 0, void 0, function* () {
254
+ try {
255
+ const selectedFunctionsAnswer = yield inquirer_1.default.prompt((0, exports.functionSelectionQuestion)(functionNames));
256
+ return selectedFunctionsAnswer.functions;
257
+ }
258
+ catch (e) {
259
+ if (e instanceof Error) {
260
+ throw Error(`Couldn't receive selected functions. ${e.message}`);
261
+ }
262
+ }
263
+ });
264
+ exports.requestFunctionSelection = requestFunctionSelection;
265
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export = _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ const makeMockSpinner = () => {
3
+ return () => ({
4
+ fail: jest.fn(),
5
+ start: jest.fn(),
6
+ succeed: jest.fn(),
7
+ warn: jest.fn(),
8
+ });
9
+ };
10
+ module.exports = Object.assign(Object.assign({}, jest.requireActual('../instrument-uninstrument-renderer')), { fetchingFunctionsConfigSpinner: makeMockSpinner(), fetchingFunctionsSpinner: makeMockSpinner(), updatingFunctionsConfigFromRegionSpinner: makeMockSpinner(), updatingFunctionsSpinner: makeMockSpinner() });
11
+ //# sourceMappingURL=instrument-uninstrument-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrument-uninstrument-renderer.js","sourceRoot":"","sources":["../../../src/renderers/__mocks__/instrument-uninstrument-renderer.ts"],"names":[],"mappings":";AAAA,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,OAAO,GAAG,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;KAChB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,iDACK,IAAI,CAAC,aAAa,CAAC,qCAAqC,CAAC,KAC5D,8BAA8B,EAAE,eAAe,EAAE,EACjD,wBAAwB,EAAE,eAAe,EAAE,EAC3C,wCAAwC,EAAE,eAAe,EAAE,EAC3D,wBAAwB,EAAE,eAAe,EAAE,IAC5C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @returns a message indicating that no default region has been specified.
3
+ *
4
+ * ```txt
5
+ * [Error] No default region specified. [-r,--region]'
6
+ * ```
7
+ */
8
+ export declare const renderNoDefaultRegionSpecifiedError: () => string;
9
+ /**
10
+ * @returns a message indicating that no AWS credentials where found.
11
+ *
12
+ * ```txt
13
+ * [!] No AWS credentials found, lets set them up! Or you can re-run the command and supply the AWS credentials in the same way when you invoke the AWS CLI.
14
+ * ```
15
+ */
16
+ export declare const renderNoAWSCredentialsFound: () => string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderNoAWSCredentialsFound = exports.renderNoDefaultRegionSpecifiedError = void 0;
4
+ const renderer_1 = require("@datadog/datadog-ci-base/helpers/renderer");
5
+ /**
6
+ * @returns a message indicating that no default region has been specified.
7
+ *
8
+ * ```txt
9
+ * [Error] No default region specified. [-r,--region]'
10
+ * ```
11
+ */
12
+ const renderNoDefaultRegionSpecifiedError = () => (0, renderer_1.renderError)('No default region specified. [-r,--region]');
13
+ exports.renderNoDefaultRegionSpecifiedError = renderNoDefaultRegionSpecifiedError;
14
+ /**
15
+ * @returns a message indicating that no AWS credentials where found.
16
+ *
17
+ * ```txt
18
+ * [!] No AWS credentials found, lets set them up! Or you can re-run the command and supply the AWS credentials in the same way when you invoke the AWS CLI.
19
+ * ```
20
+ */
21
+ const renderNoAWSCredentialsFound = () => `${(0, renderer_1.renderSoftWarning)("No AWS credentials found, let's set them up! Or you can re-run the command and supply the AWS credentials in the same way when you invoke the AWS CLI.")}`;
22
+ exports.renderNoAWSCredentialsFound = renderNoAWSCredentialsFound;
23
+ //# sourceMappingURL=common-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-renderer.js","sourceRoot":"","sources":["../../src/renderers/common-renderer.ts"],"names":[],"mappings":";;;AAAA,wEAAwF;AAExF;;;;;;GAMG;AACI,MAAM,mCAAmC,GAAG,GAAG,EAAE,CAAC,IAAA,sBAAW,EAAC,4CAA4C,CAAC,CAAA;AAArG,QAAA,mCAAmC,uCAAkE;AAElH;;;;;;GAMG;AACI,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,GAAG,IAAA,4BAAiB,EAClB,wJAAwJ,CACzJ,EAAE,CAAA;AAHQ,QAAA,2BAA2B,+BAGnC"}