-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Copy pathAutoEncryptionOptions.html
72 lines (72 loc) · 33.2 KB
/
AutoEncryptionOptions.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>AutoEncryptionOptions | mongodb</title><meta name="description" content="Documentation for mongodb"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">mongodb</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">mongodb</a></li><li><a href="AutoEncryptionOptions.html">AutoEncryptionOptions</a></li></ul><h1>Interface AutoEncryptionOptions</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">AutoEncryptionOptions</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#bson" class="tsd-kind-icon">bson</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#bypassAutoEncryption" class="tsd-kind-icon">bypass<wbr/>Auto<wbr/>Encryption</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#extraOptions" class="tsd-kind-icon">extra<wbr/>Options</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#keyVaultClient" class="tsd-kind-icon">key<wbr/>Vault<wbr/>Client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#keyVaultNamespace" class="tsd-kind-icon">key<wbr/>Vault<wbr/>Namespace</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#kmsProviders" class="tsd-kind-icon">kms<wbr/>Providers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#metadataClient" class="tsd-kind-icon">metadata<wbr/>Client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#options" class="tsd-kind-icon">options</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#schemaMap" class="tsd-kind-icon">schema<wbr/>Map</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="bson" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> bson</h3><div class="tsd-signature tsd-kind-icon">bson<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>deserialize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>buffer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBufferView</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">DeserializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a><span class="tsd-signature-symbol">; </span>serialize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>object<span class="tsd-signature-symbol">: </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">SerializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L179">src/deps.ts:179</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>deserialize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>buffer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBufferView</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">DeserializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>buffer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBufferView</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">DeserializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Deserialize data as BSON.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>buffer: <span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">ArrayBufferView</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>the buffer containing the serialized set of BSON documents.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">DeserializeOptions</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a></h4><div><p>returns the deserialized Javascript Object.</p>
</div></li></ul></li></ul></li><li class="tsd-parameter"><h5>serialize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>object<span class="tsd-signature-symbol">: </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">SerializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">Buffer</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>object<span class="tsd-signature-symbol">: </span><a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">SerializeOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Buffer</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"><div class="lead">
<p>Serialize a Javascript object.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>object: <a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>the Javascript object to serialize.</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">SerializeOptions</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Buffer</span></h4><div><p>Buffer object containing the serialized object.</p>
</div></li></ul></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="bypassAutoEncryption" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> bypass<wbr/>Auto<wbr/>Encryption</h3><div class="tsd-signature tsd-kind-icon">bypass<wbr/>Auto<wbr/>Encryption<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L247">src/deps.ts:247</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Allows the user to bypass auto encryption, maintaining implicit decryption</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="extraOptions" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> extra<wbr/>Options</h3><div class="tsd-signature tsd-kind-icon">extra<wbr/>Options<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>mongocryptdBypassSpawn<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>mongocryptdSpawnArgs<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>mongocryptdSpawnPath<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>mongocryptdURI<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L252">src/deps.ts:252</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> mongocryptd<wbr/>Bypass<wbr/>Spawn<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>If true, autoEncryption will not attempt to spawn a mongocryptd before connecting</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> mongocryptd<wbr/>Spawn<wbr/>Args<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Command line arguments to use when auto-spawning a mongocryptd</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> mongocryptd<wbr/>Spawn<wbr/>Path<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The path to the mongocryptd executable on the system</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> mongocryptdURI<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>A local process the driver communicates with to determine how to encrypt values in a command.
Defaults to "mongodb://%2Fvar%2Fmongocryptd.sock" if domain sockets are available or "mongodb://localhost:27020" otherwise</p>
</div></div></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="keyVaultClient" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> key<wbr/>Vault<wbr/>Client</h3><div class="tsd-signature tsd-kind-icon">key<wbr/>Vault<wbr/>Client<span class="tsd-signature-symbol">?:</span> <a href="../classes/MongoClient.html" class="tsd-signature-type" data-tsd-kind="Class">MongoClient</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L183">src/deps.ts:183</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>A <code>MongoClient</code> used to fetch keys from a key vault</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="keyVaultNamespace" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> key<wbr/>Vault<wbr/>Namespace</h3><div class="tsd-signature tsd-kind-icon">key<wbr/>Vault<wbr/>Namespace<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L185">src/deps.ts:185</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>The namespace where keys are stored in the key vault</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="kmsProviders" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> kms<wbr/>Providers</h3><div class="tsd-signature tsd-kind-icon">kms<wbr/>Providers<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>aws<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>accessKeyId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>secretAccessKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>sessionToken<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>azure<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>clientId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>clientSecret<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>identityPlatformEndpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>tenantId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>gcp<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>email<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>endpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>privateKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>local<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L187">src/deps.ts:187</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration options that are used by specific KMS providers during key generation, encryption, and decryption.</p>
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> aws<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>accessKeyId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>secretAccessKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>sessionToken<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration options for using 'aws' as your KMS provider</p>
</div></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5>access<wbr/>Key<wbr/>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The access key used for the AWS KMS provider</p>
</div></div></li><li class="tsd-parameter"><h5>secret<wbr/>Access<wbr/>Key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The secret access key used for the AWS KMS provider</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> session<wbr/>Token<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>An optional AWS session token that will be used as the
X-Amz-Security-Token header for AWS requests.</p>
</div></div></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> azure<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>clientId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>clientSecret<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>identityPlatformEndpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>tenantId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration options for using 'azure' as your KMS provider</p>
</div></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5>client<wbr/>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The client ID to authenticate a registered application</p>
</div></div></li><li class="tsd-parameter"><h5>client<wbr/>Secret<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The client secret to authenticate a registered application</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> identity<wbr/>Platform<wbr/>Endpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>If present, a host with optional port. E.g. "example.com" or "example.com:443".
This is optional, and only needed if customer is using a non-commercial Azure instance
(e.g. a government or China account, which use different URLs).
Defaults to "login.microsoftonline.com"</p>
</div></div></li><li class="tsd-parameter"><h5>tenant<wbr/>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The tenant ID identifies the organization for the account</p>
</div></div></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> gcp<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>email<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>endpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>privateKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration options for using 'gcp' as your KMS provider</p>
</div></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5>email<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The service account email to authenticate</p>
</div></div></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> endpoint<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>If present, a host with optional port. E.g. "example.com" or "example.com:443".
Defaults to "oauth2.googleapis.com"</p>
</div></div></li><li class="tsd-parameter"><h5>private<wbr/>Key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>A PKCS#8 encrypted key. This can either be a base64 string or a binary representation</p>
</div></div></li></ul></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> local<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol"> }</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Configuration options for using 'local' as your KMS provider</p>
</div></div><ul class="tsd-parameters"><li class="tsd-parameter"><h5>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Buffer</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The master key used to encrypt/decrypt data keys.
A 96-byte long Buffer or base64 encoded string.</p>
</div></div></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="metadataClient" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> metadata<wbr/>Client</h3><div class="tsd-signature tsd-kind-icon">metadata<wbr/>Client<span class="tsd-signature-symbol">?:</span> <a href="../classes/MongoClient.html" class="tsd-signature-type" data-tsd-kind="Class">MongoClient</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L181">src/deps.ts:181</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="options" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> options</h3><div class="tsd-signature tsd-kind-icon">options<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>logger<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L248">src/deps.ts:248</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>logger<span class="tsd-signature-symbol">?:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">(</span>level<span class="tsd-signature-symbol">: </span><a href="../modules.html#AutoEncryptionLoggerLevel" class="tsd-signature-type" data-tsd-kind="Variable">AutoEncryptionLoggerLevel</a>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L250">src/deps.ts:250</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>An optional hook to catch logging messages from the underlying encryption engine</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>level: <a href="../modules.html#AutoEncryptionLoggerLevel" class="tsd-signature-type" data-tsd-kind="Variable">AutoEncryptionLoggerLevel</a></h5></li><li><h5>message: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="schemaMap" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> schema<wbr/>Map</h3><div class="tsd-signature tsd-kind-icon">schema<wbr/>Map<span class="tsd-signature-symbol">?:</span> <a href="Document.html" class="tsd-signature-type" data-tsd-kind="Interface">Document</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/mongodb/node-mongodb-native/blob/a766f1c/src/deps.ts#L245">src/deps.ts:245</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>A map of namespaces to a local JSON schema for encryption</p>
</div><div><p><strong>NOTE</strong>: Supplying options.schemaMap provides more security than relying on JSON Schemas obtained from the server.
It protects against a malicious server advertising a false JSON Schema, which could trick the client into sending decrypted data that should be encrypted.
Schemas supplied in the schemaMap only apply to configuring automatic encryption for client side encryption.
Other validation rules in the JSON schema will not be enforced by the driver and will result in an error.</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="AutoEncryptionOptions.html" class="tsd-kind-icon">Auto<wbr/>Encryption<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#bson" class="tsd-kind-icon">bson</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#bypassAutoEncryption" class="tsd-kind-icon">bypass<wbr/>Auto<wbr/>Encryption</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#extraOptions" class="tsd-kind-icon">extra<wbr/>Options</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#keyVaultClient" class="tsd-kind-icon">key<wbr/>Vault<wbr/>Client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#keyVaultNamespace" class="tsd-kind-icon">key<wbr/>Vault<wbr/>Namespace</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#kmsProviders" class="tsd-kind-icon">kms<wbr/>Providers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#metadataClient" class="tsd-kind-icon">metadata<wbr/>Client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#options" class="tsd-kind-icon">options</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="AutoEncryptionOptions.html#schemaMap" class="tsd-kind-icon">schema<wbr/>Map</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li><li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li><li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>