类:Mongo::Crypt::KMS::GCP::MasterKeyDocument Private

继承:
对象
  • 对象
显示全部
包括:
验证
定义于:
构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / GCP /master_document.rb

Overview

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

GCP KMS主密钥文档对象包含KMS主密钥参数。

常量摘要折叠

FORMAT_HINT =

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

" GCP密钥文档必须采用以下格式: " +
" { project_id: 'PROJECT_ID', location: 'LOCATION', " +
"key_ring: 'KEY-RING', key_name: 'KEY-NAME' }"

实例属性摘要折叠

实例方法摘要折叠

验证中包含的方法

#validate_param , validate_tls_options

构造函数详情

#initialize (opts) ⇒ MasterKeyDocument

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

从参数哈希创建主密钥文档对象。

参数:

  • opts (哈希)

    包含GCP KMS提供商的主密钥选项的哈希值。

选项哈希 ( opts ):

  • :project_id string

    GCP 项目 ID。

  • :location string

    GCP 位置。

  • :key_ring string

    GCP KMS密钥环。

  • :key_name string

    GCP KMS密钥名称。

  • :key_version ( string | nil )

    GCP KMS密钥版本,可选。

  • :endpoint ( string | nil )

    GCP KMS 密钥端点,可选。

引发:

  • ( ArgumentError )

    如果所需选项缺失或不正确。



62
63
64
65
66
67
68
69
70
71
72
73
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS / GCP /master_document.rb', 第62行

def 初始化(opts)
  if opts.空?
    @empty = true
    return
  end
  @project_id = validate_param(:project_id, opts, FORMAT_HINT)
  位置 = validate_param(:location, opts, FORMAT_HINT)
  @key_ring = validate_param(:key_ring, opts, FORMAT_HINT)
  @key_name = validate_param(:key_name, opts, FORMAT_HINT)
  @key_version = validate_param(:key_version, opts, FORMAT_HINT, 必需: false)
  @endpoint = validate_param(:endpoint, opts, FORMAT_HINT, 必需: false)
end

实例属性详细信息

#端点string | nil (只读)

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

返回GCP KMS端点。

返回:

  • ( string | nil )

    GCP KMS 端点。



44
45
46
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS / GCP /master_document.rb', 第44行

def 端点
  @endpoint
end

# key_namestring (只读)

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

返回GCP KMS密钥名称。

返回:

  • ( string )

    GCP KMS密钥名称。



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

def key_name
  @key_name
end

# key_ringstring (只读)

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

返回GCP KMS密钥环。

返回:

  • ( string )

    GCP KMS密钥环。



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

def key_ring
  @key_ring
end

# key_versionstring | nil (只读)

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

返回GCP KMS密钥版本。

返回:

  • ( string | nil )

    GCP KMS 密钥版本。



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

def key_version
  @key_version
end

#位置string (只读)

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

返回GCP位置。

返回:

  • ( string )

    GCP 位置。



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

def 位置
  位置
end

# project_idstring (只读)

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

返回GCP项目ID。

返回:

  • ( string )

    GCP 项目 ID。



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

def PROJECT_ID
  @project_id
end

实例方法详细信息

# to_documentBSON::Document

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

将主密钥文档对象转换为 libmongocrypt 格式的 BSON 文档。

返回:

  • ( BSON::Document )

    凭证格式的GCP KMS档案。



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'build/Ruby-driver-v2.19/lib/ mongo /crypt/ KMS / GCP /master_document.rb', 第78行

def to_document
  return BSON::文档.new({}) if @empty
  BSON::文档.new({
    提供商: 'gcp',
    projectId: PROJECT_ID,
    位置: 位置,
    keyRing: key_ring,
    keyName: key_name
  }).点击 do |bson|
    除非 key_version.nil?
      bson.update({ keyVersion: key_version })
    end
    除非 端点.nil?
      bson.update({ 端点: 端点 })
    end
  end
end