@mongosh/shell-api 1.3.1 → 1.5.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -21,13 +21,22 @@ export interface ClientSideFieldLevelEncryptionOptions {
21
21
  tlsOptions?: {
22
22
  [k in keyof ClientSideFieldLevelEncryptionKmsProvider]?: ClientEncryptionTlsOptions;
23
23
  };
24
+ encryptedFieldsMap?: Document;
25
+ bypassQueryAnalysis?: boolean;
24
26
  }
27
+ declare type MasterKey = AWSEncryptionKeyOptions | AzureEncryptionKeyOptions | GCPEncryptionKeyOptions;
28
+ declare type AltNames = string[];
29
+ declare type DataKeyEncryptionKeyOptions = {
30
+ masterKey?: MasterKey;
31
+ keyAltNames?: AltNames;
32
+ keyMaterial?: Buffer | BinaryType;
33
+ };
25
34
  export declare class ClientEncryption extends ShellApiWithMongoClass {
26
35
  _mongo: Mongo;
27
36
  _libmongocrypt: MongoCryptClientEncryption;
28
37
  constructor(mongo: Mongo);
29
38
  [asPrintable](): string;
30
- encrypt(encryptionId: BinaryType, value: any, encryptionAlgorithm: ClientEncryptionEncryptOptions['algorithm']): Promise<BinaryType>;
39
+ encrypt(encryptionId: BinaryType, value: any, algorithmOrEncryptionOptions: ClientEncryptionEncryptOptions['algorithm'] | ClientEncryptionEncryptOptions): Promise<BinaryType>;
31
40
  decrypt(encryptedValue: BinaryType): Promise<any>;
32
41
  }
33
42
  export declare class KeyVault extends ShellApiWithMongoClass {
@@ -35,15 +44,21 @@ export declare class KeyVault extends ShellApiWithMongoClass {
35
44
  _clientEncryption: ClientEncryption;
36
45
  private _keyColl;
37
46
  constructor(clientEncryption: ClientEncryption);
47
+ _init(): Promise<void>;
38
48
  [asPrintable](): string;
39
- createKey(kms: 'local', keyAltNames?: string[]): Promise<Document>;
40
- createKey(kms: ClientEncryptionDataKeyProvider, legacyMasterKey: string, keyAltNames?: string[]): Promise<Document>;
41
- createKey(kms: ClientEncryptionDataKeyProvider, options: AWSEncryptionKeyOptions | AzureEncryptionKeyOptions | GCPEncryptionKeyOptions | undefined): Promise<Document>;
42
- createKey(kms: ClientEncryptionDataKeyProvider, options: AWSEncryptionKeyOptions | AzureEncryptionKeyOptions | GCPEncryptionKeyOptions | undefined, keyAltNames: string[]): Promise<Document>;
49
+ createKey(kms: 'local', keyAltNames?: string[]): Promise<BinaryType>;
50
+ createKey(kms: ClientEncryptionDataKeyProvider, legacyMasterKey: string, keyAltNames?: string[]): Promise<BinaryType>;
51
+ createKey(kms: ClientEncryptionDataKeyProvider, options: MasterKey | DataKeyEncryptionKeyOptions | undefined): Promise<BinaryType>;
52
+ createKey(kms: ClientEncryptionDataKeyProvider, options: MasterKey | DataKeyEncryptionKeyOptions | undefined, keyAltNames: string[]): Promise<BinaryType>;
43
53
  getKey(keyId: BinaryType): Promise<Cursor>;
44
54
  getKeyByAltName(keyAltName: string): Promise<Cursor>;
45
55
  getKeys(): Promise<Cursor>;
46
56
  deleteKey(keyId: BinaryType): Promise<DeleteResult | Document>;
47
57
  addKeyAlternateName(keyId: BinaryType, keyAltName: string): Promise<Document>;
48
58
  removeKeyAlternateName(keyId: BinaryType, keyAltName: string): Promise<Document>;
59
+ rewrapManyDataKey(filter: Document, options?: Document): Promise<Document>;
60
+ createDataKey(...args: Parameters<KeyVault['createKey']>): ReturnType<KeyVault['createKey']>;
61
+ removeKeyAltName(...args: Parameters<KeyVault['removeKeyAlternateName']>): ReturnType<KeyVault['removeKeyAlternateName']>;
62
+ addKeyAltName(...args: Parameters<KeyVault['addKeyAlternateName']>): ReturnType<KeyVault['addKeyAlternateName']>;
49
63
  }
64
+ export {};
@@ -13,6 +13,16 @@ const helpers_1 = require("./helpers");
13
13
  const enums_1 = require("./enums");
14
14
  const history_1 = require("@mongosh/history");
15
15
  const errors_1 = require("@mongosh/errors");
16
+ const isDataKeyEncryptionKeyOptions = (options) => {
17
+ return (!Array.isArray(options) &&
18
+ typeof options === 'object' &&
19
+ ('masterKey' in options || 'keyAltNames' in options || 'keyMaterial' in options));
20
+ };
21
+ const isMasterKey = (options) => {
22
+ return (!Array.isArray(options) &&
23
+ typeof options === 'object' &&
24
+ !isDataKeyEncryptionKeyOptions(options));
25
+ };
16
26
  let ClientEncryption = class ClientEncryption extends decorators_1.ShellApiWithMongoClass {
17
27
  constructor(mongo) {
18
28
  super();
@@ -28,12 +38,22 @@ let ClientEncryption = class ClientEncryption extends decorators_1.ShellApiWithM
28
38
  [enums_1.asPrintable]() {
29
39
  return `ClientEncryption class for ${(0, history_1.redactURICredentials)(this._mongo._uri)}`;
30
40
  }
31
- async encrypt(encryptionId, value, encryptionAlgorithm) {
32
- (0, helpers_1.assertArgsDefinedType)([encryptionId, value, encryptionAlgorithm], [true, true, true], 'ClientEncryption.encrypt');
33
- return await this._libmongocrypt.encrypt(value, {
34
- keyId: encryptionId,
35
- algorithm: encryptionAlgorithm
36
- });
41
+ async encrypt(encryptionId, value, algorithmOrEncryptionOptions) {
42
+ let encryptionOptions;
43
+ if (typeof algorithmOrEncryptionOptions === 'object') {
44
+ encryptionOptions = {
45
+ keyId: encryptionId,
46
+ ...algorithmOrEncryptionOptions
47
+ };
48
+ }
49
+ else {
50
+ encryptionOptions = {
51
+ keyId: encryptionId,
52
+ algorithm: algorithmOrEncryptionOptions
53
+ };
54
+ }
55
+ (0, helpers_1.assertArgsDefinedType)([encryptionId, value, encryptionOptions], [true, true, true], 'ClientEncryption.encrypt');
56
+ return await this._libmongocrypt.encrypt(value, encryptionOptions);
37
57
  }
38
58
  async decrypt(encryptedValue) {
39
59
  (0, helpers_1.assertArgsDefinedType)([encryptedValue], [true], 'ClientEncryption.decrypt');
@@ -53,29 +73,70 @@ ClientEncryption = __decorate([
53
73
  exports.ClientEncryption = ClientEncryption;
54
74
  let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
55
75
  constructor(clientEncryption) {
76
+ var _a, _b, _c;
56
77
  super();
57
78
  this._mongo = clientEncryption._mongo;
58
79
  this._clientEncryption = clientEncryption;
59
- if (!this._mongo._fleOptions || !this._mongo._fleOptions.keyVaultNamespace) {
80
+ const keyVaultNamespace = (_b = (_a = this._mongo) === null || _a === void 0 ? void 0 : _a._fleOptions) === null || _b === void 0 ? void 0 : _b.keyVaultNamespace;
81
+ if (!keyVaultNamespace) {
60
82
  throw new errors_1.MongoshInvalidInputError('FLE options must be passed to the Mongo object');
61
83
  }
62
- const [db, coll] = this._mongo._fleOptions.keyVaultNamespace.split('.');
84
+ const parsedNamespace = (_c = keyVaultNamespace.match(/^(?<db>[^.]+)\.(?<coll>.+)$/)) === null || _c === void 0 ? void 0 : _c.groups;
85
+ if (!parsedNamespace) {
86
+ throw new errors_1.MongoshInvalidInputError(`Invalid keyVaultNamespace '${keyVaultNamespace}'`);
87
+ }
88
+ const { db, coll } = parsedNamespace;
63
89
  this._keyColl = this._mongo.getDB(db).getCollection(coll);
64
90
  }
91
+ async _init() {
92
+ var _a;
93
+ if ((_a = this._mongo._fleOptions) === null || _a === void 0 ? void 0 : _a.bypassQueryAnalysis) {
94
+ return;
95
+ }
96
+ try {
97
+ const existingIndexKeys = await this._keyColl.getIndexKeys();
98
+ if (existingIndexKeys.some(key => key.keyAltNames)) {
99
+ return;
100
+ }
101
+ }
102
+ catch (_b) {
103
+ }
104
+ try {
105
+ await this._keyColl.updateMany({ 'keyAltNames': { $size: 0 } }, { $unset: { 'keyAltNames': '' }, $currentDate: { 'updateDate': true } });
106
+ await this._keyColl.createIndex({ keyAltNames: 1 }, { unique: true, partialFilterExpression: { keyAltNames: { $exists: true } } });
107
+ }
108
+ catch (err) {
109
+ await this._instanceState.printWarning(`Creating 'keyAltNames' index on '${this._keyColl.getFullName()}' failed: ${err.message}`);
110
+ }
111
+ }
65
112
  [enums_1.asPrintable]() {
66
113
  return `KeyVault class for ${(0, history_1.redactURICredentials)(this._mongo._uri)}`;
67
114
  }
68
- async createKey(kms, masterKeyOrAltNames, keyAltNames) {
115
+ async createKey(kms, masterKeyOrAltNamesOrDataKeyOptions, legacyKeyAltNames) {
116
+ let masterKey;
117
+ let keyAltNames;
118
+ let keyMaterial;
119
+ if (isDataKeyEncryptionKeyOptions(masterKeyOrAltNamesOrDataKeyOptions)) {
120
+ masterKey = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.masterKey;
121
+ keyAltNames = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.keyAltNames;
122
+ keyMaterial = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.keyMaterial;
123
+ }
124
+ else if (isMasterKey(masterKeyOrAltNamesOrDataKeyOptions)) {
125
+ masterKey = masterKeyOrAltNamesOrDataKeyOptions;
126
+ }
127
+ if (legacyKeyAltNames) {
128
+ keyAltNames = legacyKeyAltNames;
129
+ }
69
130
  (0, helpers_1.assertArgsDefinedType)([kms], [true], 'KeyVault.createKey');
70
- if (typeof masterKeyOrAltNames === 'string') {
71
- if (kms === 'local' && masterKeyOrAltNames === '') {
72
- masterKeyOrAltNames = undefined;
131
+ if (typeof masterKeyOrAltNamesOrDataKeyOptions === 'string') {
132
+ if (kms === 'local' && masterKeyOrAltNamesOrDataKeyOptions === '') {
133
+ masterKey = undefined;
73
134
  }
74
135
  else {
75
136
  throw new errors_1.MongoshInvalidInputError('KeyVault.createKey does not support providing masterKey as string anymore. For AWS please use createKey("aws", { region: ..., key: ... })', errors_1.CommonErrors.Deprecated);
76
137
  }
77
138
  }
78
- else if (Array.isArray(masterKeyOrAltNames)) {
139
+ else if (Array.isArray(masterKeyOrAltNamesOrDataKeyOptions)) {
79
140
  if (kms !== 'local') {
80
141
  throw new errors_1.MongoshInvalidInputError('KeyVault.createKey requires masterKey to be given as second argument if KMS is not local', errors_1.CommonErrors.InvalidArgument);
81
142
  }
@@ -83,21 +144,19 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
83
144
  if (keyAltNames) {
84
145
  throw new errors_1.MongoshInvalidInputError('KeyVault.createKey was supplied with an array for the masterKey and keyAltNames - either specify keyAltNames as second argument or set undefined for masterKey', errors_1.CommonErrors.InvalidArgument);
85
146
  }
86
- keyAltNames = masterKeyOrAltNames;
87
- masterKeyOrAltNames = undefined;
147
+ keyAltNames = masterKeyOrAltNamesOrDataKeyOptions;
148
+ masterKey = undefined;
88
149
  }
89
150
  }
90
151
  let options;
91
- if (masterKeyOrAltNames) {
92
- options = {
93
- masterKey: masterKeyOrAltNames
94
- };
152
+ if (masterKey) {
153
+ options = { ...(options !== null && options !== void 0 ? options : {}), masterKey };
95
154
  }
96
155
  if (keyAltNames) {
97
- options = {
98
- ...(options !== null && options !== void 0 ? options : {}),
99
- keyAltNames
100
- };
156
+ options = { ...(options !== null && options !== void 0 ? options : {}), keyAltNames };
157
+ }
158
+ if (keyMaterial) {
159
+ options = { ...(options !== null && options !== void 0 ? options : {}), keyMaterial };
101
160
  }
102
161
  return await this._clientEncryption._libmongocrypt.createDataKey(kms, options);
103
162
  }
@@ -120,7 +179,7 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
120
179
  (0, helpers_1.assertArgsDefinedType)([keyId, keyAltName], [true, 'string'], 'KeyVault.addKeyAlternateName');
121
180
  return this._keyColl.findAndModify({
122
181
  query: { '_id': keyId },
123
- update: { $push: { 'keyAltNames': keyAltName }, $currentDate: { 'updateDate': true } },
182
+ update: { $addToSet: { 'keyAltNames': keyAltName }, $currentDate: { 'updateDate': true } },
124
183
  });
125
184
  }
126
185
  async removeKeyAlternateName(keyId, keyAltName) {
@@ -131,12 +190,24 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
131
190
  });
132
191
  if (ret !== null && ret.keyAltNames !== undefined && ret.keyAltNames.length === 1 && ret.keyAltNames[0] === keyAltName) {
133
192
  return this._keyColl.findAndModify({
134
- query: { '_id': keyId, 'keyAltNames': undefined },
193
+ query: { '_id': keyId, 'keyAltNames': { $size: 0 } },
135
194
  update: { $unset: { 'keyAltNames': '' }, $currentDate: { 'updateDate': true } }
136
195
  });
137
196
  }
138
197
  return ret;
139
198
  }
199
+ async rewrapManyDataKey(filter, options) {
200
+ return this._clientEncryption._libmongocrypt.rewrapManyDataKey(filter, options);
201
+ }
202
+ async createDataKey(...args) {
203
+ return await this.createKey(...args);
204
+ }
205
+ async removeKeyAltName(...args) {
206
+ return await this.removeKeyAlternateName(...args);
207
+ }
208
+ async addKeyAltName(...args) {
209
+ return await this.addKeyAlternateName(...args);
210
+ }
140
211
  };
141
212
  __decorate([
142
213
  decorators_1.returnsPromise,
@@ -169,6 +240,22 @@ __decorate([
169
240
  decorators_1.returnsPromise,
170
241
  (0, decorators_1.apiVersions)([1])
171
242
  ], KeyVault.prototype, "removeKeyAlternateName", null);
243
+ __decorate([
244
+ decorators_1.returnsPromise,
245
+ (0, decorators_1.apiVersions)([1])
246
+ ], KeyVault.prototype, "rewrapManyDataKey", null);
247
+ __decorate([
248
+ decorators_1.returnsPromise,
249
+ (0, decorators_1.apiVersions)([1])
250
+ ], KeyVault.prototype, "createDataKey", null);
251
+ __decorate([
252
+ decorators_1.returnsPromise,
253
+ (0, decorators_1.apiVersions)([1])
254
+ ], KeyVault.prototype, "removeKeyAltName", null);
255
+ __decorate([
256
+ decorators_1.returnsPromise,
257
+ (0, decorators_1.apiVersions)([1])
258
+ ], KeyVault.prototype, "addKeyAltName", null);
172
259
  KeyVault = __decorate([
173
260
  decorators_1.shellApiClassDefault,
174
261
  (0, decorators_1.classPlatforms)([service_provider_core_1.ReplPlatform.CLI])
@@ -1 +1 @@
1
- {"version":3,"file":"field-level-encryption.js","sourceRoot":"","sources":["../src/field-level-encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-level-encryption.js","sourceRoot":"","sources":["../src/field-level-encryption.ts"],"names":[],"mappings":"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"}
package/lib/helpers.d.ts CHANGED
@@ -68,4 +68,6 @@ export declare function isValidDatabaseName(name: string): boolean;
68
68
  export declare function isValidCollectionName(name: string): boolean;
69
69
  export declare function shouldRunAggregationImmediately(pipeline: Document[]): boolean;
70
70
  export declare function adjustRunCommand(cmd: Document, shellBson: ShellBson): Document;
71
+ export declare function getBadge(collections: Document[], index: number): string;
72
+ export declare const FREE_MONITORING_BANNER = "Enable MongoDB's free cloud-based monitoring service, which will then receive and display\nmetrics about your deployment (disk utilization, CPU, operation statistics, etc).\n\nThe monitoring data will be available on a MongoDB website with a unique URL accessible to you\nand anyone you share the URL with. MongoDB may use this information to make product\nimprovements and to suggest MongoDB products and deployment options to you.\n\nTo enable free monitoring, run the following command: db.enableFreeMonitoring()\nTo permanently disable this reminder, run the following command: db.disableFreeMonitoring()\n";
71
73
  export {};
package/lib/helpers.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.adjustRunCommand = exports.shouldRunAggregationImmediately = exports.isValidCollectionName = exports.isValidDatabaseName = exports.markAsExplainOutput = exports.maybeMarkAsExplainOutput = exports.processFLEOptions = exports.assertCLI = exports.setHideIndex = exports.processMapReduceOptions = exports.processRemoveOptions = exports.processFindAndModifyOptions = exports.iterate = exports.addHiddenDataProperty = exports.tsToSeconds = exports.dataFormat = exports.getConfigDB = exports.getPrintableShardStatus = exports.processDigestPassword = exports.adaptOptions = exports.assertKeysDefined = exports.assertArgsDefinedType = exports.validateExplainableVerbosity = exports.adaptAggregateOptions = void 0;
6
+ exports.FREE_MONITORING_BANNER = exports.getBadge = exports.adjustRunCommand = exports.shouldRunAggregationImmediately = exports.isValidCollectionName = exports.isValidDatabaseName = exports.markAsExplainOutput = exports.maybeMarkAsExplainOutput = exports.processFLEOptions = exports.assertCLI = exports.setHideIndex = exports.processMapReduceOptions = exports.processRemoveOptions = exports.processFindAndModifyOptions = exports.iterate = exports.addHiddenDataProperty = exports.tsToSeconds = exports.dataFormat = exports.getConfigDB = exports.getPrintableShardStatus = exports.processDigestPassword = exports.adaptOptions = exports.assertKeysDefined = exports.assertArgsDefinedType = exports.validateExplainableVerbosity = exports.adaptAggregateOptions = void 0;
7
7
  const errors_1 = require("@mongosh/errors");
8
8
  const crypto_1 = __importDefault(require("crypto"));
9
9
  const error_codes_1 = require("./error-codes");
@@ -449,12 +449,14 @@ function processFindAndModifyOptions(options) {
449
449
  options.returnDocument = options.returnNewDocument ? 'after' : 'before';
450
450
  delete options.returnOriginal;
451
451
  delete options.returnNewDocument;
452
+ delete options.new;
452
453
  return options;
453
454
  }
454
455
  if ('new' in options) {
455
456
  options.returnDocument = options.new ? 'after' : 'before';
456
457
  delete options.returnOriginal;
457
458
  delete options.returnNewDocument;
459
+ delete options.new;
458
460
  return options;
459
461
  }
460
462
  options.returnDocument = 'before';
@@ -502,7 +504,16 @@ function processFLEOptions(fleOptions) {
502
504
  var _a, _b;
503
505
  assertKeysDefined(fleOptions, ['keyVaultNamespace', 'kmsProviders']);
504
506
  Object.keys(fleOptions).forEach(k => {
505
- if (['keyVaultClient', 'keyVaultNamespace', 'kmsProviders', 'schemaMap', 'bypassAutoEncryption', 'tlsOptions'].indexOf(k) === -1) {
507
+ if ([
508
+ 'keyVaultClient',
509
+ 'keyVaultNamespace',
510
+ 'kmsProviders',
511
+ 'schemaMap',
512
+ 'bypassAutoEncryption',
513
+ 'tlsOptions',
514
+ 'bypassQueryAnalysis',
515
+ 'encryptedFieldsMap'
516
+ ].indexOf(k) === -1) {
506
517
  throw new errors_1.MongoshInvalidInputError(`Unrecognized FLE Client Option ${k}`);
507
518
  }
508
519
  });
@@ -534,6 +545,12 @@ function processFLEOptions(fleOptions) {
534
545
  if (fleOptions.bypassAutoEncryption !== undefined) {
535
546
  autoEncryption.bypassAutoEncryption = fleOptions.bypassAutoEncryption;
536
547
  }
548
+ if (fleOptions.encryptedFieldsMap) {
549
+ autoEncryption.encryptedFieldsMap = fleOptions.encryptedFieldsMap;
550
+ }
551
+ if (fleOptions.bypassQueryAnalysis !== undefined) {
552
+ autoEncryption.bypassQueryAnalysis = fleOptions.bypassQueryAnalysis;
553
+ }
537
554
  if (fleOptions.tlsOptions !== undefined) {
538
555
  autoEncryption.tlsOptions = fleOptions.tlsOptions;
539
556
  }
@@ -586,4 +603,34 @@ function adjustRunCommand(cmd, shellBson) {
586
603
  return cmd;
587
604
  }
588
605
  exports.adjustRunCommand = adjustRunCommand;
606
+ const isFLE2Collection = (collections, index) => {
607
+ return (!collections[index].name.startsWith('enxcol_.') &&
608
+ collections.some(coll => coll.name === `enxcol_.${collections[index].name}.esc`) &&
609
+ collections.some(coll => coll.name === `enxcol_.${collections[index].name}.ecc`) &&
610
+ collections.some(coll => coll.name === `enxcol_.${collections[index].name}.ecoc`));
611
+ };
612
+ function getBadge(collections, index) {
613
+ if (collections[index].type === 'timeseries') {
614
+ return '[time-series]';
615
+ }
616
+ if (collections[index].type === 'view') {
617
+ return '[view]';
618
+ }
619
+ if (isFLE2Collection(collections, index)) {
620
+ return '[queryable-encryption]';
621
+ }
622
+ return '';
623
+ }
624
+ exports.getBadge = getBadge;
625
+ exports.FREE_MONITORING_BANNER = `\
626
+ Enable MongoDB's free cloud-based monitoring service, which will then receive and display
627
+ metrics about your deployment (disk utilization, CPU, operation statistics, etc).
628
+
629
+ The monitoring data will be available on a MongoDB website with a unique URL accessible to you
630
+ and anyone you share the URL with. MongoDB may use this information to make product
631
+ improvements and to suggest MongoDB products and deployment options to you.
632
+
633
+ To enable free monitoring, run the following command: db.enableFreeMonitoring()
634
+ To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
635
+ `;
589
636
  //# sourceMappingURL=helpers.js.map