google-cloud-kms-v1 0.22.1 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48625ddcdd80c5d3fccfe5985592a5d65c4b8a1f19eca3c0d05ce2c5eed51655
4
- data.tar.gz: 843b3339e6b315dc50f22d391133f9624901080e7a4e7442159f3b6d418b7003
3
+ metadata.gz: 46458a370e0175da33a29482148e636d1ad205de51d1471a9fa834edc85cbfe2
4
+ data.tar.gz: 907a5b9a017e847947414d7055494a8f3ddbe22f2bda1aa642ed3e901a6d63b7
5
5
  SHA512:
6
- metadata.gz: dd93939da186fd9bd9dc9f7608c3efb7a8d0fa5cdf5581547668205bfcd04df89d1c2764586af4eeb63f62ef1e339be415ee0520d47956afbd9591d4d1bd631f
7
- data.tar.gz: 5f43855c0ed386f3aab638d0c895ed847b7373f384c0e80c8001cfc0a5751b37265384f2231b9afe1bfe81d7a8bfd269afed80927d00b2f682c3b9a0fe2ade02
6
+ metadata.gz: f5b311bb7ab84b06fac52573a5ac063d7e2bf670e275cf184874946100b8b35cf8566952323121d391f7f8d69962400346456d3c8b42285ef42f2428ca9b68af
7
+ data.tar.gz: 173544f00c0073d38d484faf14563629bd926623f8cd9353ae7ba624b2cc91cdf377641820ae45a98a3c76e880592b0120bed7161872d17e2f0259b511439c82
data/AUTHENTICATION.md CHANGED
@@ -1,151 +1,122 @@
1
1
  # Authentication
2
2
 
3
- In general, the google-cloud-kms-v1 library uses
4
- [Service Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
5
- credentials to connect to Google Cloud services. When running within
6
- [Google Cloud Platform environments](#google-cloud-platform-environments) the
7
- credentials will be discovered automatically. When running on other
8
- environments, the Service Account credentials can be specified by providing the
9
- path to the
10
- [JSON keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys)
11
- for the account (or the JSON itself) in
12
- [environment variables](#environment-variables). Additionally, Cloud SDK
13
- credentials can also be discovered automatically, but this is only recommended
14
- during development.
3
+ The recommended way to authenticate to the google-cloud-kms-v1 library is to use
4
+ [Application Default Credentials (ADC)](https://cloud.google.com/docs/authentication/application-default-credentials).
5
+ To review all of your authentication options, see [Credentials lookup](#credential-lookup).
15
6
 
16
7
  ## Quickstart
17
8
 
18
- 1. [Create a service account and credentials](#creating-a-service-account).
19
- 2. Set the [environment variable](#environment-variables).
9
+ The following example shows how to set up authentication for a local development
10
+ environment with your user credentials.
20
11
 
21
- ```sh
22
- export KMS_CREDENTIALS=path/to/keyfile.json
23
- ```
24
-
25
- 3. Initialize the client.
12
+ **NOTE:** This method is _not_ recommended for running in production. User credentials
13
+ should be used only during development.
26
14
 
27
- ```ruby
28
- require "google/cloud/kms/v1"
15
+ 1. [Download and install the Google Cloud CLI](https://cloud.google.com/sdk).
16
+ 2. Set up a local ADC file with your user credentials:
29
17
 
30
- client = ::Google::Cloud::Kms::V1::EkmService::Client.new
18
+ ```sh
19
+ gcloud auth application-default login
31
20
  ```
32
21
 
33
- ## Credential Lookup
34
-
35
- The google-cloud-kms-v1 library aims to make authentication
36
- as simple as possible, and provides several mechanisms to configure your system
37
- without requiring **Service Account Credentials** directly in code.
38
-
39
- **Credentials** are discovered in the following order:
40
-
41
- 1. Specify credentials in method arguments
42
- 2. Specify credentials in configuration
43
- 3. Discover credentials path in environment variables
44
- 4. Discover credentials JSON in environment variables
45
- 5. Discover credentials file in the Cloud SDK's path
46
- 6. Discover GCP credentials
47
-
48
- ### Google Cloud Platform environments
22
+ 3. Write code as if already authenticated.
49
23
 
50
- When running on Google Cloud Platform (GCP), including Google Compute Engine
51
- (GCE), Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud
52
- Functions (GCF) and Cloud Run, **Credentials** are discovered automatically.
53
- Code should be written as if already authenticated.
24
+ For more information about setting up authentication for a local development environment, see
25
+ [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-dev).
54
26
 
55
- ### Environment Variables
27
+ ## Credential Lookup
56
28
 
57
- The **Credentials JSON** can be placed in environment variables instead of
58
- declaring them directly in code. Each service has its own environment variable,
59
- allowing for different service accounts to be used for different services. (See
60
- the READMEs for the individual service gems for details.) The path to the
61
- **Credentials JSON** file can be stored in the environment variable, or the
62
- **Credentials JSON** itself can be stored for environments such as Docker
63
- containers where writing files is difficult or not encouraged.
29
+ The google-cloud-kms-v1 library provides several mechanisms to configure your system.
30
+ Generally, using Application Default Credentials to facilitate automatic
31
+ credentials discovery is the easist method. But if you need to explicitly specify
32
+ credentials, there are several methods available to you.
64
33
 
65
- The environment variables that google-cloud-kms-v1
66
- checks for credentials are configured on the service Credentials class (such as
67
- {::Google::Cloud::Kms::V1::EkmService::Credentials}):
34
+ Credentials are accepted in the following ways, in the following order or precedence:
68
35
 
69
- * `KMS_CREDENTIALS` - Path to JSON file, or JSON contents
70
- * `KMS_KEYFILE` - Path to JSON file, or JSON contents
71
- * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
- * `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
- * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
36
+ 1. Credentials specified in method arguments
37
+ 2. Credentials specified in configuration
38
+ 3. Credentials pointed to or included in environment variables
39
+ 4. Credentials found in local ADC file
40
+ 5. Credentials returned by the metadata server for the attached service account (GCP)
74
41
 
75
- ```ruby
76
- require "google/cloud/kms/v1"
77
-
78
- ENV["KMS_CREDENTIALS"] = "path/to/keyfile.json"
42
+ ### Configuration
79
43
 
80
- client = ::Google::Cloud::Kms::V1::EkmService::Client.new
81
- ```
44
+ You can configure a path to a JSON credentials file, either for an individual client object or
45
+ globally, for all client objects. The JSON file can contain credentials created for
46
+ [workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
47
+ [workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
48
+ [service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
82
49
 
83
- ### Configuration
50
+ Note: Service account keys are a security risk if not managed correctly. You should
51
+ [choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
52
+ whenever possible.
84
53
 
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:
54
+ To configure a credentials file for an individual client initialization:
87
55
 
88
56
  ```ruby
89
57
  require "google/cloud/kms/v1"
90
58
 
91
59
  client = ::Google::Cloud::Kms::V1::EkmService::Client.new do |config|
92
- config.credentials = "path/to/keyfile.json"
60
+ config.credentials = "path/to/credentialfile.json"
93
61
  end
94
62
  ```
95
63
 
96
- Or globally for all clients:
64
+ To configure a credentials file globally for all clients:
97
65
 
98
66
  ```ruby
99
67
  require "google/cloud/kms/v1"
100
68
 
101
69
  ::Google::Cloud::Kms::V1::EkmService::Client.configure do |config|
102
- config.credentials = "path/to/keyfile.json"
70
+ config.credentials = "path/to/credentialfile.json"
103
71
  end
104
72
 
105
73
  client = ::Google::Cloud::Kms::V1::EkmService::Client.new
106
74
  ```
107
75
 
108
- ### Cloud SDK
76
+ ### Environment Variables
109
77
 
110
- This option allows for an easy way to authenticate during development. If
111
- credentials are not provided in code or in environment variables, then Cloud SDK
112
- credentials are discovered.
78
+ You can also use an environment variable to provide a JSON credentials file.
79
+ The environment variable can contain a path to the credentials file or, for
80
+ environments such as Docker containers where writing files is not encouraged,
81
+ you can include the credentials file itself.
113
82
 
114
- To configure your system for this, simply:
83
+ The JSON file can contain credentials created for
84
+ [workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
85
+ [workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
86
+ [service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
115
87
 
116
- 1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
117
- 2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
118
- 3. Write code as if already authenticated.
88
+ Note: Service account keys are a security risk if not managed correctly. You should
89
+ [choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
90
+ whenever possible.
91
+
92
+ The environment variables that google-cloud-kms-v1
93
+ checks for credentials are:
119
94
 
120
- **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
121
- *should* only be used during development.
95
+ * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
96
+ * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
122
97
 
123
- ## Creating a Service Account
98
+ ```ruby
99
+ require "google/cloud/kms/v1"
124
100
 
125
- Google Cloud requires **Service Account Credentials** to
126
- connect to the APIs. You will use the **JSON key file** to
127
- connect to most services with google-cloud-kms-v1.
101
+ ENV["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/credentialfile.json"
128
102
 
129
- If you are not running this client within
130
- [Google Cloud Platform environments](#google-cloud-platform-environments), you
131
- need a Google Developers service account.
103
+ client = ::Google::Cloud::Kms::V1::EkmService::Client.new
104
+ ```
132
105
 
133
- 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
134
- 2. Create a new project or click on an existing project.
135
- 3. Activate the menu in the upper left and select **APIs & Services**. From
136
- here, you will enable the APIs that your application requires.
106
+ ### Local ADC file
137
107
 
138
- *Note: You may need to enable billing in order to use these services.*
108
+ You can set up a local ADC file with your user credentials for authentication during
109
+ development. If credentials are not provided in code or in environment variables,
110
+ then the local ADC credentials are discovered.
139
111
 
140
- 4. Select **Credentials** from the side navigation.
112
+ Follow the steps in [Quickstart](#quickstart) to set up a local ADC file.
141
113
 
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.
114
+ ### Google Cloud Platform environments
144
115
 
145
- If you want to re-use an existing service account, you can easily generate a
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**.
116
+ When running on Google Cloud Platform (GCP), including Google Compute Engine
117
+ (GCE), Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud
118
+ Functions (GCF) and Cloud Run, credentials are retrieved from the attached
119
+ service account automatically. Code should be written as if already authenticated.
149
120
 
150
- The key file you download will be used by this library to authenticate API
151
- requests and should be stored in a secure location.
121
+ For more information, see
122
+ [Set up ADC for Google Cloud services](https://cloud.google.com/docs/authentication/provide-credentials-adc#attached-sa).
@@ -36,6 +36,9 @@ module Google
36
36
  # * {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}
37
37
  #
38
38
  class Client
39
+ # @private
40
+ DEFAULT_ENDPOINT_TEMPLATE = "cloudkms.$UNIVERSE_DOMAIN$"
41
+
39
42
  include Paths
40
43
 
41
44
  # @private
@@ -116,6 +119,15 @@ module Google
116
119
  @config
117
120
  end
118
121
 
122
+ ##
123
+ # The effective universe domain
124
+ #
125
+ # @return [String]
126
+ #
127
+ def universe_domain
128
+ @ekm_service_stub.universe_domain
129
+ end
130
+
119
131
  ##
120
132
  # Create a new EkmService client object.
121
133
  #
@@ -149,8 +161,9 @@ module Google
149
161
  credentials = @config.credentials
150
162
  # Use self-signed JWT if the endpoint is unchanged from default,
151
163
  # but only if the default endpoint does not have a region prefix.
152
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
153
- !@config.endpoint.split(".").first.include?("-")
164
+ enable_self_signed_jwt = @config.endpoint.nil? ||
165
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
166
+ !@config.endpoint.split(".").first.include?("-"))
154
167
  credentials ||= Credentials.default scope: @config.scope,
155
168
  enable_self_signed_jwt: enable_self_signed_jwt
156
169
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -163,20 +176,25 @@ module Google
163
176
  config.credentials = credentials
164
177
  config.quota_project = @quota_project_id
165
178
  config.endpoint = @config.endpoint
179
+ config.universe_domain = @config.universe_domain
166
180
  end
167
181
 
168
182
  @iam_policy_client = Google::Iam::V1::IAMPolicy::Client.new do |config|
169
183
  config.credentials = credentials
170
184
  config.quota_project = @quota_project_id
171
185
  config.endpoint = @config.endpoint
186
+ config.universe_domain = @config.universe_domain
172
187
  end
173
188
 
174
189
  @ekm_service_stub = ::Gapic::ServiceStub.new(
175
190
  ::Google::Cloud::Kms::V1::EkmService::Stub,
176
- credentials: credentials,
177
- endpoint: @config.endpoint,
191
+ credentials: credentials,
192
+ endpoint: @config.endpoint,
193
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
194
+ universe_domain: @config.universe_domain,
178
195
  channel_args: @config.channel_args,
179
- interceptors: @config.interceptors
196
+ interceptors: @config.interceptors,
197
+ channel_pool_config: @config.channel_pool
180
198
  )
181
199
  end
182
200
 
@@ -873,9 +891,9 @@ module Google
873
891
  # end
874
892
  #
875
893
  # @!attribute [rw] endpoint
876
- # The hostname or hostname:port of the service endpoint.
877
- # Defaults to `"cloudkms.googleapis.com"`.
878
- # @return [::String]
894
+ # A custom service endpoint, as a hostname or hostname:port. The default is
895
+ # nil, indicating to use the default endpoint in the current universe domain.
896
+ # @return [::String,nil]
879
897
  # @!attribute [rw] credentials
880
898
  # Credentials to send with calls. You may provide any of the following types:
881
899
  # * (`String`) The path to a service account key file in JSON format
@@ -921,13 +939,20 @@ module Google
921
939
  # @!attribute [rw] quota_project
922
940
  # A separate project against which to charge quota.
923
941
  # @return [::String]
942
+ # @!attribute [rw] universe_domain
943
+ # The universe domain within which to make requests. This determines the
944
+ # default endpoint URL. The default value of nil uses the environment
945
+ # universe (usually the default "googleapis.com" universe).
946
+ # @return [::String,nil]
924
947
  #
925
948
  class Configuration
926
949
  extend ::Gapic::Config
927
950
 
951
+ # @private
952
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
928
953
  DEFAULT_ENDPOINT = "cloudkms.googleapis.com"
929
954
 
930
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
955
+ config_attr :endpoint, nil, ::String, nil
931
956
  config_attr :credentials, nil do |value|
932
957
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
933
958
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -942,6 +967,7 @@ module Google
942
967
  config_attr :metadata, nil, ::Hash, nil
943
968
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
944
969
  config_attr :quota_project, nil, ::String, nil
970
+ config_attr :universe_domain, nil, ::String, nil
945
971
 
946
972
  # @private
947
973
  def initialize parent_config = nil
@@ -962,6 +988,14 @@ module Google
962
988
  end
963
989
  end
964
990
 
991
+ ##
992
+ # Configuration for the channel pool
993
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
994
+ #
995
+ def channel_pool
996
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
997
+ end
998
+
965
999
  ##
966
1000
  # Configuration RPC class for the EkmService API.
967
1001
  #
@@ -38,6 +38,9 @@ module Google
38
38
  # * {::Google::Cloud::Kms::V1::EkmConnection EkmConnection}
39
39
  #
40
40
  class Client
41
+ # @private
42
+ DEFAULT_ENDPOINT_TEMPLATE = "cloudkms.$UNIVERSE_DOMAIN$"
43
+
41
44
  include Paths
42
45
 
43
46
  # @private
@@ -118,6 +121,15 @@ module Google
118
121
  @config
119
122
  end
120
123
 
124
+ ##
125
+ # The effective universe domain
126
+ #
127
+ # @return [String]
128
+ #
129
+ def universe_domain
130
+ @ekm_service_stub.universe_domain
131
+ end
132
+
121
133
  ##
122
134
  # Create a new EkmService REST client object.
123
135
  #
@@ -145,8 +157,9 @@ module Google
145
157
  credentials = @config.credentials
146
158
  # Use self-signed JWT if the endpoint is unchanged from default,
147
159
  # but only if the default endpoint does not have a region prefix.
148
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
149
- !@config.endpoint.split(".").first.include?("-")
160
+ enable_self_signed_jwt = @config.endpoint.nil? ||
161
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
162
+ !@config.endpoint.split(".").first.include?("-"))
150
163
  credentials ||= Credentials.default scope: @config.scope,
151
164
  enable_self_signed_jwt: enable_self_signed_jwt
152
165
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -160,6 +173,7 @@ module Google
160
173
  config.credentials = credentials
161
174
  config.quota_project = @quota_project_id
162
175
  config.endpoint = @config.endpoint
176
+ config.universe_domain = @config.universe_domain
163
177
  config.bindings_override = @config.bindings_override
164
178
  end
165
179
 
@@ -167,10 +181,16 @@ module Google
167
181
  config.credentials = credentials
168
182
  config.quota_project = @quota_project_id
169
183
  config.endpoint = @config.endpoint
184
+ config.universe_domain = @config.universe_domain
170
185
  config.bindings_override = @config.bindings_override
171
186
  end
172
187
 
173
- @ekm_service_stub = ::Google::Cloud::Kms::V1::EkmService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
188
+ @ekm_service_stub = ::Google::Cloud::Kms::V1::EkmService::Rest::ServiceStub.new(
189
+ endpoint: @config.endpoint,
190
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
191
+ universe_domain: @config.universe_domain,
192
+ credentials: credentials
193
+ )
174
194
  end
175
195
 
176
196
  ##
@@ -239,6 +259,26 @@ module Google
239
259
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Kms::V1::EkmConnection>]
240
260
  #
241
261
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
262
+ #
263
+ # @example Basic example
264
+ # require "google/cloud/kms/v1"
265
+ #
266
+ # # Create a client object. The client can be reused for multiple calls.
267
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
268
+ #
269
+ # # Create a request. To set request fields, pass in keyword arguments.
270
+ # request = Google::Cloud::Kms::V1::ListEkmConnectionsRequest.new
271
+ #
272
+ # # Call the list_ekm_connections method.
273
+ # result = client.list_ekm_connections request
274
+ #
275
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
276
+ # # over elements, and API calls will be issued to fetch pages as needed.
277
+ # result.each do |item|
278
+ # # Each element is of type ::Google::Cloud::Kms::V1::EkmConnection.
279
+ # p item
280
+ # end
281
+ #
242
282
  def list_ekm_connections request, options = nil
243
283
  raise ::ArgumentError, "request must be provided" if request.nil?
244
284
 
@@ -304,6 +344,22 @@ module Google
304
344
  # @return [::Google::Cloud::Kms::V1::EkmConnection]
305
345
  #
306
346
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
347
+ #
348
+ # @example Basic example
349
+ # require "google/cloud/kms/v1"
350
+ #
351
+ # # Create a client object. The client can be reused for multiple calls.
352
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
353
+ #
354
+ # # Create a request. To set request fields, pass in keyword arguments.
355
+ # request = Google::Cloud::Kms::V1::GetEkmConnectionRequest.new
356
+ #
357
+ # # Call the get_ekm_connection method.
358
+ # result = client.get_ekm_connection request
359
+ #
360
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConnection.
361
+ # p result
362
+ #
307
363
  def get_ekm_connection request, options = nil
308
364
  raise ::ArgumentError, "request must be provided" if request.nil?
309
365
 
@@ -375,6 +431,22 @@ module Google
375
431
  # @return [::Google::Cloud::Kms::V1::EkmConnection]
376
432
  #
377
433
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
434
+ #
435
+ # @example Basic example
436
+ # require "google/cloud/kms/v1"
437
+ #
438
+ # # Create a client object. The client can be reused for multiple calls.
439
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
440
+ #
441
+ # # Create a request. To set request fields, pass in keyword arguments.
442
+ # request = Google::Cloud::Kms::V1::CreateEkmConnectionRequest.new
443
+ #
444
+ # # Call the create_ekm_connection method.
445
+ # result = client.create_ekm_connection request
446
+ #
447
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConnection.
448
+ # p result
449
+ #
378
450
  def create_ekm_connection request, options = nil
379
451
  raise ::ArgumentError, "request must be provided" if request.nil?
380
452
 
@@ -440,6 +512,22 @@ module Google
440
512
  # @return [::Google::Cloud::Kms::V1::EkmConnection]
441
513
  #
442
514
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
515
+ #
516
+ # @example Basic example
517
+ # require "google/cloud/kms/v1"
518
+ #
519
+ # # Create a client object. The client can be reused for multiple calls.
520
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
521
+ #
522
+ # # Create a request. To set request fields, pass in keyword arguments.
523
+ # request = Google::Cloud::Kms::V1::UpdateEkmConnectionRequest.new
524
+ #
525
+ # # Call the update_ekm_connection method.
526
+ # result = client.update_ekm_connection request
527
+ #
528
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConnection.
529
+ # p result
530
+ #
443
531
  def update_ekm_connection request, options = nil
444
532
  raise ::ArgumentError, "request must be provided" if request.nil?
445
533
 
@@ -504,6 +592,22 @@ module Google
504
592
  # @return [::Google::Cloud::Kms::V1::EkmConfig]
505
593
  #
506
594
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
595
+ #
596
+ # @example Basic example
597
+ # require "google/cloud/kms/v1"
598
+ #
599
+ # # Create a client object. The client can be reused for multiple calls.
600
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
601
+ #
602
+ # # Create a request. To set request fields, pass in keyword arguments.
603
+ # request = Google::Cloud::Kms::V1::GetEkmConfigRequest.new
604
+ #
605
+ # # Call the get_ekm_config method.
606
+ # result = client.get_ekm_config request
607
+ #
608
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConfig.
609
+ # p result
610
+ #
507
611
  def get_ekm_config request, options = nil
508
612
  raise ::ArgumentError, "request must be provided" if request.nil?
509
613
 
@@ -569,6 +673,22 @@ module Google
569
673
  # @return [::Google::Cloud::Kms::V1::EkmConfig]
570
674
  #
571
675
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
676
+ #
677
+ # @example Basic example
678
+ # require "google/cloud/kms/v1"
679
+ #
680
+ # # Create a client object. The client can be reused for multiple calls.
681
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
682
+ #
683
+ # # Create a request. To set request fields, pass in keyword arguments.
684
+ # request = Google::Cloud::Kms::V1::UpdateEkmConfigRequest.new
685
+ #
686
+ # # Call the update_ekm_config method.
687
+ # result = client.update_ekm_config request
688
+ #
689
+ # # The returned object is of type Google::Cloud::Kms::V1::EkmConfig.
690
+ # p result
691
+ #
572
692
  def update_ekm_config request, options = nil
573
693
  raise ::ArgumentError, "request must be provided" if request.nil?
574
694
 
@@ -636,6 +756,22 @@ module Google
636
756
  # @return [::Google::Cloud::Kms::V1::VerifyConnectivityResponse]
637
757
  #
638
758
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
759
+ #
760
+ # @example Basic example
761
+ # require "google/cloud/kms/v1"
762
+ #
763
+ # # Create a client object. The client can be reused for multiple calls.
764
+ # client = Google::Cloud::Kms::V1::EkmService::Rest::Client.new
765
+ #
766
+ # # Create a request. To set request fields, pass in keyword arguments.
767
+ # request = Google::Cloud::Kms::V1::VerifyConnectivityRequest.new
768
+ #
769
+ # # Call the verify_connectivity method.
770
+ # result = client.verify_connectivity request
771
+ #
772
+ # # The returned object is of type Google::Cloud::Kms::V1::VerifyConnectivityResponse.
773
+ # p result
774
+ #
639
775
  def verify_connectivity request, options = nil
640
776
  raise ::ArgumentError, "request must be provided" if request.nil?
641
777
 
@@ -701,9 +837,9 @@ module Google
701
837
  # end
702
838
  #
703
839
  # @!attribute [rw] endpoint
704
- # The hostname or hostname:port of the service endpoint.
705
- # Defaults to `"cloudkms.googleapis.com"`.
706
- # @return [::String]
840
+ # A custom service endpoint, as a hostname or hostname:port. The default is
841
+ # nil, indicating to use the default endpoint in the current universe domain.
842
+ # @return [::String,nil]
707
843
  # @!attribute [rw] credentials
708
844
  # Credentials to send with calls. You may provide any of the following types:
709
845
  # * (`String`) The path to a service account key file in JSON format
@@ -740,13 +876,20 @@ module Google
740
876
  # @!attribute [rw] quota_project
741
877
  # A separate project against which to charge quota.
742
878
  # @return [::String]
879
+ # @!attribute [rw] universe_domain
880
+ # The universe domain within which to make requests. This determines the
881
+ # default endpoint URL. The default value of nil uses the environment
882
+ # universe (usually the default "googleapis.com" universe).
883
+ # @return [::String,nil]
743
884
  #
744
885
  class Configuration
745
886
  extend ::Gapic::Config
746
887
 
888
+ # @private
889
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
747
890
  DEFAULT_ENDPOINT = "cloudkms.googleapis.com"
748
891
 
749
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
892
+ config_attr :endpoint, nil, ::String, nil
750
893
  config_attr :credentials, nil do |value|
751
894
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
752
895
  allowed.any? { |klass| klass === value }
@@ -758,6 +901,7 @@ module Google
758
901
  config_attr :metadata, nil, ::Hash, nil
759
902
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
760
903
  config_attr :quota_project, nil, ::String, nil
904
+ config_attr :universe_domain, nil, ::String, nil
761
905
 
762
906
  # @private
763
907
  # Overrides for http bindings for the RPCs of this service