google-cloud-compute-v1 3.5.0 → 3.7.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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +375 -0
  3. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +122 -0
  4. data/lib/google/cloud/compute/v1/compute_pb.rb +151 -1
  5. data/lib/google/cloud/compute/v1/disks/rest/client.rb +118 -0
  6. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +64 -0
  7. data/lib/google/cloud/compute/v1/global_vm_extension_policies/credentials.rb +52 -0
  8. data/lib/google/cloud/compute/v1/global_vm_extension_policies/rest/client.rb +1164 -0
  9. data/lib/google/cloud/compute/v1/global_vm_extension_policies/rest/service_stub.rb +453 -0
  10. data/lib/google/cloud/compute/v1/global_vm_extension_policies/rest.rb +51 -0
  11. data/lib/google/cloud/compute/v1/global_vm_extension_policies.rb +47 -0
  12. data/lib/google/cloud/compute/v1/instant_snapshot_groups/credentials.rb +52 -0
  13. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest/client.rb +1145 -0
  14. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest/service_stub.rb +523 -0
  15. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest.rb +51 -0
  16. data/lib/google/cloud/compute/v1/instant_snapshot_groups.rb +47 -0
  17. data/lib/google/cloud/compute/v1/license_codes/credentials.rb +0 -1
  18. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +193 -0
  19. data/lib/google/cloud/compute/v1/license_codes/rest/service_stub.rb +125 -0
  20. data/lib/google/cloud/compute/v1/networks/rest/client.rb +116 -0
  21. data/lib/google/cloud/compute/v1/networks/rest/service_stub.rb +63 -0
  22. data/lib/google/cloud/compute/v1/region_backend_buckets/credentials.rb +52 -0
  23. data/lib/google/cloud/compute/v1/region_backend_buckets/rest/client.rb +1450 -0
  24. data/lib/google/cloud/compute/v1/region_backend_buckets/rest/service_stub.rb +649 -0
  25. data/lib/google/cloud/compute/v1/region_backend_buckets/rest.rb +51 -0
  26. data/lib/google/cloud/compute/v1/region_backend_buckets.rb +47 -0
  27. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/client.rb +95 -0
  28. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/service_stub.rb +63 -0
  29. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +118 -0
  30. data/lib/google/cloud/compute/v1/region_disks/rest/service_stub.rb +64 -0
  31. data/lib/google/cloud/compute/v1/region_health_sources/rest/client.rb +95 -0
  32. data/lib/google/cloud/compute/v1/region_health_sources/rest/service_stub.rb +63 -0
  33. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/credentials.rb +52 -0
  34. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest/client.rb +1002 -0
  35. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest/service_stub.rb +400 -0
  36. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest.rb +51 -0
  37. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests.rb +47 -0
  38. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/credentials.rb +52 -0
  39. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest/client.rb +1146 -0
  40. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest/service_stub.rb +523 -0
  41. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest.rb +51 -0
  42. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups.rb +47 -0
  43. data/lib/google/cloud/compute/v1/region_snapshot_settings/credentials.rb +52 -0
  44. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest/client.rb +561 -0
  45. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest/service_stub.rb +206 -0
  46. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest.rb +51 -0
  47. data/lib/google/cloud/compute/v1/region_snapshot_settings.rb +47 -0
  48. data/lib/google/cloud/compute/v1/region_snapshots/credentials.rb +52 -0
  49. data/lib/google/cloud/compute/v1/region_snapshots/rest/client.rb +1388 -0
  50. data/lib/google/cloud/compute/v1/region_snapshots/rest/service_stub.rb +651 -0
  51. data/lib/google/cloud/compute/v1/region_snapshots/rest.rb +51 -0
  52. data/lib/google/cloud/compute/v1/region_snapshots.rb +47 -0
  53. data/lib/google/cloud/compute/v1/rest.rb +10 -0
  54. data/lib/google/cloud/compute/v1/rollout_plans/credentials.rb +52 -0
  55. data/lib/google/cloud/compute/v1/rollout_plans/rest/client.rb +848 -0
  56. data/lib/google/cloud/compute/v1/rollout_plans/rest/service_stub.rb +328 -0
  57. data/lib/google/cloud/compute/v1/rollout_plans/rest.rb +51 -0
  58. data/lib/google/cloud/compute/v1/rollout_plans.rb +47 -0
  59. data/lib/google/cloud/compute/v1/rollouts/credentials.rb +52 -0
  60. data/lib/google/cloud/compute/v1/rollouts/rest/client.rb +853 -0
  61. data/lib/google/cloud/compute/v1/rollouts/rest/service_stub.rb +328 -0
  62. data/lib/google/cloud/compute/v1/rollouts/rest.rb +51 -0
  63. data/lib/google/cloud/compute/v1/rollouts.rb +47 -0
  64. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +115 -0
  65. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +63 -0
  66. data/lib/google/cloud/compute/v1/version.rb +1 -1
  67. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/credentials.rb +52 -0
  68. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest/client.rb +975 -0
  69. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest/service_stub.rb +396 -0
  70. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest.rb +51 -0
  71. data/lib/google/cloud/compute/v1/zone_vm_extension_policies.rb +47 -0
  72. data/lib/google/cloud/compute/v1.rb +10 -0
  73. data/proto_docs/google/cloud/compute/v1/compute.rb +6037 -1099
  74. metadata +51 -1
@@ -0,0 +1,328 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/compute/v1/compute_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Compute
24
+ module V1
25
+ module Rollouts
26
+ module Rest
27
+ ##
28
+ # REST service stub for the Rollouts service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
+ # These require statements are intentionally placed here to initialize
36
+ # the REST modules only when it's required.
37
+ require "gapic/rest"
38
+
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
43
+ numeric_enums: false,
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
47
+ end
48
+
49
+ ##
50
+ # The effective universe domain
51
+ #
52
+ # @return [String]
53
+ #
54
+ def universe_domain
55
+ @client_stub.universe_domain
56
+ end
57
+
58
+ ##
59
+ # The effective endpoint
60
+ #
61
+ # @return [String]
62
+ #
63
+ def endpoint
64
+ @client_stub.endpoint
65
+ end
66
+
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
76
+ ##
77
+ # Baseline implementation for the cancel REST call
78
+ #
79
+ # @param request_pb [::Google::Cloud::Compute::V1::CancelRolloutRequest]
80
+ # A request object representing the call parameters. Required.
81
+ # @param options [::Gapic::CallOptions]
82
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
83
+ #
84
+ # @yield [result, operation] Access the result along with the TransportOperation object
85
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
86
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
87
+ #
88
+ # @return [::Google::Cloud::Compute::V1::Operation]
89
+ # A result object deserialized from the server's reply
90
+ def cancel request_pb, options = nil
91
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
92
+
93
+ verb, uri, query_string_params, body = ServiceStub.transcode_cancel_request request_pb
94
+ query_string_params = if query_string_params.any?
95
+ query_string_params.to_h { |p| p.split "=", 2 }
96
+ else
97
+ {}
98
+ end
99
+
100
+ response = @client_stub.make_http_request(
101
+ verb,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "cancel",
106
+ options: options
107
+ )
108
+ operation = ::Gapic::Rest::TransportOperation.new response
109
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
114
+ end
115
+
116
+ ##
117
+ # Baseline implementation for the delete REST call
118
+ #
119
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteRolloutRequest]
120
+ # A request object representing the call parameters. Required.
121
+ # @param options [::Gapic::CallOptions]
122
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
123
+ #
124
+ # @yield [result, operation] Access the result along with the TransportOperation object
125
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
126
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
127
+ #
128
+ # @return [::Google::Cloud::Compute::V1::Operation]
129
+ # A result object deserialized from the server's reply
130
+ def delete request_pb, options = nil
131
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
132
+
133
+ verb, uri, query_string_params, body = ServiceStub.transcode_delete_request request_pb
134
+ query_string_params = if query_string_params.any?
135
+ query_string_params.to_h { |p| p.split "=", 2 }
136
+ else
137
+ {}
138
+ end
139
+
140
+ response = @client_stub.make_http_request(
141
+ verb,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "delete",
146
+ options: options
147
+ )
148
+ operation = ::Gapic::Rest::TransportOperation.new response
149
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
154
+ end
155
+
156
+ ##
157
+ # Baseline implementation for the get REST call
158
+ #
159
+ # @param request_pb [::Google::Cloud::Compute::V1::GetRolloutRequest]
160
+ # A request object representing the call parameters. Required.
161
+ # @param options [::Gapic::CallOptions]
162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
163
+ #
164
+ # @yield [result, operation] Access the result along with the TransportOperation object
165
+ # @yieldparam result [::Google::Cloud::Compute::V1::Rollout]
166
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
167
+ #
168
+ # @return [::Google::Cloud::Compute::V1::Rollout]
169
+ # A result object deserialized from the server's reply
170
+ def get request_pb, options = nil
171
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
172
+
173
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_request request_pb
174
+ query_string_params = if query_string_params.any?
175
+ query_string_params.to_h { |p| p.split "=", 2 }
176
+ else
177
+ {}
178
+ end
179
+
180
+ response = @client_stub.make_http_request(
181
+ verb,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "get",
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Cloud::Compute::V1::Rollout.decode_json response.body, ignore_unknown_fields: true
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+ end
195
+
196
+ ##
197
+ # Baseline implementation for the list REST call
198
+ #
199
+ # @param request_pb [::Google::Cloud::Compute::V1::ListRolloutsRequest]
200
+ # A request object representing the call parameters. Required.
201
+ # @param options [::Gapic::CallOptions]
202
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
203
+ #
204
+ # @yield [result, operation] Access the result along with the TransportOperation object
205
+ # @yieldparam result [::Google::Cloud::Compute::V1::RolloutsListResponse]
206
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
207
+ #
208
+ # @return [::Google::Cloud::Compute::V1::RolloutsListResponse]
209
+ # A result object deserialized from the server's reply
210
+ def list request_pb, options = nil
211
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
212
+
213
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_request request_pb
214
+ query_string_params = if query_string_params.any?
215
+ query_string_params.to_h { |p| p.split "=", 2 }
216
+ else
217
+ {}
218
+ end
219
+
220
+ response = @client_stub.make_http_request(
221
+ verb,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "list",
226
+ options: options
227
+ )
228
+ operation = ::Gapic::Rest::TransportOperation.new response
229
+ result = ::Google::Cloud::Compute::V1::RolloutsListResponse.decode_json response.body, ignore_unknown_fields: true
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
234
+ end
235
+
236
+ ##
237
+ # @private
238
+ #
239
+ # GRPC transcoding helper method for the cancel REST call
240
+ #
241
+ # @param request_pb [::Google::Cloud::Compute::V1::CancelRolloutRequest]
242
+ # A request object representing the call parameters. Required.
243
+ # @return [Array(String, [String, nil], Hash{String => String})]
244
+ # Uri, Body, Query string parameters
245
+ def self.transcode_cancel_request request_pb
246
+ transcoder = Gapic::Rest::GrpcTranscoder.new
247
+ .with_bindings(
248
+ uri_method: :patch,
249
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}",
250
+ matches: [
251
+ ["project", %r{^[^/]+/?$}, false],
252
+ ["rollout", %r{^[^/]+/?$}, false]
253
+ ]
254
+ )
255
+ transcoder.transcode request_pb
256
+ end
257
+
258
+ ##
259
+ # @private
260
+ #
261
+ # GRPC transcoding helper method for the delete REST call
262
+ #
263
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteRolloutRequest]
264
+ # A request object representing the call parameters. Required.
265
+ # @return [Array(String, [String, nil], Hash{String => String})]
266
+ # Uri, Body, Query string parameters
267
+ def self.transcode_delete_request request_pb
268
+ transcoder = Gapic::Rest::GrpcTranscoder.new
269
+ .with_bindings(
270
+ uri_method: :delete,
271
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}",
272
+ matches: [
273
+ ["project", %r{^[^/]+/?$}, false],
274
+ ["rollout", %r{^[^/]+/?$}, false]
275
+ ]
276
+ )
277
+ transcoder.transcode request_pb
278
+ end
279
+
280
+ ##
281
+ # @private
282
+ #
283
+ # GRPC transcoding helper method for the get REST call
284
+ #
285
+ # @param request_pb [::Google::Cloud::Compute::V1::GetRolloutRequest]
286
+ # A request object representing the call parameters. Required.
287
+ # @return [Array(String, [String, nil], Hash{String => String})]
288
+ # Uri, Body, Query string parameters
289
+ def self.transcode_get_request request_pb
290
+ transcoder = Gapic::Rest::GrpcTranscoder.new
291
+ .with_bindings(
292
+ uri_method: :get,
293
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}",
294
+ matches: [
295
+ ["project", %r{^[^/]+/?$}, false],
296
+ ["rollout", %r{^[^/]+/?$}, false]
297
+ ]
298
+ )
299
+ transcoder.transcode request_pb
300
+ end
301
+
302
+ ##
303
+ # @private
304
+ #
305
+ # GRPC transcoding helper method for the list REST call
306
+ #
307
+ # @param request_pb [::Google::Cloud::Compute::V1::ListRolloutsRequest]
308
+ # A request object representing the call parameters. Required.
309
+ # @return [Array(String, [String, nil], Hash{String => String})]
310
+ # Uri, Body, Query string parameters
311
+ def self.transcode_list_request request_pb
312
+ transcoder = Gapic::Rest::GrpcTranscoder.new
313
+ .with_bindings(
314
+ uri_method: :get,
315
+ uri_template: "/compute/v1/projects/{project}/global/rollouts",
316
+ matches: [
317
+ ["project", %r{^[^/]+/?$}, false]
318
+ ]
319
+ )
320
+ transcoder.transcode request_pb
321
+ end
322
+ end
323
+ end
324
+ end
325
+ end
326
+ end
327
+ end
328
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/compute/v1/version"
24
+
25
+ require "google/cloud/compute/v1/rollouts/credentials"
26
+ require "google/cloud/compute/v1/rollouts/rest/client"
27
+
28
+ module Google
29
+ module Cloud
30
+ module Compute
31
+ module V1
32
+ ##
33
+ # The Rollouts API.
34
+ #
35
+ # To load this service and instantiate a REST client:
36
+ #
37
+ # require "google/cloud/compute/v1/rollouts/rest"
38
+ # client = ::Google::Cloud::Compute::V1::Rollouts::Rest::Client.new
39
+ #
40
+ module Rollouts
41
+ # Client for the REST transport
42
+ module Rest
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
51
+ require "google/cloud/compute/v1/rollouts/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+ require "gapic/config/method"
21
+
22
+ require "google/cloud/compute/v1/version"
23
+
24
+ require "google/cloud/compute/v1/rollouts/credentials"
25
+ require "google/cloud/compute/v1/rollouts/rest"
26
+
27
+ module Google
28
+ module Cloud
29
+ module Compute
30
+ module V1
31
+ ##
32
+ # The Rollouts API.
33
+ #
34
+ # @example Load this service and instantiate a REST client
35
+ #
36
+ # require "google/cloud/compute/v1/rollouts/rest"
37
+ # client = ::Google::Cloud::Compute::V1::Rollouts::Rest::Client.new
38
+ #
39
+ module Rollouts
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ helper_path = ::File.join __dir__, "rollouts", "helpers.rb"
47
+ require "google/cloud/compute/v1/rollouts/helpers" if ::File.file? helper_path
@@ -96,6 +96,8 @@ module Google
96
96
 
97
97
  default_config.rpcs.test_iam_permissions.timeout = 600.0
98
98
 
99
+ default_config.rpcs.update_kms_key.timeout = 600.0
100
+
99
101
  default_config
100
102
  end
101
103
  yield @configure if block_given?
@@ -1020,6 +1022,112 @@ module Google
1020
1022
  raise ::Google::Cloud::Error.from_error(e)
1021
1023
  end
1022
1024
 
1025
+ ##
1026
+ # Rotates the customer-managed
1027
+ # encryption key to the latest version for the specified snapshot.
1028
+ #
1029
+ # @overload update_kms_key(request, options = nil)
1030
+ # Pass arguments to `update_kms_key` via a request object, either of type
1031
+ # {::Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest} or an equivalent Hash.
1032
+ #
1033
+ # @param request [::Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest, ::Hash]
1034
+ # A request object representing the call parameters. Required. To specify no
1035
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1036
+ # @param options [::Gapic::CallOptions, ::Hash]
1037
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1038
+ #
1039
+ # @overload update_kms_key(project: nil, request_id: nil, snapshot: nil, snapshot_update_kms_key_request_resource: nil)
1040
+ # Pass arguments to `update_kms_key` via keyword arguments. Note that at
1041
+ # least one keyword argument is required. To specify no parameters, or to keep all
1042
+ # the default parameter values, pass an empty Hash as a request object (see above).
1043
+ #
1044
+ # @param project [::String]
1045
+ # Project ID for this request.
1046
+ # @param request_id [::String]
1047
+ # An optional request ID to identify requests. Specify a unique request ID so
1048
+ # that if you must retry your request, the server will know to ignore the
1049
+ # request if it has already been completed.
1050
+ #
1051
+ # For example, consider a situation where you make an initial request and
1052
+ # the request times out. If you make the request again with the same
1053
+ # request ID, the server can check if original operation with the same
1054
+ # request ID was received, and if so, will ignore the second request. This
1055
+ # prevents clients from accidentally creating duplicate commitments.
1056
+ #
1057
+ # The request ID must be
1058
+ # a valid UUID with the exception that zero UUID is not supported
1059
+ # (00000000-0000-0000-0000-000000000000).
1060
+ # @param snapshot [::String]
1061
+ # Name of the snapshot resource to update. Should conform to RFC1035.
1062
+ # @param snapshot_update_kms_key_request_resource [::Google::Cloud::Compute::V1::SnapshotUpdateKmsKeyRequest, ::Hash]
1063
+ # The body resource for this request
1064
+ # @yield [result, operation] Access the result along with the TransportOperation object
1065
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
1066
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1067
+ #
1068
+ # @return [::Gapic::GenericLRO::Operation]
1069
+ #
1070
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1071
+ #
1072
+ # @example Basic example
1073
+ # require "google/cloud/compute/v1"
1074
+ #
1075
+ # # Create a client object. The client can be reused for multiple calls.
1076
+ # client = Google::Cloud::Compute::V1::Snapshots::Rest::Client.new
1077
+ #
1078
+ # # Create a request. To set request fields, pass in keyword arguments.
1079
+ # request = Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest.new
1080
+ #
1081
+ # # Call the update_kms_key method.
1082
+ # result = client.update_kms_key request
1083
+ #
1084
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
1085
+ # p result
1086
+ #
1087
+ def update_kms_key request, options = nil
1088
+ raise ::ArgumentError, "request must be provided" if request.nil?
1089
+
1090
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest
1091
+
1092
+ # Converts hash and nil to an options object
1093
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1094
+
1095
+ # Customize the options with defaults
1096
+ call_metadata = @config.rpcs.update_kms_key.metadata.to_h
1097
+
1098
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1099
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1100
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1101
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1102
+ transports_version_send: [:rest]
1103
+
1104
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1105
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1106
+
1107
+ options.apply_defaults timeout: @config.rpcs.update_kms_key.timeout,
1108
+ metadata: call_metadata,
1109
+ retry_policy: @config.rpcs.update_kms_key.retry_policy
1110
+
1111
+ options.apply_defaults timeout: @config.timeout,
1112
+ metadata: @config.metadata,
1113
+ retry_policy: @config.retry_policy
1114
+
1115
+ @snapshots_stub.update_kms_key request, options do |result, response|
1116
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
1117
+ operation: result,
1118
+ client: global_operations,
1119
+ request_values: {
1120
+ "project" => request.project
1121
+ },
1122
+ options: options
1123
+ )
1124
+ yield result, response if block_given?
1125
+ throw :response, result
1126
+ end
1127
+ rescue ::Gapic::Rest::Error => e
1128
+ raise ::Google::Cloud::Error.from_error(e)
1129
+ end
1130
+
1023
1131
  ##
