Packages

c

org.mongodb.scala.vault

ClientEncryption

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

Linear Supertypes
Serializable, Product, Equals, Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClientEncryption
  2. Serializable
  3. Product
  4. Equals
  5. Closeable
  6. AutoCloseable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ClientEncryption(wrapped: com.mongodb.reactivestreams.client.vault.ClientEncryption)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addKeyAltName(id: BsonBinary, keyAltName: String): SingleObservable[BsonDocument]

    Adds a keyAltName to the keyAltNames array of the key document in the key vault collection with the given UUID.

    Adds a keyAltName to the keyAltNames array of the key document in the key vault collection with the given UUID.

    id

    the data key UUID (BSON binary subtype 0x04)

    keyAltName

    the alternative key name to add to the keyAltNames array

    returns

    an Observable containing the previous version of the key document or an empty Observable if no match

    Since

    5.6

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. def close(): Unit
    Definition Classes
    ClientEncryption → Closeable → AutoCloseable
  8. 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

    an Observable containing the identifier for the created data key

  9. 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

    an Observable containing the identifier for the created data key

  10. 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 configured encryptedFields when 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

    An Observable of the (potentially updated) encryptedFields configuration that was used to create the collection. A user may use this document to configure com.mongodb.AutoEncryptionSettings.getEncryptedFieldsMap. Produces MongoUpdatedEncryptedFieldsException if an exception happens after creating at least one data key. This exception makes the updated encryptedFields available to the caller.

    Annotations
    @Beta()
    Since

    4.9

    Note

    Requires MongoDB 7.0 or greater.

    See also

    Create Command

  11. 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

    an Observable containing the decrypted value

  12. def deleteKey(id: BsonBinary): SingleObservable[DeleteResult]

    Removes the key document with the given data key from the key vault collection.

    Removes the key document with the given data key from the key vault collection.

    id

    the data key UUID (BSON binary subtype 0x04)

    returns

    an Observable containing the delete result

    Since

    5.6

  13. 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

    an Observable containing the encrypted value, a BSON binary of subtype 6

  14. 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>]}] }}

    $gt may also be $gte. $lt may also be $lte.

    Only supported when queryType is "range" and algorithm is "Range".

    queryable encryption

    expression

    the Match Expression or Aggregate Expression

    options

    the options

    returns

    an Observable containing the queryable encrypted range expression

    Since

    4.9

    Note

    Requires MongoDB 8.0 or greater

  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  17. def getKey(id: BsonBinary): SingleObservable[BsonDocument]

    Finds a single key document with the given UUID (BSON binary subtype 0x04).

    Finds a single key document with the given UUID (BSON binary subtype 0x04).

    id

    the data key UUID (BSON binary subtype 0x04)

    returns

    an Observable containing the single key document or an empty Observable if there is no match

    Since

    5.6

  18. def getKeyByAltName(keyAltName: String): SingleObservable[BsonDocument]

    Returns a key document in the key vault collection with the given keyAltName.

    Returns a key document in the key vault collection with the given keyAltName.

    keyAltName

    the alternative key name

    returns

    an Observable containing the matching key document or an empty Observable if there is no match

    Since

    5.6

  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def keys: FindObservable[BsonDocument]

    Finds all documents in the key vault collection.

    Finds all documents in the key vault collection.

    returns

    a find Observable for the documents in the key vault collection

    Since

    5.6

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  24. def productElementNames: Iterator[String]
    Definition Classes
    Product
  25. def removeKeyAltName(id: BsonBinary, keyAltName: String): SingleObservable[BsonDocument]

    Removes a keyAltName from the keyAltNames array of the key document in the key vault collection with the given id.

    Removes a keyAltName from the keyAltNames array of the key document in the key vault collection with the given id.

    id

    the data key UUID (BSON binary subtype 0x04)

    keyAltName

    the alternative key name

    returns

    an Observable containing the previous version of the key document or an empty Observable if there is no match

    Since

    5.6

  26. def rewrapManyDataKey(filter: Bson, options: RewrapManyDataKeyOptions): SingleObservable[RewrapManyDataKeyResult]

    Decrypts multiple data keys and (re-)encrypts them with a new masterKey, or with their current masterKey if a new one is not given.

    Decrypts multiple data keys and (re-)encrypts them with a new masterKey, or with their current masterKey if a new one is not given.

    filter

    the filter

    options

    the options

    returns

    an Observable containing the result

    Since

    5.6

  27. def rewrapManyDataKey(filter: Bson): SingleObservable[RewrapManyDataKeyResult]

    Decrypts multiple data keys and (re-)encrypts them with the current masterKey.

    Decrypts multiple data keys and (re-)encrypts them with the current masterKey.

    filter

    the filter

    returns

    an Observable containing the result

    Since

    5.6

  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped