case class ClientEncryption(wrapped: com.mongodb.reactivestreams.client.vault.ClientEncryption) extends Closeable with Product with Serializable
The Key vault.
Used to create data encryption keys, and to explicitly encrypt and decrypt values when auto-encryption is not an option.
- Since
2.7
- Alphabetic
- By Inheritance
- ClientEncryption
- Serializable
- Serializable
- Product
- Equals
- Closeable
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ClientEncryption(wrapped: com.mongodb.reactivestreams.client.vault.ClientEncryption)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
def
close(): Unit
- Definition Classes
- ClientEncryption → Closeable → AutoCloseable
-
def
createDataKey(kmsProvider: String, dataKeyOptions: DataKeyOptions): SingleObservable[BsonBinary]
Create a data key with the given KMS provider and options.
Create a data key with the given KMS provider and options.
Creates a new key document and inserts into the key vault collection.
- kmsProvider
the KMS provider
- dataKeyOptions
the options for data key creation
- returns
a Publisher containing the identifier for the created data key
-
def
createDataKey(kmsProvider: String): SingleObservable[BsonBinary]
Create a data key with the given KMS provider.
Create a data key with the given KMS provider.
Creates a new key document and inserts into the key vault collection.
- kmsProvider
the KMS provider
- returns
a Publisher containing the identifier for the created data key
-
def
createEncryptedCollection(database: MongoDatabase, collectionName: String, createCollectionOptions: CreateCollectionOptions, createEncryptedCollectionParams: CreateEncryptedCollectionParams): SingleObservable[BsonDocument]
Create a new collection with encrypted fields, automatically creating new data encryption keys when needed based on the configured
encryptedFields, which must be specified.Create a new collection with encrypted fields, automatically creating new data encryption keys when needed based on the configured
encryptedFields, which must be specified. This method does not modify the configuredencryptedFieldswhen creating new data keys, instead it creates a new configuration if needed.- database
The database to use for creating the collection.
- collectionName
The name for the collection to create.
- createCollectionOptions
Options for creating the collection.
- createEncryptedCollectionParams
Auxiliary parameters for creating an encrypted collection.
- returns
A publisher of the (potentially updated)
encryptedFieldsconfiguration that was used to create the collection. A user may use this document to configurecom.mongodb.AutoEncryptionSettings.getEncryptedFieldsMap. Produces MongoUpdatedEncryptedFieldsExceptionif an exception happens after creating at least one data key. This exception makes the updatedencryptedFieldsavailable to the caller.
- Annotations
- @Beta()
- Since
4.9
- Note
Requires MongoDB 7.0 or greater.
- See also
-
def
decrypt(value: BsonBinary): SingleObservable[BsonValue]
Decrypt the given value.
Decrypt the given value.
- value
the value to decrypt, which must be of subtype 6
- returns
a Publisher containing the decrypted value
-
def
encrypt(value: BsonValue, options: EncryptOptions): SingleObservable[BsonBinary]
Encrypt the given value with the given options.
Encrypt the given value with the given options. The driver may throw an exception for prohibited BSON value types
- value
the value to encrypt
- options
the options for data encryption
- returns
a Publisher containing the encrypted value, a BSON binary of subtype 6
-
def
encryptExpression(expression: Document, options: EncryptOptions): SingleObservable[Document]
Encrypts a Match Expression or Aggregate Expression to query a range index.
Encrypts a Match Expression or Aggregate Expression to query a range index.
The expression is expected to be in one of the following forms:
- A Match Expression of this form:
{$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}}- An Aggregate Expression of this form:
{$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}] }}$gtmay also be$gte.$ltmay also be$lte.Only supported when queryType is "range" and algorithm is "Range".
- expression
the Match Expression or Aggregate Expression
- options
the options
- returns
a Publisher containing the queryable encrypted range expression
- Since
4.9
- Note
Requires MongoDB 8.0 or greater
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated