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

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

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

    A publisher 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

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

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

  12. 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 "rangePreview" and algorithm is "RangePreview".

    Note: The Range algorithm is experimental only. It is not intended for public use. It is subject to breaking changes.

    queryable encryption

    expression

    the Match Expression or Aggregate Expression

    options

    the options

    returns

    a Publisher containing the queryable encrypted range expression

    Annotations
    @Beta()
    Since

    4.9

    Note

    Requires MongoDB 6.2 or greater

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. def productElementNames: Iterator[String]
    Definition Classes
    Product
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  23. 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

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped