google-cloud-kms 2.1.1 → 2.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e72c6d5b2a0293ef064646deef5e540e4b06af81ebb79aa9c2cb1974bc21bc33
4
- data.tar.gz: afb681bd58a1eb4fc6dcca0d389590773c29d7b479442723ff4bb98645511d71
3
+ metadata.gz: 4dd68566d3b364da35143e5501f8bdb5743a48bfcfb51d692293caf0c12c5114
4
+ data.tar.gz: 4997226dfb7ea680bee31f6f28a88bafb991eb67bcacbdcdc165ea9e9ae23f80
5
5
  SHA512:
6
- metadata.gz: 6ed2625ea0e6d2a3cf7a2589720c025ef4f8bc98e10074458355e44cb55b655e232fa5191a274d382d22da699b37084b0cf1f0aafa27a61534d55dd980a8cf10
7
- data.tar.gz: c1fb4b92cab506ad01da752961c43bbcce9a69e9436c8d88793abe58519521a5d83a27cc580d450fc45d31189233406a03e98472b14c667ec2baf14e2c864d18
6
+ metadata.gz: 9648610675019023d3b3480f654310d6055ffcc44a47d083648751d91098397e3381712f2b7309f9467e2c63d6875e62a13b7b122a8d357531954f17f3f44371
7
+ data.tar.gz: 32bad132d2272bf16282109581845e0dad66fa100cca52338e6352a8c4499641a34ccc30c67ee5ab493265ebeaa60aeee8f6c1512fc9412ff716e2189124891f
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
- --title=Cloud Key Management Service (KMS) API
2
+ --title="Cloud Key Management Service (KMS) API"
3
3
  --exclude _pb\.rb$
4
4
  --markup markdown
5
5
  --markup-provider redcarpet
data/AUTHENTICATION.md CHANGED
@@ -27,7 +27,7 @@ export KMS_CREDENTIALS=path/to/keyfile.json
27
27
  ```ruby
28
28
  require "google/cloud/kms"
29
29
 
30
- client = Google::Cloud::Kms.key_management_service
30
+ client = Google::Cloud::Kms.ekm_service
31
31
  ```
32
32
 
33
33
  ## Credential Lookup
@@ -64,7 +64,7 @@ containers where writing files is difficult or not encouraged.
64
64
 
65
65
  The environment variables that google-cloud-kms
66
66
  checks for credentials are configured on the service Credentials class (such as
67
- `::Google::Cloud::Kms::V1::KeyManagementService::Credentials`):
67
+ `::Google::Cloud::Kms::V1::EkmService::Credentials`):
68
68
 
69
69
  * `KMS_CREDENTIALS` - Path to JSON file, or JSON contents
70
70
  * `KMS_KEYFILE` - Path to JSON file, or JSON contents
@@ -77,23 +77,23 @@ require "google/cloud/kms"
77
77
 
78
78
  ENV["KMS_CREDENTIALS"] = "path/to/keyfile.json"
79
79
 
80
- client = Google::Cloud::Kms.key_management_service
80
+ client = Google::Cloud::Kms.ekm_service
81
81
  ```
82
82
 
83
83
  ### Configuration
84
84
 
85
- The **Credentials JSON** can be configured instead of placing them in
86
- environment variables. Either on an individual client initialization:
85
+ The path to the **Credentials JSON** file can be configured instead of storing
86
+ it in an environment variable. Either on an individual client initialization:
87
87
 
88
88
  ```ruby
89
89
  require "google/cloud/kms"
90
90
 
91
- client = Google::Cloud::Kms.key_management_service do |config|
91
+ client = Google::Cloud::Kms.ekm_service do |config|
92
92
  config.credentials = "path/to/keyfile.json"
93
93
  end
94
94
  ```
95
95
 
96
- Or configured globally for all clients:
96
+ Or globally for all clients:
97
97
 
98
98
  ```ruby
99
99
  require "google/cloud/kms"
@@ -102,7 +102,7 @@ Google::Cloud::Kms.configure do |config|
102
102
  config.credentials = "path/to/keyfile.json"
103
103
  end
104
104
 
105
- client = Google::Cloud::Kms.key_management_service
105
+ client = Google::Cloud::Kms.ekm_service
106
106
  ```
107
107
 
108
108
  ### Cloud SDK
@@ -120,15 +120,6 @@ To configure your system for this, simply:
120
120
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
121
121
  *should* only be used during development.
122
122
 
123
- [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
124
- [dev-console]: https://console.cloud.google.com/project
125
-
126
- [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
127
-
128
- [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
129
- [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
130
- [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
131
-
132
123
  ## Creating a Service Account
133
124
 
134
125
  Google Cloud requires **Service Account Credentials** to
@@ -139,31 +130,22 @@ If you are not running this client within
139
130
  [Google Cloud Platform environments](#google-cloud-platform-environments), you
140
131
  need a Google Developers service account.
141
132
 
142
- 1. Visit the [Google Developers Console][dev-console].
133
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
143
134
  2. Create a new project or click on an existing project.
144
- 3. Activate the slide-out navigation tray and select **API Manager**. From
135
+ 3. Activate the menu in the upper left and select **APIs & Services**. From
145
136
  here, you will enable the APIs that your application requires.
146
137
 
147
- ![Enable the APIs that your application requires][enable-apis]
148
-
149
138
  *Note: You may need to enable billing in order to use these services.*
150
139
 
151
140
  4. Select **Credentials** from the side navigation.
152
141
 
153
- You should see a screen like one of the following.
154
-
155
- ![Create a new service account][create-new-service-account]
156
-
157
- ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
158
-
159
- Find the "Add credentials" drop down and select "Service account" to be
160
- guided through downloading a new JSON key file.
142
+ Find the "Create credentials" drop down near the top of the page, and select
143
+ "Service account" to be guided through downloading a new JSON key file.
161
144
 
162
145
  If you want to re-use an existing service account, you can easily generate a
163
- new key file. Just select the account you wish to re-use, and click "Generate
164
- new JSON key":
165
-
166
- ![Re-use an existing service account][reuse-service-account]
146
+ new key file. Just select the account you wish to re-use, click the pencil
147
+ tool on the right side to edit the service account, select the **Keys** tab,
148
+ and then select **Add Key**.
167
149
 
168
150
  The key file you download will be used by this library to authenticate API
169
151
  requests and should be stored in a secure location.
data/MIGRATING.md CHANGED
@@ -268,7 +268,7 @@ end
268
268
  ### Handling Errors
269
269
 
270
270
  The client reports standard
271
- {file:https://github.com/grpc/grpc/blob/master/doc/statuscodes.md gRPC error codes}
271
+ [gRPC error codes](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
272
272
  by raising exceptions. In older releases, these exceptions were located in the
273
273
  `Google::Gax` namespace and were subclasses of the `Google::Gax::GaxError` base
274
274
  exception class, defined in the `google-gax` gem. However, these classes were
data/README.md CHANGED
@@ -11,7 +11,7 @@ verisoned gems in as dependencies, and provides high-level methods for
11
11
  constructing clients. More information on versioned clients can be found below
12
12
  in the section titled *Which client should I use?*.
13
13
 
14
- View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-kms/latest)
14
+ View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-kms/latest)
15
15
  for this library, google-cloud-kms, to see the convenience methods for
16
16
  constructing client objects. Reference documentation for the client objects
17
17
  themselves can be found in the client library documentation for the versioned
@@ -20,7 +20,7 @@
20
20
  module Google
21
21
  module Cloud
22
22
  module Kms
23
- VERSION = "2.1.1"
23
+ VERSION = "2.3.0"
24
24
  end
25
25
  end
26
26
  end
@@ -44,6 +44,40 @@ end
44
44
  module Google
45
45
  module Cloud
46
46
  module Kms
47
+ ##
48
+ # Create a new client object for EkmService.
49
+ #
50
+ # By default, this returns an instance of
51
+ # [Google::Cloud::Kms::V1::EkmService::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/EkmService/Client.html)
52
+ # for version V1 of the API.
53
+ # However, you can specify specify a different API version by passing it in the
54
+ # `version` parameter. If the EkmService service is
55
+ # supported by that API version, and the corresponding gem is available, the
56
+ # appropriate versioned client will be returned.
57
+ #
58
+ # ## About EkmService
59
+ #
60
+ # Google Cloud Key Management EKM Service
61
+ #
62
+ # Manages external cryptographic keys and operations using those keys.
63
+ # Implements a REST model with the following objects:
64
+ # * EkmConnection
65
+ #
66
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
67
+ # Defaults to `:v1`.
68
+ # @return [EkmService::Client] A client object for the specified version.
69
+ #
70
+ def self.ekm_service version: :v1, &block
71
+ require "google/cloud/kms/#{version.to_s.downcase}"
72
+
73
+ package_name = Google::Cloud::Kms
74
+ .constants
75
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
76
+ .first
77
+ package_module = Google::Cloud::Kms.const_get package_name
78
+ package_module.const_get(:EkmService).const_get(:Client).new(&block)
79
+ end
80
+
47
81
  ##
48
82
  # Create a new client object for KeyManagementService.
49
83
  #
@@ -85,6 +119,60 @@ module Google
85
119
  package_module.const_get(:KeyManagementService).const_get(:Client).new(&block)
86
120
  end
87
121
 
122
+ ##
123
+ # Create a new client object for IAMPolicy.
124
+ #
125
+ # By default, this returns an instance of
126
+ # [Google::Cloud::Kms::V1::IAMPolicy::Client](https://googleapis.dev/ruby/google-cloud-kms-v1/latest/Google/Cloud/Kms/V1/IAMPolicy/Client.html)
127
+ # for version V1 of the API.
128
+ # However, you can specify specify a different API version by passing it in the
129
+ # `version` parameter. If the IAMPolicy service is
130
+ # supported by that API version, and the corresponding gem is available, the
131
+ # appropriate versioned client will be returned.
132
+ #
133
+ # ## About IAMPolicy
134
+ #
135
+ # ## API Overview
136
+ #
137
+ # Manages Identity and Access Management (IAM) policies.
138
+ #
139
+ # Any implementation of an API that offers access control features
140
+ # implements the google.iam.v1.IAMPolicy interface.
141
+ #
142
+ # ## Data model
143
+ #
144
+ # Access control is applied when a principal (user or service account), takes
145
+ # some action on a resource exposed by a service. Resources, identified by
146
+ # URI-like names, are the unit of access control specification. Service
147
+ # implementations can choose the granularity of access control and the
148
+ # supported permissions for their resources.
149
+ # For example one database service may allow access control to be
150
+ # specified only at the Table level, whereas another might allow access control
151
+ # to also be specified at the Column level.
152
+ #
153
+ # ## Policy Structure
154
+ #
155
+ # See google.iam.v1.Policy
156
+ #
157
+ # This is intentionally not a CRUD style API because access control policies
158
+ # are created and deleted implicitly with the resources to which they are
159
+ # attached.
160
+ #
161
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
162
+ # Defaults to `:v1`.
163
+ # @return [IAMPolicy::Client] A client object for the specified version.
164
+ #
165
+ def self.iam_policy version: :v1, &block
166
+ require "google/cloud/kms/#{version.to_s.downcase}"
167
+
168
+ package_name = Google::Cloud::Kms
169
+ .constants
170
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
171
+ .first
172
+ package_module = Google::Cloud::Kms.const_get package_name
173
+ package_module.const_get(:IAMPolicy).const_get(:Client).new(&block)
174
+ end
175
+
88
176
  ##
89
177
  # Configure the google-cloud-kms library.
90
178
  #
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: 2.1.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-30 00:00:00.000000000 Z
11
+ date: 2022-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-core
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0.0'
33
+ version: '0.11'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
36
  version: 2.a
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: '0.0'
43
+ version: '0.11'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 2.a
@@ -190,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0'
192
192
  requirements: []
193
- rubygems_version: 3.2.17
193
+ rubygems_version: 3.3.5
194
194
  signing_key:
195
195
  specification_version: 4
196
196
  summary: API Client library for the Cloud Key Management Service (KMS) API