1024
1132
  # Configuration class for the Snapshots REST API.
1025
1133
  #
@@ -1206,6 +1314,11 @@ module Google
1206
1314
  # @return [::Gapic::Config::Method]
1207
1315
  #
1208
1316
  attr_reader :test_iam_permissions
1317
+ ##
1318
+ # RPC-specific configuration for `update_kms_key`
1319
+ # @return [::Gapic::Config::Method]
1320
+ #
1321
+ attr_reader :update_kms_key
1209
1322
 
1210
1323
  # @private
1211
1324
  def initialize parent_rpcs = nil
@@ -1225,6 +1338,8 @@ module Google
1225
1338
  @set_labels = ::Gapic::Config::Method.new set_labels_config
1226
1339
  test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1227
1340
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
1341
+ update_kms_key_config = parent_rpcs.update_kms_key if parent_rpcs.respond_to? :update_kms_key
1342
+ @update_kms_key = ::Gapic::Config::Method.new update_kms_key_config
1228
1343
 
1229
1344
  yield self if block_given?
1230
1345
  end
@@ -393,6 +393,46 @@ module Google
393
393
  end
394
394
  end
395
395
 
396
+ ##
397
+ # Baseline implementation for the update_kms_key REST call
398
+ #
399
+ # @param request_pb [::Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest]
400
+ # A request object representing the call parameters. Required.
401
+ # @param options [::Gapic::CallOptions]
402
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
403
+ #
404
+ # @yield [result, operation] Access the result along with the TransportOperation object
405
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
406
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
407
+ #
408
+ # @return [::Google::Cloud::Compute::V1::Operation]
409
+ # A result object deserialized from the server's reply
410
+ def update_kms_key request_pb, options = nil
411
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
412
+
413
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_kms_key_request request_pb
414
+ query_string_params = if query_string_params.any?
415
+ query_string_params.to_h { |p| p.split "=", 2 }
416
+ else
417
+ {}
418
+ end
419
+
420
+ response = @client_stub.make_http_request(
421
+ verb,
422
+ uri: uri,
423
+ body: body || "",
424
+ params: query_string_params,
425
+ method_name: "update_kms_key",
426
+ options: options
427
+ )
428
+ operation = ::Gapic::Rest::TransportOperation.new response
429
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
430
+ catch :response do
431
+ yield result, operation if block_given?
432
+ result
433
+ end
434
+ end
435
+
396
436
  ##
