Skip to content

Commit 270725d

Browse files
vector-of-boolkevinAlbs
authored andcommitted
[CDRIVER-4402] Document Queryable Encryption as an experimental API (#1036)
1 parent 9069165 commit 270725d

8 files changed

+68
-7
lines changed

src/libmongoc/doc/conf.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,23 @@
5151
'configuring_tls': [], # Make more room for the big table.
5252
}
5353

54+
rst_prolog = '''
55+
.. |qenc:is-experimental| replace::
56+
57+
is part of the experimental
58+
:doc:`Queryable Encryption </queryable-encryption>` API and may be subject
59+
to breaking changes in future releases.
60+
61+
.. |qenc:opt-is-experimental| replace::
62+
63+
This option |qenc:is-experimental|
64+
65+
.. |qenc:api-is-experimental| replace::
66+
67+
This API |qenc:is-experimental|
68+
69+
'''
70+
5471

5572
def add_canonical_link(app, pagename, templatename, context, doctree):
5673
link = ('<link rel="canonical"'

src/libmongoc/doc/mongoc_auto_encryption_opts_set_bypass_query_analysis.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Synopsis
1212
mongoc_auto_encryption_opts_set_bypass_query_analysis (
1313
mongoc_auto_encryption_opts_t *opts, bool bypass_query_analysis);
1414
15+
.. important:: |qenc:api-is-experimental|
16+
.. versionadded:: 1.22.0
1517

1618
Parameters
1719
----------

src/libmongoc/doc/mongoc_auto_encryption_opts_set_encrypted_fields_map.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Synopsis
1212
mongoc_auto_encryption_opts_set_encrypted_fields_map (
1313
mongoc_auto_encryption_opts_t *opts, const bson_t *encrypted_fields_map);
1414
15+
.. important:: |qenc:api-is-experimental|
16+
.. versionadded:: 1.22.0
1517

1618
Parameters
1719
----------

src/libmongoc/doc/mongoc_client_encryption_encrypt.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,15 @@ Performs explicit encryption.
2020

2121
``ciphertext`` is always initialized (even on failure). Caller must call :symbol:`bson_value_destroy()` to free.
2222

23-
To insert or query with an "Indexed" encrypted payload, use a :symbol:`mongoc_client_t` configured with :symbol:`mongoc_auto_encryption_opts_t`.
24-
The :symbol:`mongoc_auto_encryption_opts_t` may be configured to bypass query analysis with :symbol:`mongoc_auto_encryption_opts_set_bypass_query_analysis`.
25-
The :symbol:`mongoc_auto_encryption_opts_t` must not be configured to bypass automatic encryption with :symbol:`mongoc_auto_encryption_opts_set_bypass_auto_encryption`.
23+
To insert or query with an "Indexed" encrypted payload, use a
24+
:symbol:`mongoc_client_t` configured with
25+
:symbol:`mongoc_auto_encryption_opts_t`. The
26+
:symbol:`mongoc_auto_encryption_opts_t` may be configured to bypass query
27+
analysis with :symbol:`mongoc_auto_encryption_opts_set_bypass_query_analysis`.
28+
The :symbol:`mongoc_auto_encryption_opts_t` must not be configured to bypass
29+
automatic encryption with
30+
:symbol:`mongoc_auto_encryption_opts_set_bypass_auto_encryption`. **Note** that
31+
the ``"Indexed"`` payload type |qenc:is-experimental|
2632

2733
Parameters
2834
----------

src/libmongoc/doc/mongoc_client_encryption_encrypt_opts_set_algorithm.rst

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,32 @@ Synopsis
1414
1515
#define MONGOC_AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
1616
#define MONGOC_AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
17+
// (Experimental: See below)
1718
#define MONGOC_ENCRYPT_ALGORITHM_INDEXED "Indexed"
19+
// (Experimental: See below)
1820
#define MONGOC_ENCRYPT_ALGORITHM_UNINDEXED "Unindexed"
1921
2022
Identifies the algorithm to use for encryption. Valid values of ``algorithm`` are:
2123

22-
* "AEAD_AES_256_CBC_HMAC_SHA_512-Random" for randomized encryption.
23-
* "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" for deterministic (queryable) encryption.
24-
* "Indexed" for indexed encryption.
25-
* "Unindexed" for unindexed encryption.
24+
``"AEAD_AES_256_CBC_HMAC_SHA_512-Random"``
25+
26+
for randomized encryption.
27+
28+
``"AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"``
29+
30+
for deterministic (queryable) encryption.
31+
32+
``"Indexed"``
33+
34+
for indexed encryption.
35+
36+
.. note:: |qenc:opt-is-experimental|
37+
38+
``"Unindexed"``
39+
40+
for unindexed encryption.
41+
42+
.. note:: |qenc:opt-is-experimental|
2643

2744
Parameters
2845
----------

src/libmongoc/doc/mongoc_client_encryption_encrypt_opts_set_contention_factor.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ Synopsis
1212
mongoc_client_encryption_encrypt_opts_set_contention_factor (
1313
mongoc_client_encryption_encrypt_opts_t *opts, int64_t contention_factor);
1414
15+
.. important:: |qenc:api-is-experimental|
16+
.. versionadded:: 1.22.0
17+
1518
Sets a contention factor for explicit encryption.
1619
Only applies when the algorithm set by :symbol:`mongoc_client_encryption_encrypt_opts_set_algorithm()` is "Indexed".
1720
It is an error to set the contention factor when algorithm is not "Indexed".

src/libmongoc/doc/mongoc_client_encryption_encrypt_opts_set_query_type.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ Synopsis
1414
mongoc_client_encryption_encrypt_opts_set_query_type (
1515
mongoc_client_encryption_encrypt_opts_t *opts, mongoc_encrypt_query_type_t query_type);
1616
17+
.. important:: |qenc:api-is-experimental|
18+
.. versionadded:: 1.22.0
19+
1720
Sets a query type for explicit encryption.
1821
Only applies when the algorithm set by :symbol:`mongoc_client_encryption_encrypt_opts_set_algorithm()` is "Indexed".
1922
It is an error to set the query type when algorithm is not "Indexed".
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
:orphan:
2+
3+
##################################
4+
Experimental: Queryable Encryption
5+
##################################
6+
7+
MongoDB 6.0 introduces *Queryable Encryption* as a Public Technical Preview.
8+
This API is still experimental and subject to breaking changes!
9+
10+
APIs that are part of Queryable Encryption will be marked as experimental, and
11+
one should not rely on their stability.

0 commit comments

Comments
 (0)