Classe: Mongo::Crypt::KMS::GCP::MasterKeyDocument Private

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Validações
Definido em:
build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

O objeto de documento de chave mestra GCP KMS contém parâmetros de chave mestra KMS.

Colapsode resumo constante

FORMAT_HINT =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

"O documento chave GCP deve estar no formato: " +
"{ project_id: 'PROJECT_ID', localização: 'LOCATION', " +
"key_ring: 'KEY-RING', key_name: 'KEY-NAME' }"

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Métodos incluídos nas Validações

#validate_param, validate_tls_options

Detalhes do construtor

#initialize(opts) ➤ MasterKeyDocument

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Cria um objeto de documento de chave mestra a partir de um hash de parâmetros.

Parâmetros:

  • opciona (Hash)

    Um hash que contém opções de chave mestre para o provedor GCP KMS.

Hash de opções (opts):

  • :project_id (string)

    ID do projeto GCP.

  • :location (string)

    Localização do GCP.

  • :key_ring (string)

    GCP KMS keyring.

  • :key_name (string)

    Nome da chave KMS do GCP.

  • :key_version (string | nil)

    Versão da chave GCP KMS, opcional.

  • :endpoint (string | nil)

    Ponto de conexão chave GCP KMS, opcional.

Aumenta:

  • (ArgumentError)

    Se as opções necessárias estiverem ausentes ou incorretas.



62
63
64
65
66
67
68
69
70
71
72
73
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 62

def inicializar(opciona)
  se opciona.vazio?
    @empty = true
    Método
  end
  @project_id = validate_param(:project_id, opciona, FORMAT_HINT)
  @location = validate_param(:location, opciona, FORMAT_HINT)
  @key_ring = validate_param(:key_ring, opciona, FORMAT_HINT)
  @key_name = validate_param(:key_name, opciona, FORMAT_HINT)
  @key_version = validate_param(:key_version, opciona, FORMAT_HINT, necessário: false)
  @endpoint = validate_param(:endpoint, opciona, FORMAT_HINT, necessário: false)
end

Detalhes do atributo da instância

#endpointstring | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o endpoint GCP KMS.

Retorna:

  • (string | nil)

    Ponto de extremidade GCP KMS.



44
45
46
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 44

def endpoint
  @endpoint
end

#key_name ➤ string (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o nome da chave KMS do GCP.

Retorna:

  • (string)

    Nome da chave KMS do GCP.



38
39
40
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 38

def key_name
  @key_name
end

#key_ring ➤ string (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o anel de chave GCP KMS.

Retorna:

  • (string)

    GCP KMS keyring.



35
36
37
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 35

def key_ring
  @key_ring
end

#key_version ➤ string | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna a versão da chave GCP KMS.

Retorna:

  • (string | nil)

    Versão da chave KMS do GCP.



41
42
43
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 41

def key_version
  @key_version
end

#localizaçãostring (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna a localização do GCP.

Retorna:

  • (string)

    Localização do GCP.



32
33
34
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 32

def localização
  @location
end

#project_idstring (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna a ID do projeto GCP.

Retorna:

  • (string)

    ID do projeto GCP.



29
30
31
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 29

def PROJECT_ID
  @project_id
end

Detalhes do método de instância

#to_document ➤ BSON::Document

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Converta o objeto de documento de chave mestra em um documento BSON no formato libmongocrypt.

Retorna:

  • (BSON::Document)

    Credenciais GCP KMS no formato libmongocrypt.



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/master_document.rb', linha 78

def to_document
  Método BSON::Documento.Novo({}) se @empty
  BSON::Documento.Novo({
    fornecedor: 'gcp',
    projectId: PROJECT_ID,
    localização: localização,
    chaveiro: key_ring,
    keyName: key_name
  }).toque fazer |BSON|
    a menos que key_version.nada?
      BSON.update({ keyVersion: key_version })
    end
    a menos que endpoint.nada?
      BSON.update({ ponto de conexão: endpoint })
    end
  end
end