Clase: Mongo::Crypt::KMS::AWS::MasterKeyDocument Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
validación
Definido en:
lib/mongo/crypt/kms/aws/master_document.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

El objeto de documento de clave maestra de AWS KMS contiene los parámetros de clave maestra de KMS.

Colapso delresumen constante

SUGERENCIA_DE_FORMATO =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

"Eldocumento clave de AWS debe tener elformato:" +
"{ region: 'REGION', key: 'KEY' }"

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos en Validaciones

#validate_param, validate_tls_options

Detalles del constructor

#inicializar(opts) ⇒ MasterKeyDocument

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea un formulario de objeto de documento de clave maestra a partir de un hash de parámetros.

Parámetros:

  • opta (encriptada)

    Un hash que contiene opciones de clave maestra para el proveedor de KMS de AWS.

Opciones Hash (opts):

  • :región (Cadena)

    Región AWS.

  • :clave (Cadena)

    Clave de AWS KMS.

  • punto final (String | nil)

    Punto final de AWS KMS, opcional.

Aumenta:

  • (ArgumentError)

    Si faltan opciones requeridas o están incorrectas.



49
50
51
52
53
54
55
56
57
58
# Archivo 'lib/mongo/crypt/kms/aws/master_document.rb', línea 49

def inicializar(opta)
  a menos que opta.is_a?(Picadillo)
    propagar ArgumentError.Nuevo(
      'Las opciones del documento clave deben contener una clave denominada :master_key con un valor Hash'
    )
  end
  @region = validate_param(:región, opta, FORMAT_HINT)
  @llave = validate_param(:clave, opta, FORMAT_HINT)
  @endpoint = validate_param(punto final, opta, FORMAT_HINT, obligatorio: false)
end

Detalles de los atributos de instancia

#punto finalCadena | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el punto final de AWS KMS.

Devuelve:

  • (String | nil)

    Punto final de AWS KMS.



35
36
37
# Archivo 'lib/mongo/crypt/kms/aws/master_document.rb', línea 35

def endpoint
  @endpoint
end

#clavestring (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve la clave AWS KMS.

Devuelve:

  • (string)

    Clave de AWS KMS.



32
33
34
# Archivo 'lib/mongo/crypt/kms/aws/master_document.rb', línea 32

def llave
  @llave
end

#regiónCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve la región de AWS.

Devuelve:

  • (string)

    Región AWS.



29
30
31
# Archivo 'lib/mongo/crypt/kms/aws/master_document.rb', línea 29

def region
  @region
end

Detalles del método de instancia

#to_documentBSON::Document

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el objeto de documento de clave maestra en un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Document)

    Documento clave maestra AWS KMS en formato libmongocrypt.



63
64
65
66
67
68
69
70
71
72
73
# Archivo 'lib/mongo/crypt/kms/aws/master_document.rb', línea 63

def to_document
  BSON::Documento.Nuevo({
    proveedor: 'aws',
    región: region,
    clave: llave,
  }).tocar hacer |BSON|
    a menos que endpoint.nil?
      BSON.update({ punto final: endpoint })
    end
  end
end