google-cloud-kms 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/lib/google/cloud/kms.rb +4 -4
- data/lib/google/cloud/kms/v1.rb +4 -4
- data/lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/resources.rb +3 -3
- data/lib/google/cloud/kms/v1/doc/google/cloud/kms/v1/service.rb +6 -6
- data/lib/google/cloud/kms/v1/doc/google/iam/v1/iam_policy.rb +13 -13
- data/lib/google/cloud/kms/v1/doc/google/iam/v1/policy.rb +28 -28
- data/lib/google/cloud/kms/v1/doc/google/protobuf/duration.rb +3 -3
- data/lib/google/cloud/kms/v1/doc/google/protobuf/field_mask.rb +7 -7
- data/lib/google/cloud/kms/v1/doc/google/protobuf/timestamp.rb +7 -7
- data/lib/google/cloud/kms/v1/key_management_service_client.rb +168 -26
- data/lib/google/cloud/kms/v1/key_management_service_client_config.json +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b7d01a5d0b70c66bcc3e79d1f4a72d6df5345713b0d38a3920d290fa44447af
|
|
4
|
+
data.tar.gz: 3f3d4feaa68a0b3f50f887ecd8ecf1821574a2e6e48028d0581c5c4c4cae5d78
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8b185904ca8d46aed259be591c89dff15fa8fe5db35c06be2ce90380ed42d9a2e71c2fdfbd619e260c5e461212b22963850303c9f655b95bbdfedf9479a0b826
|
|
7
|
+
data.tar.gz: fa91c355968800964cf6d94157d086b085b80055d4b7ad3f100a81bfbd8767a0abaa82dfedef9d9fab71a8b5a03255a8a52284d6df09ccdbf2fcbd471acc75d4
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/
|
|
1
|
+
# Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/googleapis/google-cloud-ruby#versioning))
|
|
2
2
|
|
|
3
3
|
[Cloud Key Management Service (KMS) API][Product Documentation]:
|
|
4
4
|
Manages keys and performs cryptographic operations in a central cloud
|
|
@@ -13,7 +13,7 @@ steps:
|
|
|
13
13
|
1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
|
14
14
|
2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
|
15
15
|
3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
|
|
16
|
-
4. [Setup Authentication.](https://
|
|
16
|
+
4. [Setup Authentication.](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
|
17
17
|
|
|
18
18
|
### Installation
|
|
19
19
|
```
|
|
@@ -25,17 +25,17 @@ $ gem install google-cloud-kms
|
|
|
25
25
|
to see other available methods on the client.
|
|
26
26
|
- Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
|
|
27
27
|
to learn more about the product and see How-to Guides.
|
|
28
|
-
- View this [repository's main README](https://github.com/
|
|
28
|
+
- View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
|
|
29
29
|
to see the full list of Cloud APIs that we cover.
|
|
30
30
|
|
|
31
|
-
[Client Library Documentation]: https://
|
|
31
|
+
[Client Library Documentation]: https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-kms/latest/google/cloud/kms/v1
|
|
32
32
|
[Product Documentation]: https://cloud.google.com/kms
|
|
33
33
|
|
|
34
34
|
## Enabling Logging
|
|
35
35
|
|
|
36
36
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
|
37
37
|
The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
|
|
38
|
-
or a [`Google::Cloud::Logging::Logger`](https://
|
|
38
|
+
or a [`Google::Cloud::Logging::Logger`](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
|
|
39
39
|
that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
|
40
40
|
and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
|
41
41
|
|
data/lib/google/cloud/kms.rb
CHANGED
|
@@ -21,7 +21,7 @@ module Google
|
|
|
21
21
|
# rubocop:disable LineLength
|
|
22
22
|
|
|
23
23
|
##
|
|
24
|
-
# # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/
|
|
24
|
+
# # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/googleapis/google-cloud-ruby#versioning))
|
|
25
25
|
#
|
|
26
26
|
# [Cloud Key Management Service (KMS) API][Product Documentation]:
|
|
27
27
|
# Manages keys and performs cryptographic operations in a central cloud
|
|
@@ -35,7 +35,7 @@ module Google
|
|
|
35
35
|
# 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
|
36
36
|
# 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
|
37
37
|
# 3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
|
|
38
|
-
# 4. [Setup Authentication.](https://
|
|
38
|
+
# 4. [Setup Authentication.](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
|
39
39
|
#
|
|
40
40
|
# ### Installation
|
|
41
41
|
# ```
|
|
@@ -45,7 +45,7 @@ module Google
|
|
|
45
45
|
# ### Next Steps
|
|
46
46
|
# - Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
|
|
47
47
|
# to learn more about the product and see How-to Guides.
|
|
48
|
-
# - View this [repository's main README](https://github.com/
|
|
48
|
+
# - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
|
|
49
49
|
# to see the full list of Cloud APIs that we cover.
|
|
50
50
|
#
|
|
51
51
|
# [Product Documentation]: https://cloud.google.com/kms
|
|
@@ -54,7 +54,7 @@ module Google
|
|
|
54
54
|
#
|
|
55
55
|
# To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
|
56
56
|
# The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
|
|
57
|
-
# or a [`Google::Cloud::Logging::Logger`](https://
|
|
57
|
+
# or a [`Google::Cloud::Logging::Logger`](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
|
|
58
58
|
# that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
|
59
59
|
# and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
|
60
60
|
#
|
data/lib/google/cloud/kms/v1.rb
CHANGED
|
@@ -22,7 +22,7 @@ module Google
|
|
|
22
22
|
# rubocop:disable LineLength
|
|
23
23
|
|
|
24
24
|
##
|
|
25
|
-
# # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/
|
|
25
|
+
# # Ruby Client for Cloud Key Management Service (KMS) API ([Alpha](https://github.com/googleapis/google-cloud-ruby#versioning))
|
|
26
26
|
#
|
|
27
27
|
# [Cloud Key Management Service (KMS) API][Product Documentation]:
|
|
28
28
|
# Manages keys and performs cryptographic operations in a central cloud
|
|
@@ -36,7 +36,7 @@ module Google
|
|
|
36
36
|
# 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
|
37
37
|
# 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
|
38
38
|
# 3. [Enable the Cloud Key Management Service (KMS) API.](https://console.cloud.google.com/apis/library/cloudkms.googleapis.com)
|
|
39
|
-
# 4. [Setup Authentication.](https://
|
|
39
|
+
# 4. [Setup Authentication.](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
|
40
40
|
#
|
|
41
41
|
# ### Installation
|
|
42
42
|
# ```
|
|
@@ -46,7 +46,7 @@ module Google
|
|
|
46
46
|
# ### Next Steps
|
|
47
47
|
# - Read the [Cloud Key Management Service (KMS) API Product documentation][Product Documentation]
|
|
48
48
|
# to learn more about the product and see How-to Guides.
|
|
49
|
-
# - View this [repository's main README](https://github.com/
|
|
49
|
+
# - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
|
|
50
50
|
# to see the full list of Cloud APIs that we cover.
|
|
51
51
|
#
|
|
52
52
|
# [Product Documentation]: https://cloud.google.com/kms
|
|
@@ -55,7 +55,7 @@ module Google
|
|
|
55
55
|
#
|
|
56
56
|
# To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
|
57
57
|
# The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
|
|
58
|
-
# or a [`Google::Cloud::Logging::Logger`](https://
|
|
58
|
+
# or a [`Google::Cloud::Logging::Logger`](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
|
|
59
59
|
# that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
|
60
60
|
# and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
|
61
61
|
#
|
|
@@ -21,7 +21,7 @@ module Google
|
|
|
21
21
|
# @!attribute [rw] name
|
|
22
22
|
# @return [String]
|
|
23
23
|
# Output only. The resource name for the {Google::Cloud::Kms::V1::KeyRing KeyRing} in the format
|
|
24
|
-
#
|
|
24
|
+
# `projects/*/locations/*/keyRings/*`.
|
|
25
25
|
# @!attribute [rw] create_time
|
|
26
26
|
# @return [Google::Protobuf::Timestamp]
|
|
27
27
|
# Output only. The time at which this {Google::Cloud::Kms::V1::KeyRing KeyRing} was created.
|
|
@@ -35,7 +35,7 @@ module Google
|
|
|
35
35
|
# @!attribute [rw] name
|
|
36
36
|
# @return [String]
|
|
37
37
|
# Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKey CryptoKey} in the format
|
|
38
|
-
#
|
|
38
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
|
|
39
39
|
# @!attribute [rw] primary
|
|
40
40
|
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion]
|
|
41
41
|
# Output only. A copy of the "primary" {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} that will be used
|
|
@@ -164,7 +164,7 @@ module Google
|
|
|
164
164
|
# @!attribute [rw] name
|
|
165
165
|
# @return [String]
|
|
166
166
|
# Output only. The resource name for this {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} in the format
|
|
167
|
-
#
|
|
167
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
|
|
168
168
|
# @!attribute [rw] state
|
|
169
169
|
# @return [Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState]
|
|
170
170
|
# The current state of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}.
|
|
@@ -21,7 +21,7 @@ module Google
|
|
|
21
21
|
# @!attribute [rw] parent
|
|
22
22
|
# @return [String]
|
|
23
23
|
# Required. The resource name of the location associated with the
|
|
24
|
-
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format
|
|
24
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
|
|
25
25
|
# @!attribute [rw] page_size
|
|
26
26
|
# @return [Integer]
|
|
27
27
|
# Optional limit on the number of {Google::Cloud::Kms::V1::KeyRing KeyRings} to include in the
|
|
@@ -38,7 +38,7 @@ module Google
|
|
|
38
38
|
# @!attribute [rw] parent
|
|
39
39
|
# @return [String]
|
|
40
40
|
# Required. The resource name of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to list, in the format
|
|
41
|
-
#
|
|
41
|
+
# `projects/*/locations/*/keyRings/*`.
|
|
42
42
|
# @!attribute [rw] page_size
|
|
43
43
|
# @return [Integer]
|
|
44
44
|
# Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKey CryptoKeys} to include in the
|
|
@@ -58,7 +58,7 @@ module Google
|
|
|
58
58
|
# @!attribute [rw] parent
|
|
59
59
|
# @return [String]
|
|
60
60
|
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to list, in the format
|
|
61
|
-
#
|
|
61
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
|
|
62
62
|
# @!attribute [rw] page_size
|
|
63
63
|
# @return [Integer]
|
|
64
64
|
# Optional limit on the number of {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} to
|
|
@@ -145,11 +145,11 @@ module Google
|
|
|
145
145
|
# @!attribute [rw] parent
|
|
146
146
|
# @return [String]
|
|
147
147
|
# Required. The resource name of the location associated with the
|
|
148
|
-
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format
|
|
148
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
|
|
149
149
|
# @!attribute [rw] key_ring_id
|
|
150
150
|
# @return [String]
|
|
151
151
|
# Required. It must be unique within a location and match the regular
|
|
152
|
-
# expression
|
|
152
|
+
# expression `[a-zA-Z0-9_-]{1,63}`
|
|
153
153
|
# @!attribute [rw] key_ring
|
|
154
154
|
# @return [Google::Cloud::Kms::V1::KeyRing]
|
|
155
155
|
# A {Google::Cloud::Kms::V1::KeyRing KeyRing} with initial field values.
|
|
@@ -163,7 +163,7 @@ module Google
|
|
|
163
163
|
# @!attribute [rw] crypto_key_id
|
|
164
164
|
# @return [String]
|
|
165
165
|
# Required. It must be unique within a KeyRing and match the regular
|
|
166
|
-
# expression
|
|
166
|
+
# expression `[a-zA-Z0-9_-]{1,63}`
|
|
167
167
|
# @!attribute [rw] crypto_key
|
|
168
168
|
# @return [Google::Cloud::Kms::V1::CryptoKey]
|
|
169
169
|
# A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with initial field values.
|
|
@@ -16,46 +16,46 @@
|
|
|
16
16
|
module Google
|
|
17
17
|
module Iam
|
|
18
18
|
module V1
|
|
19
|
-
# Request message for
|
|
19
|
+
# Request message for `SetIamPolicy` method.
|
|
20
20
|
# @!attribute [rw] resource
|
|
21
21
|
# @return [String]
|
|
22
22
|
# REQUIRED: The resource for which the policy is being specified.
|
|
23
|
-
#
|
|
24
|
-
# resource is specified as
|
|
23
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
24
|
+
# resource is specified as `projects/{project}`.
|
|
25
25
|
# @!attribute [rw] policy
|
|
26
26
|
# @return [Google::Iam::V1::Policy]
|
|
27
|
-
# REQUIRED: The complete policy to be applied to the
|
|
27
|
+
# REQUIRED: The complete policy to be applied to the `resource`. The size of
|
|
28
28
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
|
29
29
|
# valid policy but certain Cloud Platform services (such as Projects)
|
|
30
30
|
# might reject them.
|
|
31
31
|
class SetIamPolicyRequest; end
|
|
32
32
|
|
|
33
|
-
# Request message for
|
|
33
|
+
# Request message for `GetIamPolicy` method.
|
|
34
34
|
# @!attribute [rw] resource
|
|
35
35
|
# @return [String]
|
|
36
36
|
# REQUIRED: The resource for which the policy is being requested.
|
|
37
|
-
#
|
|
38
|
-
# resource is specified as
|
|
37
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
38
|
+
# resource is specified as `projects/{project}`.
|
|
39
39
|
class GetIamPolicyRequest; end
|
|
40
40
|
|
|
41
|
-
# Request message for
|
|
41
|
+
# Request message for `TestIamPermissions` method.
|
|
42
42
|
# @!attribute [rw] resource
|
|
43
43
|
# @return [String]
|
|
44
44
|
# REQUIRED: The resource for which the policy detail is being requested.
|
|
45
|
-
#
|
|
46
|
-
# resource is specified as
|
|
45
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
46
|
+
# resource is specified as `projects/{project}`.
|
|
47
47
|
# @!attribute [rw] permissions
|
|
48
48
|
# @return [Array<String>]
|
|
49
|
-
# The set of permissions to check for the
|
|
49
|
+
# The set of permissions to check for the `resource`. Permissions with
|
|
50
50
|
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
|
51
51
|
# information see
|
|
52
52
|
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
|
53
53
|
class TestIamPermissionsRequest; end
|
|
54
54
|
|
|
55
|
-
# Response message for
|
|
55
|
+
# Response message for `TestIamPermissions` method.
|
|
56
56
|
# @!attribute [rw] permissions
|
|
57
57
|
# @return [Array<String>]
|
|
58
|
-
# A subset of
|
|
58
|
+
# A subset of `TestPermissionsRequest.permissions` that the caller is
|
|
59
59
|
# allowed.
|
|
60
60
|
class TestIamPermissionsResponse; end
|
|
61
61
|
end
|
|
@@ -20,9 +20,9 @@ module Google
|
|
|
20
20
|
# specify access control policies for Cloud Platform resources.
|
|
21
21
|
#
|
|
22
22
|
#
|
|
23
|
-
# A
|
|
24
|
-
#
|
|
25
|
-
# Google domains, and service accounts. A
|
|
23
|
+
# A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
|
|
24
|
+
# `members` to a `role`, where the members can be user accounts, Google groups,
|
|
25
|
+
# Google domains, and service accounts. A `role` is a named list of permissions
|
|
26
26
|
# defined by IAM.
|
|
27
27
|
#
|
|
28
28
|
# **Example**
|
|
@@ -49,55 +49,55 @@ module Google
|
|
|
49
49
|
# [IAM developer's guide](https://cloud.google.com/iam).
|
|
50
50
|
# @!attribute [rw] version
|
|
51
51
|
# @return [Integer]
|
|
52
|
-
# Version of the
|
|
52
|
+
# Version of the `Policy`. The default version is 0.
|
|
53
53
|
# @!attribute [rw] bindings
|
|
54
54
|
# @return [Array<Google::Iam::V1::Binding>]
|
|
55
|
-
# Associates a list of
|
|
56
|
-
# Multiple
|
|
57
|
-
#
|
|
55
|
+
# Associates a list of `members` to a `role`.
|
|
56
|
+
# Multiple `bindings` must not be specified for the same `role`.
|
|
57
|
+
# `bindings` with no members will result in an error.
|
|
58
58
|
# @!attribute [rw] etag
|
|
59
59
|
# @return [String]
|
|
60
|
-
#
|
|
60
|
+
# `etag` is used for optimistic concurrency control as a way to help
|
|
61
61
|
# prevent simultaneous updates of a policy from overwriting each other.
|
|
62
|
-
# It is strongly suggested that systems make use of the
|
|
62
|
+
# It is strongly suggested that systems make use of the `etag` in the
|
|
63
63
|
# read-modify-write cycle to perform policy updates in order to avoid race
|
|
64
|
-
# conditions: An
|
|
65
|
-
# systems are expected to put that etag in the request to
|
|
64
|
+
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
|
65
|
+
# systems are expected to put that etag in the request to `setIamPolicy` to
|
|
66
66
|
# ensure that their change will be applied to the same version of the policy.
|
|
67
67
|
#
|
|
68
|
-
# If no
|
|
68
|
+
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
|
69
69
|
# policy is overwritten blindly.
|
|
70
70
|
class Policy; end
|
|
71
71
|
|
|
72
|
-
# Associates
|
|
72
|
+
# Associates `members` with a `role`.
|
|
73
73
|
# @!attribute [rw] role
|
|
74
74
|
# @return [String]
|
|
75
|
-
# Role that is assigned to
|
|
76
|
-
# For example,
|
|
75
|
+
# Role that is assigned to `members`.
|
|
76
|
+
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
77
77
|
# Required
|
|
78
78
|
# @!attribute [rw] members
|
|
79
79
|
# @return [Array<String>]
|
|
80
80
|
# Specifies the identities requesting access for a Cloud Platform resource.
|
|
81
|
-
#
|
|
81
|
+
# `members` can have the following values:
|
|
82
82
|
#
|
|
83
|
-
# *
|
|
83
|
+
# * `allUsers`: A special identifier that represents anyone who is
|
|
84
84
|
# on the internet; with or without a Google account.
|
|
85
85
|
#
|
|
86
|
-
# *
|
|
86
|
+
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
|
87
87
|
# who is authenticated with a Google account or a service account.
|
|
88
88
|
#
|
|
89
|
-
# *
|
|
90
|
-
# account. For example,
|
|
89
|
+
# * `user:{emailid}`: An email address that represents a specific Google
|
|
90
|
+
# account. For example, `alice@gmail.com` or `joe@example.com`.
|
|
91
91
|
#
|
|
92
92
|
#
|
|
93
|
-
# *
|
|
94
|
-
# account. For example,
|
|
93
|
+
# * `serviceAccount:{emailid}`: An email address that represents a service
|
|
94
|
+
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
|
95
95
|
#
|
|
96
|
-
# *
|
|
97
|
-
# For example,
|
|
96
|
+
# * `group:{emailid}`: An email address that represents a Google group.
|
|
97
|
+
# For example, `admins@example.com`.
|
|
98
98
|
#
|
|
99
|
-
# *
|
|
100
|
-
# users of that domain. For example,
|
|
99
|
+
# * `domain:{domain}`: A Google Apps domain name that represents all the
|
|
100
|
+
# users of that domain. For example, `google.com` or `example.com`.
|
|
101
101
|
class Binding; end
|
|
102
102
|
|
|
103
103
|
# The difference delta between two policies.
|
|
@@ -114,8 +114,8 @@ module Google
|
|
|
114
114
|
# Required
|
|
115
115
|
# @!attribute [rw] role
|
|
116
116
|
# @return [String]
|
|
117
|
-
# Role that is assigned to
|
|
118
|
-
# For example,
|
|
117
|
+
# Role that is assigned to `members`.
|
|
118
|
+
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
119
119
|
# Required
|
|
120
120
|
# @!attribute [rw] member
|
|
121
121
|
# @return [String]
|
|
@@ -82,9 +82,9 @@ module Google
|
|
|
82
82
|
# @return [Integer]
|
|
83
83
|
# Signed fractions of a second at nanosecond resolution of the span
|
|
84
84
|
# of time. Durations less than one second are represented with a 0
|
|
85
|
-
#
|
|
86
|
-
# of one second or more, a non-zero value for the
|
|
87
|
-
# of the same sign as the
|
|
85
|
+
# `seconds` field and a positive or negative `nanos` field. For durations
|
|
86
|
+
# of one second or more, a non-zero value for the `nanos` field must be
|
|
87
|
+
# of the same sign as the `seconds` field. Must be from -999,999,999
|
|
88
88
|
# to +999,999,999 inclusive.
|
|
89
89
|
class Duration; end
|
|
90
90
|
end
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
|
|
16
16
|
module Google
|
|
17
17
|
module Protobuf
|
|
18
|
-
#
|
|
18
|
+
# `FieldMask` represents a set of symbolic field paths, for example:
|
|
19
19
|
#
|
|
20
20
|
# paths: "f.a"
|
|
21
21
|
# paths: "f.b.d"
|
|
22
22
|
#
|
|
23
|
-
# Here
|
|
24
|
-
# fields in the message found in
|
|
25
|
-
# message in
|
|
23
|
+
# Here `f` represents a field in some root message, `a` and `b`
|
|
24
|
+
# fields in the message found in `f`, and `d` a field found in the
|
|
25
|
+
# message in `f.b`.
|
|
26
26
|
#
|
|
27
27
|
# Field masks are used to specify a subset of fields that should be
|
|
28
28
|
# returned by a get operation or modified by an update operation.
|
|
@@ -85,7 +85,7 @@ module Google
|
|
|
85
85
|
#
|
|
86
86
|
# If a repeated field is specified for an update operation, the existing
|
|
87
87
|
# repeated values in the target resource will be overwritten by the new values.
|
|
88
|
-
# Note that a repeated field is only allowed in the last position of a
|
|
88
|
+
# Note that a repeated field is only allowed in the last position of a `paths`
|
|
89
89
|
# string.
|
|
90
90
|
#
|
|
91
91
|
# If a sub-message is specified in the last position of the field mask for an
|
|
@@ -177,7 +177,7 @@ module Google
|
|
|
177
177
|
# string address = 2;
|
|
178
178
|
# }
|
|
179
179
|
#
|
|
180
|
-
# In proto a field mask for
|
|
180
|
+
# In proto a field mask for `Profile` may look as such:
|
|
181
181
|
#
|
|
182
182
|
# mask {
|
|
183
183
|
# paths: "user.display_name"
|
|
@@ -221,7 +221,7 @@ module Google
|
|
|
221
221
|
#
|
|
222
222
|
# The implementation of any API method which has a FieldMask type field in the
|
|
223
223
|
# request should verify the included field paths, and return an
|
|
224
|
-
#
|
|
224
|
+
# `INVALID_ARGUMENT` error if any path is duplicated or unmappable.
|
|
225
225
|
# @!attribute [rw] paths
|
|
226
226
|
# @return [Array<String>]
|
|
227
227
|
# The set of field mask paths.
|
|
@@ -29,13 +29,13 @@ module Google
|
|
|
29
29
|
#
|
|
30
30
|
# = Examples
|
|
31
31
|
#
|
|
32
|
-
# Example 1: Compute Timestamp from POSIX
|
|
32
|
+
# Example 1: Compute Timestamp from POSIX `time()`.
|
|
33
33
|
#
|
|
34
34
|
# Timestamp timestamp;
|
|
35
35
|
# timestamp.set_seconds(time(NULL));
|
|
36
36
|
# timestamp.set_nanos(0);
|
|
37
37
|
#
|
|
38
|
-
# Example 2: Compute Timestamp from POSIX
|
|
38
|
+
# Example 2: Compute Timestamp from POSIX `gettimeofday()`.
|
|
39
39
|
#
|
|
40
40
|
# struct timeval tv;
|
|
41
41
|
# gettimeofday(&tv, NULL);
|
|
@@ -44,7 +44,7 @@ module Google
|
|
|
44
44
|
# timestamp.set_seconds(tv.tv_sec);
|
|
45
45
|
# timestamp.set_nanos(tv.tv_usec * 1000);
|
|
46
46
|
#
|
|
47
|
-
# Example 3: Compute Timestamp from Win32
|
|
47
|
+
# Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
|
|
48
48
|
#
|
|
49
49
|
# FILETIME ft;
|
|
50
50
|
# GetSystemTimeAsFileTime(&ft);
|
|
@@ -56,7 +56,7 @@ module Google
|
|
|
56
56
|
# timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
|
|
57
57
|
# timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
|
|
58
58
|
#
|
|
59
|
-
# Example 4: Compute Timestamp from Java
|
|
59
|
+
# Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
|
|
60
60
|
#
|
|
61
61
|
# long millis = System.currentTimeMillis();
|
|
62
62
|
#
|
|
@@ -87,10 +87,10 @@ module Google
|
|
|
87
87
|
#
|
|
88
88
|
# In JavaScript, one can convert a Date object to this format using the
|
|
89
89
|
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
|
|
90
|
-
# method. In Python, a standard
|
|
91
|
-
# to this format using [
|
|
90
|
+
# method. In Python, a standard `datetime.datetime` object can be converted
|
|
91
|
+
# to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
|
|
92
92
|
# with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
|
|
93
|
-
# can use the Joda Time's [
|
|
93
|
+
# can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
|
|
94
94
|
# http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--
|
|
95
95
|
# ) to obtain a formatter capable of generating timestamps in this format.
|
|
96
96
|
# @!attribute [rw] seconds
|
|
@@ -431,6 +431,30 @@ module Google
|
|
|
431
431
|
{'name' => request.name}
|
|
432
432
|
end
|
|
433
433
|
)
|
|
434
|
+
@get_public_key = Google::Gax.create_api_call(
|
|
435
|
+
@key_management_service_stub.method(:get_public_key),
|
|
436
|
+
defaults["get_public_key"],
|
|
437
|
+
exception_transformer: exception_transformer,
|
|
438
|
+
params_extractor: proc do |request|
|
|
439
|
+
{'name' => request.name}
|
|
440
|
+
end
|
|
441
|
+
)
|
|
442
|
+
@asymmetric_decrypt = Google::Gax.create_api_call(
|
|
443
|
+
@key_management_service_stub.method(:asymmetric_decrypt),
|
|
444
|
+
defaults["asymmetric_decrypt"],
|
|
445
|
+
exception_transformer: exception_transformer,
|
|
446
|
+
params_extractor: proc do |request|
|
|
447
|
+
{'name' => request.name}
|
|
448
|
+
end
|
|
449
|
+
)
|
|
450
|
+
@asymmetric_sign = Google::Gax.create_api_call(
|
|
451
|
+
@key_management_service_stub.method(:asymmetric_sign),
|
|
452
|
+
defaults["asymmetric_sign"],
|
|
453
|
+
exception_transformer: exception_transformer,
|
|
454
|
+
params_extractor: proc do |request|
|
|
455
|
+
{'name' => request.name}
|
|
456
|
+
end
|
|
457
|
+
)
|
|
434
458
|
@set_iam_policy = Google::Gax.create_api_call(
|
|
435
459
|
@iam_policy_stub.method(:set_iam_policy),
|
|
436
460
|
defaults["set_iam_policy"],
|
|
@@ -463,7 +487,7 @@ module Google
|
|
|
463
487
|
#
|
|
464
488
|
# @param parent [String]
|
|
465
489
|
# Required. The resource name of the location associated with the
|
|
466
|
-
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format
|
|
490
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
|
|
467
491
|
# @param page_size [Integer]
|
|
468
492
|
# The maximum number of resources contained in the underlying API
|
|
469
493
|
# response. If page streaming is performed per-resource, this
|
|
@@ -518,7 +542,7 @@ module Google
|
|
|
518
542
|
#
|
|
519
543
|
# @param parent [String]
|
|
520
544
|
# Required. The resource name of the {Google::Cloud::Kms::V1::KeyRing KeyRing} to list, in the format
|
|
521
|
-
#
|
|
545
|
+
# `projects/*/locations/*/keyRings/*`.
|
|
522
546
|
# @param page_size [Integer]
|
|
523
547
|
# The maximum number of resources contained in the underlying API
|
|
524
548
|
# response. If page streaming is performed per-resource, this
|
|
@@ -577,7 +601,7 @@ module Google
|
|
|
577
601
|
#
|
|
578
602
|
# @param parent [String]
|
|
579
603
|
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKey CryptoKey} to list, in the format
|
|
580
|
-
#
|
|
604
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
|
|
581
605
|
# @param page_size [Integer]
|
|
582
606
|
# The maximum number of resources contained in the underlying API
|
|
583
607
|
# response. If page streaming is performed per-resource, this
|
|
@@ -727,10 +751,10 @@ module Google
|
|
|
727
751
|
#
|
|
728
752
|
# @param parent [String]
|
|
729
753
|
# Required. The resource name of the location associated with the
|
|
730
|
-
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format
|
|
754
|
+
# {Google::Cloud::Kms::V1::KeyRing KeyRings}, in the format `projects/*/locations/*`.
|
|
731
755
|
# @param key_ring_id [String]
|
|
732
756
|
# Required. It must be unique within a location and match the regular
|
|
733
|
-
# expression
|
|
757
|
+
# expression `[a-zA-Z0-9_-]{1,63}`
|
|
734
758
|
# @param key_ring [Google::Cloud::Kms::V1::KeyRing | Hash]
|
|
735
759
|
# A {Google::Cloud::Kms::V1::KeyRing KeyRing} with initial field values.
|
|
736
760
|
# A hash of the same form as `Google::Cloud::Kms::V1::KeyRing`
|
|
@@ -749,10 +773,10 @@ module Google
|
|
|
749
773
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
750
774
|
# formatted_parent = Google::Cloud::Kms::V1::KeyManagementServiceClient.location_path("[PROJECT]", "[LOCATION]")
|
|
751
775
|
#
|
|
752
|
-
# # TODO: Initialize
|
|
776
|
+
# # TODO: Initialize `key_ring_id`:
|
|
753
777
|
# key_ring_id = ''
|
|
754
778
|
#
|
|
755
|
-
# # TODO: Initialize
|
|
779
|
+
# # TODO: Initialize `key_ring`:
|
|
756
780
|
# key_ring = {}
|
|
757
781
|
# response = key_management_service_client.create_key_ring(formatted_parent, key_ring_id, key_ring)
|
|
758
782
|
|
|
@@ -782,7 +806,7 @@ module Google
|
|
|
782
806
|
# {Google::Cloud::Kms::V1::CryptoKey CryptoKeys}.
|
|
783
807
|
# @param crypto_key_id [String]
|
|
784
808
|
# Required. It must be unique within a KeyRing and match the regular
|
|
785
|
-
# expression
|
|
809
|
+
# expression `[a-zA-Z0-9_-]{1,63}`
|
|
786
810
|
# @param crypto_key [Google::Cloud::Kms::V1::CryptoKey | Hash]
|
|
787
811
|
# A {Google::Cloud::Kms::V1::CryptoKey CryptoKey} with initial field values.
|
|
788
812
|
# A hash of the same form as `Google::Cloud::Kms::V1::CryptoKey`
|
|
@@ -855,7 +879,7 @@ module Google
|
|
|
855
879
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
856
880
|
# formatted_parent = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
|
|
857
881
|
#
|
|
858
|
-
# # TODO: Initialize
|
|
882
|
+
# # TODO: Initialize `crypto_key_version`:
|
|
859
883
|
# crypto_key_version = {}
|
|
860
884
|
# response = key_management_service_client.create_crypto_key_version(formatted_parent, crypto_key_version)
|
|
861
885
|
|
|
@@ -895,10 +919,10 @@ module Google
|
|
|
895
919
|
#
|
|
896
920
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
897
921
|
#
|
|
898
|
-
# # TODO: Initialize
|
|
922
|
+
# # TODO: Initialize `crypto_key`:
|
|
899
923
|
# crypto_key = {}
|
|
900
924
|
#
|
|
901
|
-
# # TODO: Initialize
|
|
925
|
+
# # TODO: Initialize `update_mask`:
|
|
902
926
|
# update_mask = {}
|
|
903
927
|
# response = key_management_service_client.update_crypto_key(crypto_key, update_mask)
|
|
904
928
|
|
|
@@ -944,10 +968,10 @@ module Google
|
|
|
944
968
|
#
|
|
945
969
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
946
970
|
#
|
|
947
|
-
# # TODO: Initialize
|
|
971
|
+
# # TODO: Initialize `crypto_key_version`:
|
|
948
972
|
# crypto_key_version = {}
|
|
949
973
|
#
|
|
950
|
-
# # TODO: Initialize
|
|
974
|
+
# # TODO: Initialize `update_mask`:
|
|
951
975
|
# update_mask = {}
|
|
952
976
|
# response = key_management_service_client.update_crypto_key_version(crypto_key_version, update_mask)
|
|
953
977
|
|
|
@@ -1007,7 +1031,7 @@ module Google
|
|
|
1007
1031
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1008
1032
|
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_path_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY_PATH]")
|
|
1009
1033
|
#
|
|
1010
|
-
# # TODO: Initialize
|
|
1034
|
+
# # TODO: Initialize `plaintext`:
|
|
1011
1035
|
# plaintext = ''
|
|
1012
1036
|
# response = key_management_service_client.encrypt(formatted_name, plaintext)
|
|
1013
1037
|
|
|
@@ -1052,7 +1076,7 @@ module Google
|
|
|
1052
1076
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1053
1077
|
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
|
|
1054
1078
|
#
|
|
1055
|
-
# # TODO: Initialize
|
|
1079
|
+
# # TODO: Initialize `ciphertext`:
|
|
1056
1080
|
# ciphertext = ''
|
|
1057
1081
|
# response = key_management_service_client.decrypt(formatted_name, ciphertext)
|
|
1058
1082
|
|
|
@@ -1093,7 +1117,7 @@ module Google
|
|
|
1093
1117
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1094
1118
|
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
|
|
1095
1119
|
#
|
|
1096
|
-
# # TODO: Initialize
|
|
1120
|
+
# # TODO: Initialize `crypto_key_version_id`:
|
|
1097
1121
|
# crypto_key_version_id = ''
|
|
1098
1122
|
# response = key_management_service_client.update_crypto_key_primary_version(formatted_name, crypto_key_version_id)
|
|
1099
1123
|
|
|
@@ -1187,15 +1211,133 @@ module Google
|
|
|
1187
1211
|
@restore_crypto_key_version.call(req, options, &block)
|
|
1188
1212
|
end
|
|
1189
1213
|
|
|
1214
|
+
# Returns the public key for the given {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. The
|
|
1215
|
+
# {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} must be
|
|
1216
|
+
# {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_SIGN ASYMMETRIC_SIGN} or
|
|
1217
|
+
# {Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ASYMMETRIC_DECRYPT ASYMMETRIC_DECRYPT}.
|
|
1218
|
+
#
|
|
1219
|
+
# @param name [String]
|
|
1220
|
+
# The {Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} public key to
|
|
1221
|
+
# get.
|
|
1222
|
+
# @param options [Google::Gax::CallOptions]
|
|
1223
|
+
# Overrides the default settings for this call, e.g, timeout,
|
|
1224
|
+
# retries, etc.
|
|
1225
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1226
|
+
# @yieldparam result [Google::Cloud::Kms::V1::PublicKey]
|
|
1227
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1228
|
+
# @return [Google::Cloud::Kms::V1::PublicKey]
|
|
1229
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1230
|
+
# @example
|
|
1231
|
+
# require "google/cloud/kms"
|
|
1232
|
+
#
|
|
1233
|
+
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1234
|
+
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_version_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
|
|
1235
|
+
# response = key_management_service_client.get_public_key(formatted_name)
|
|
1236
|
+
|
|
1237
|
+
def get_public_key \
|
|
1238
|
+
name,
|
|
1239
|
+
options: nil,
|
|
1240
|
+
&block
|
|
1241
|
+
req = {
|
|
1242
|
+
name: name
|
|
1243
|
+
}.delete_if { |_, v| v.nil? }
|
|
1244
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Kms::V1::GetPublicKeyRequest)
|
|
1245
|
+
@get_public_key.call(req, options, &block)
|
|
1246
|
+
end
|
|
1247
|
+
|
|
1248
|
+
# Decrypts data that was encrypted with a public key retrieved from
|
|
1249
|
+
# {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey} corresponding to a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with
|
|
1250
|
+
# {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose} ASYMMETRIC_DECRYPT.
|
|
1251
|
+
#
|
|
1252
|
+
# @param name [String]
|
|
1253
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for
|
|
1254
|
+
# decryption.
|
|
1255
|
+
# @param ciphertext [String]
|
|
1256
|
+
# Required. The data encrypted with the named {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}'s public
|
|
1257
|
+
# key using OAEP.
|
|
1258
|
+
# @param options [Google::Gax::CallOptions]
|
|
1259
|
+
# Overrides the default settings for this call, e.g, timeout,
|
|
1260
|
+
# retries, etc.
|
|
1261
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1262
|
+
# @yieldparam result [Google::Cloud::Kms::V1::AsymmetricDecryptResponse]
|
|
1263
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1264
|
+
# @return [Google::Cloud::Kms::V1::AsymmetricDecryptResponse]
|
|
1265
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1266
|
+
# @example
|
|
1267
|
+
# require "google/cloud/kms"
|
|
1268
|
+
#
|
|
1269
|
+
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1270
|
+
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_version_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
|
|
1271
|
+
#
|
|
1272
|
+
# # TODO: Initialize `ciphertext`:
|
|
1273
|
+
# ciphertext = ''
|
|
1274
|
+
# response = key_management_service_client.asymmetric_decrypt(formatted_name, ciphertext)
|
|
1275
|
+
|
|
1276
|
+
def asymmetric_decrypt \
|
|
1277
|
+
name,
|
|
1278
|
+
ciphertext,
|
|
1279
|
+
options: nil,
|
|
1280
|
+
&block
|
|
1281
|
+
req = {
|
|
1282
|
+
name: name,
|
|
1283
|
+
ciphertext: ciphertext
|
|
1284
|
+
}.delete_if { |_, v| v.nil? }
|
|
1285
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Kms::V1::AsymmetricDecryptRequest)
|
|
1286
|
+
@asymmetric_decrypt.call(req, options, &block)
|
|
1287
|
+
end
|
|
1288
|
+
|
|
1289
|
+
# Signs data using a {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} with {Google::Cloud::Kms::V1::CryptoKey#purpose CryptoKey#purpose}
|
|
1290
|
+
# ASYMMETRIC_SIGN, producing a signature that can be verified with the public
|
|
1291
|
+
# key retrieved from {Google::Cloud::Kms::V1::KeyManagementService::GetPublicKey GetPublicKey}.
|
|
1292
|
+
#
|
|
1293
|
+
# @param name [String]
|
|
1294
|
+
# Required. The resource name of the {Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use for signing.
|
|
1295
|
+
# @param digest [Google::Cloud::Kms::V1::Digest | Hash]
|
|
1296
|
+
# Required. The digest of the data to sign. The digest must be produced with
|
|
1297
|
+
# the same digest algorithm as specified by the key version's
|
|
1298
|
+
# {Google::Cloud::Kms::V1::CryptoKeyVersion#algorithm algorithm}.
|
|
1299
|
+
# A hash of the same form as `Google::Cloud::Kms::V1::Digest`
|
|
1300
|
+
# can also be provided.
|
|
1301
|
+
# @param options [Google::Gax::CallOptions]
|
|
1302
|
+
# Overrides the default settings for this call, e.g, timeout,
|
|
1303
|
+
# retries, etc.
|
|
1304
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1305
|
+
# @yieldparam result [Google::Cloud::Kms::V1::AsymmetricSignResponse]
|
|
1306
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1307
|
+
# @return [Google::Cloud::Kms::V1::AsymmetricSignResponse]
|
|
1308
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1309
|
+
# @example
|
|
1310
|
+
# require "google/cloud/kms"
|
|
1311
|
+
#
|
|
1312
|
+
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1313
|
+
# formatted_name = Google::Cloud::Kms::V1::KeyManagementServiceClient.crypto_key_version_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
|
|
1314
|
+
#
|
|
1315
|
+
# # TODO: Initialize `digest`:
|
|
1316
|
+
# digest = {}
|
|
1317
|
+
# response = key_management_service_client.asymmetric_sign(formatted_name, digest)
|
|
1318
|
+
|
|
1319
|
+
def asymmetric_sign \
|
|
1320
|
+
name,
|
|
1321
|
+
digest,
|
|
1322
|
+
options: nil,
|
|
1323
|
+
&block
|
|
1324
|
+
req = {
|
|
1325
|
+
name: name,
|
|
1326
|
+
digest: digest
|
|
1327
|
+
}.delete_if { |_, v| v.nil? }
|
|
1328
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Kms::V1::AsymmetricSignRequest)
|
|
1329
|
+
@asymmetric_sign.call(req, options, &block)
|
|
1330
|
+
end
|
|
1331
|
+
|
|
1190
1332
|
# Sets the access control policy on the specified resource. Replaces any
|
|
1191
1333
|
# existing policy.
|
|
1192
1334
|
#
|
|
1193
1335
|
# @param resource [String]
|
|
1194
1336
|
# REQUIRED: The resource for which the policy is being specified.
|
|
1195
|
-
#
|
|
1196
|
-
# resource is specified as
|
|
1337
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
1338
|
+
# resource is specified as `projects/{project}`.
|
|
1197
1339
|
# @param policy [Google::Iam::V1::Policy | Hash]
|
|
1198
|
-
# REQUIRED: The complete policy to be applied to the
|
|
1340
|
+
# REQUIRED: The complete policy to be applied to the `resource`. The size of
|
|
1199
1341
|
# the policy is limited to a few 10s of KB. An empty policy is a
|
|
1200
1342
|
# valid policy but certain Cloud Platform services (such as Projects)
|
|
1201
1343
|
# might reject them.
|
|
@@ -1215,7 +1357,7 @@ module Google
|
|
|
1215
1357
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1216
1358
|
# formatted_resource = Google::Cloud::Kms::V1::KeyManagementServiceClient.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]")
|
|
1217
1359
|
#
|
|
1218
|
-
# # TODO: Initialize
|
|
1360
|
+
# # TODO: Initialize `policy`:
|
|
1219
1361
|
# policy = {}
|
|
1220
1362
|
# response = key_management_service_client.set_iam_policy(formatted_resource, policy)
|
|
1221
1363
|
|
|
@@ -1238,8 +1380,8 @@ module Google
|
|
|
1238
1380
|
#
|
|
1239
1381
|
# @param resource [String]
|
|
1240
1382
|
# REQUIRED: The resource for which the policy is being requested.
|
|
1241
|
-
#
|
|
1242
|
-
# resource is specified as
|
|
1383
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
1384
|
+
# resource is specified as `projects/{project}`.
|
|
1243
1385
|
# @param options [Google::Gax::CallOptions]
|
|
1244
1386
|
# Overrides the default settings for this call, e.g, timeout,
|
|
1245
1387
|
# retries, etc.
|
|
@@ -1272,10 +1414,10 @@ module Google
|
|
|
1272
1414
|
#
|
|
1273
1415
|
# @param resource [String]
|
|
1274
1416
|
# REQUIRED: The resource for which the policy detail is being requested.
|
|
1275
|
-
#
|
|
1276
|
-
# resource is specified as
|
|
1417
|
+
# `resource` is usually specified as a path. For example, a Project
|
|
1418
|
+
# resource is specified as `projects/{project}`.
|
|
1277
1419
|
# @param permissions [Array<String>]
|
|
1278
|
-
# The set of permissions to check for the
|
|
1420
|
+
# The set of permissions to check for the `resource`. Permissions with
|
|
1279
1421
|
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
|
1280
1422
|
# information see
|
|
1281
1423
|
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
|
@@ -1293,7 +1435,7 @@ module Google
|
|
|
1293
1435
|
# key_management_service_client = Google::Cloud::Kms.new(version: :v1)
|
|
1294
1436
|
# formatted_resource = Google::Cloud::Kms::V1::KeyManagementServiceClient.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]")
|
|
1295
1437
|
#
|
|
1296
|
-
# # TODO: Initialize
|
|
1438
|
+
# # TODO: Initialize `permissions`:
|
|
1297
1439
|
# permissions = []
|
|
1298
1440
|
# response = key_management_service_client.test_iam_permissions(formatted_resource, permissions)
|
|
1299
1441
|
|
|
@@ -100,6 +100,21 @@
|
|
|
100
100
|
"retry_codes_name": "non_idempotent",
|
|
101
101
|
"retry_params_name": "default"
|
|
102
102
|
},
|
|
103
|
+
"GetPublicKey": {
|
|
104
|
+
"timeout_millis": 60000,
|
|
105
|
+
"retry_codes_name": "idempotent",
|
|
106
|
+
"retry_params_name": "default"
|
|
107
|
+
},
|
|
108
|
+
"AsymmetricDecrypt": {
|
|
109
|
+
"timeout_millis": 60000,
|
|
110
|
+
"retry_codes_name": "non_idempotent",
|
|
111
|
+
"retry_params_name": "default"
|
|
112
|
+
},
|
|
113
|
+
"AsymmetricSign": {
|
|
114
|
+
"timeout_millis": 60000,
|
|
115
|
+
"retry_codes_name": "non_idempotent",
|
|
116
|
+
"retry_params_name": "default"
|
|
117
|
+
},
|
|
103
118
|
"SetIamPolicy": {
|
|
104
119
|
"timeout_millis": 60000,
|
|
105
120
|
"retry_codes_name": "non_idempotent",
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: google-cloud-kms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Google LLC
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-09-
|
|
11
|
+
date: 2018-09-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: google-gax
|