类:Mongo::Crypt::KMS::Credentials Private

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

KMS 凭证对象包含使用 KMS 提供程序的凭证。

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#initialize ( kms_providers ) ⇒ 档案

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

注意:

可能指定了多个 KMS 提供商。

从参数哈希中创建 KMS 凭证对象。

参数:

  • kms_providers (哈希)

    包含 KMS 提供程序档案的哈希值。 哈希应将 KMS 提供商名称作为键,并将每个提供商所需的参数作为值。 Mongo::Crypt::KMS 模块内的相应类描述了 KMS 提供程序所需的参数。

引发:

  • ( ArgumentError )

    如果必需的选项丢失或格式不正确。



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第54行

def 初始化(kms_providers)
  if kms_providers.nil?
    提高 ArgumentError.new(" KMS provider options must not be nil ")
  end
  if kms_providers.键?(:aws)
    @aws = AWS::凭证.new(kms_providers[:aws])
  end
  if kms_providers.键?(:azure)
    @azure = AZURE::凭证.new(kms_providers[:azure])
  end
  if kms_providers.键?(:gcp)
    @gcp = GCP::凭证.new(kms_providers[:gcp])
  end
  if kms_providers.键?(:kmip)
    @kmip = KMIP::凭证.new(kms_providers[:kmip])
  end
  if kms_providers.键?(:local)
    @local = local::凭证.new(kms_providers[:local])
  end
  if @aws.nil? && @azure.nil? && @gcp.nil? && @kmip.nil? && @local.nil?
    提高 ArgumentError.new(
      " KMS 提供程序选项必须具有以下键之一: " +
      " :aws, :azure, :gcp, :kmip, :local "
    )
  end
end

实例属性详细信息

# Amazon Web ServicesCredentials::AWS | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Amazon Web Services KMS凭证。

返回:

  • ( Credentials::AWS | nil )

    Amazon Web Services KMS凭证。



28
29
30
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第28行

def AWS
  @aws
end

# azureCredentials::Azure | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 Azure KMS 档案。

返回:

  • ( Credentials::Azure | nil )

    Azure KMS 凭证。



31
32
33
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第31行

def AZURE
  @azure
end

# gcpCredentials::GCP | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 GCP KMS 档案。

返回:

  • ( Credentials::GCP | nil )

    GCP KMS 凭证。



34
35
36
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第34行

def GCP
  @gcp
end

# kmipCredentials::KMIP | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 KMIP KMS 档案。

返回:

  • ( Credentials::KMIP | nil )

    KMIP KMS 凭证。



37
38
39
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第37行

def KMIP
  @kmip
end

# localCredentials::Local | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回本地 KMS 档案。

返回:

  • ( Credentials::Local | nil )

    本地 KMS 档案。



40
41
42
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第40行

def local
  @local
end

实例方法详细信息

# to_documentBSON::Document

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

将凭证对象转换为 libmongocrypt 格式的BSON文档。

返回:

  • ( BSON::Document )

    BSON 文档形式的档案。



84
85
86
87
88
89
90
91
92
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS /credentials.rb', 第84行

def to_document
  BSON::文档.new.点击 do |bson|
    bson[:aws] = @aws.to_document if @aws
    bson[:azure] = @azure.to_document if @azure
    bson[:gcp] = @gcp.to_document if @gcp
    bson[:kmip] = @kmip.to_document if @kmip
    bson[:local] = @local.to_document if @local
  end
end