Módulo: Mongo::Crypt::KMS::Validations Private

Visão geral

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Este módulo contém métodos de ajuda para validar parâmetros KMS.

Recolhimento do Resumo do método de classe

Recolhimento do Resumo do método de instância

Detalhes do método de classe

.validate_tls_options(options) ⇒ Hash

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.

Validar as opções do KMS TLS.

Parâmetros:

  • opções (Hash | nulo)

    Opções de TLS para se conectar a provedores de KMS. As chaves do hash devem ser nomes de provedor KSM; Os valores devem ser hashes de opções de conexão TLS . As opções são equivalentes às opções de conexão TLS do Mongo::Client.

Retorna:

  • (Hash)

    Opções de TLS fornecidas, se válidas.

Aumenta:

  • (ArgumentError)

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



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Arquivo 'lib/mongo/crypt/kms.rb', linha 85

def validate_tls_options(opções)
  opciona = opções || {}
  opciona.cada fazer |fornecedor, provider_opts|
    se provider_opts[:ssl] == false || opciona[: tls] == false
      aumentar ArgumentError.Novo(
        "Opções de TLS incorretas para #{provider}: o TLS é necessário"
      )
    end
    %i[
      ssl_verify_certificate
      ssl_verify_hostname
    ].cada fazer |opt|
      próximo a menos que provider_opts[opt] == false

      aumentar ArgumentError.Novo(
        "Opções de TLS incorretas para #{provider}: " +
        'Opções de TLS inseguras proibidas, ' +
        "#{opt} não pode ser definido como falso para KMS"
      )
    end
  end
  opciona
end

Detalhes do método de instância

#validate_param(key, opts, format_hint, necessário: true) ➤ string | nada

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.

Valide se um parâmetro KMS é válido.

Parâmetros:

  • chave (Símbolo)

    O nome do parâmetro.

  • opciona (Hash)

    O hash deve conter o parâmetro abaixo da chave.

  • necessário (Booleano) (padrão para: true)

    Se o parâmetro é necessário ou não. Os parâmetros não necessários podem ser nil.

Retorna:

  • (string | nil)

    Valor do parâmetro de string ou nulo se um parâmetro não obrigatório estiver ausente.

Aumenta:

  • (ArgumentError)

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



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Arquivo 'lib/mongo/crypt/kms.rb', linha 42

def validate_param(chave, opciona, format_hint, necessário: true)
  valor = opciona.buscar(chave)
  Método nada se valor.nada? && !necessário

  se valor.nada?
    aumentar ArgumentError.Novo(
         
    
  
   
     
          
    
  
   
     
         
    
  
  
 
   
     
       
      
    
  
" A opção #{ chave } deve ser uma string com pelo menos um caractere; " \ 'currently has nil' ) end exceto valor. is_a? ( String ) aumenta ArgumentError. new ( " A opção #{ chave } deve ser uma string com pelo menos um caractere; " \ " atualmente tem #{ valor } " ) end se valor. vazio? aumentar o ArgumentError. novo ( " A opção #{ chave } deve ser uma string com pelo menos um caractere; " \ ' atualmente é uma string vazia ' ) fim do valor salvar KeyError se necessário aumentar ArgumentError. novo ( " As opções do provedor de KMS especificadas são inválidas: #{ opts }. " + format_hint ) end end