모듈: 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)

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



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/crypt/kms.rb', 줄 87

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
  end
  opts
end

인스턴스 메서드 세부 정보

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

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

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

매개변수:

  • (기호)

    매개변수 이름입니다.

  • opts (해시)

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

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

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

반환합니다:

  • (string | nil)

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

다음을 발생시킵니다.

  • (ArgumentError)

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



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
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/crypt/kms.rb', 줄 43

def validate_param(, opts, format_hint, 필수: true)
  value = opts.가져오기()
  반환 nil 만약 value.nil? && !필수
  만약 value.nil?
    올리다 ArgumentError.신규(
       "#{key}  string 옵션 은 하나 이상의 문자가포함된 이어야 하며, " \ 
      "현재 nil이
    ")
  
  ) 가 아닌 경우 끝 납니다.is_a?() string
     ArgumentError 를 발생 시킵니다.새로운(
      " #{key}  옵션 string 은 하나 이상의 문자가 포함된 이어야 하며, " \
      " 현재 #{value}
    
  
   집니다.비어있나요?
    ArgumentError  발생 시킵니다.새로운(
       "  string #{ key} 옵션
      은 하나 이상의 문자 포함 string
    
  
  문자열
이어야 하며, "
   \
" 빈
    문자열 입니다. 새로운(
      "지정된 KMS 제공자 옵션이 유효하지 않습니다: #{opts}. " +
      format_hint
    )
  그렇지 않으면
    nil
  end
end