397
437
  # @private
398
438
  #
@@ -570,6 +610,29 @@ module Google
570
610
  )
571
611
  transcoder.transcode request_pb
572
612
  end
613
+
614
+ ##
615
+ # @private
616
+ #
617
+ # GRPC transcoding helper method for the update_kms_key REST call
618
+ #
619
+ # @param request_pb [::Google::Cloud::Compute::V1::UpdateKmsKeySnapshotRequest]
620
+ # A request object representing the call parameters. Required.
621
+ # @return [Array(String, [String, nil], Hash{String => String})]
622
+ # Uri, Body, Query string parameters
623
+ def self.transcode_update_kms_key_request request_pb
624
+ transcoder = Gapic::Rest::GrpcTranscoder.new
625
+ .with_bindings(
626
+ uri_method: :post,
627
+ uri_template: "/compute/v1/projects/{project}/global/snapshots/{snapshot}/updateKmsKey",
628
+ body: "snapshot_update_kms_key_request_resource",
629
+ matches: [
630
+ ["project", %r{^[^/]+/?$}, false],
631
+ ["snapshot", %r{^[^/]+/?$}, false]
632
+ ]
633
+ )
634
+ transcoder.transcode request_pb
635
+ end
573
636
  end
574
637
  end
575
638
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Compute
23
23
  module V1
24
- VERSION = "3.5.0"
24
+ VERSION = "3.7.0"
25
25
  end
26
26
  end
27
27
  end