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.



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms.rb', linha 87

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



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
73
74
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/kms.rb', linha 43

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; " \
      "atualmente não tem nil"
    )
  end
  menos que valor.is_a?(string)
    aumente o ArgumentError.novo(
      "A opção#{chave} deve ser uma string com pelo menos um caractere; " \
      "atualmente tem #{valor}"
    )
  fim
  se valor.vazio?
    aumentar ArgumentError.novo(
      "A opção#{key} deve ser uma string com pelo menos um caractere; " \
      "atualmente é uma stringvazia"
    )
  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
    )
  Else
    nil
  end
end