모듈: Mongo::Crypt::KMS::Validations Private

개요

이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이 모듈에는 KMS 매개변수의 유효성을 검사하기 위한 헬퍼 메서드가 포함되어 있습니다.

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

클래스 메서드 세부 정보

.validate_tls_options(options) ⇒ Hash

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS TLS 옵션의 유효성을 검사합니다.

매개변수:

  • 옵션 (Hash | nil)

    KMS 제공자에 연결하기 위한 TLS 옵션. 해시의 키는 KSM 제공자 이름이어야 합니다. 값은 TLS 연결 옵션의 해시여야 합니다. 이 옵션은 Mongo::Client의 TLS 연결 옵션과 동일합니다.

반환합니다:

  • (해시)

    유효한 경우 TLS 옵션을 제공했습니다.

다음을 발생시킵니다.

  • (ArgumentError)

    필수 옵션이 누락되었거나 형식이 잘못된 경우.



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

def validate_tls_options(옵션)
  opts = 옵션 || {}
  opts. do |provider, provider_opts|
    만약 provider_opts[:ssl] == 거짓 || opts[: tls] == 거짓
      올리다 ArgumentError.신규(
        "Incorrect TLS options for #{제공자}: TLS is requires"
      )
    end
    %i[
      ssl_verify_certificate
      ssl_verify_hostname
    ]. do |opt|
      다음 하지 않는 한 provider_opts[opt] == 거짓

      올리다 ArgumentError.신규(
        "#{provider}에 대한 잘못된 TLS 옵션: " +
        '안전하지 않은 TLS 옵션 금지, ' +
        "#{opt} 는 KMS에 대해 false로 설정할 수 없습니다"
      )
    end
  end
  opts
end

인스턴스 메서드 세부 정보

#validate_param(키, 옵션, format_hint, 필수: true) ⇒ string | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS 매개변수가 유효한지 확인합니다.

매개변수:

  • (기호)

    매개변수 이름입니다.

  • opts (해시)

    해시는 키 아래에 매개변수를 포함해야 합니다.

  • 필수 (부울) (기본값: true)

    매개변수가 필수인지 여부입니다. 필수가 아닌 매개변수는 nil일 수 있습니다.

반환합니다:

  • (string | nil)

    string 매개변수 값을 반환하거나, 필수가 아닌 매개변수가 누락된 경우 nil을 반환합니다.

다음을 발생시킵니다.

  • (ArgumentError)

    필수 옵션이 누락되었거나 형식이 잘못된 경우.



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
# 파일 'lib/ Mongo/crypt/kms.rb', 42줄

def validate_param(, opts, format_hint, 필수: true)
  value = opts.가져오기()
  반환 nil 만약 value.nil? && !필수

  만약 value.nil?
    올리다 ArgumentError.신규(
         
    
  
   
     
          
    
  
   
     
         
    
  
  
 
   
     
       
      
    
  
" #{ 키 } 옵션은 하나 이상의 문자가 포함된 문자열이어야 하며, " { 키 } 옵션은 현재 값이 없으면 ' )로 끝납니다. is_a? ( String ) ArgumentError를 발생시킵니다. new ( " #{ key } 옵션은 문자가 하나 이상 포함된 문자열이어야 합니다. 비어 있나요? ArgumentError를 발생시킵니다. new ( " #{ key } 옵션은 하나 이상의 문자가 포함된 문자열이어야 합니다. new ( " 지정된 KMS 제공자 옵션이 잘못되었습니다: #{ opts }. " + format_hint ) end end