google-cloud-compute-v1 0.5.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/AUTHENTICATION.md +7 -25
  4. data/README.md +4 -4
  5. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +2 -2
  6. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +37 -8
  7. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +59 -14
  8. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +158 -19
  9. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +46 -0
  10. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +169 -23
  11. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +46 -0
  12. data/lib/google/cloud/compute/v1/compute_pb.rb +534 -2
  13. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +2 -2
  14. data/lib/google/cloud/compute/v1/disks/rest/client.rb +93 -24
  15. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +44 -10
  16. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +98 -31
  17. data/lib/google/cloud/compute/v1/firewall_policies/rest/service_stub.rb +2 -2
  18. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +54 -13
  19. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +70 -17
  20. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +34 -7
  21. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +64 -16
  22. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +55 -14
  23. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +2 -2
  24. data/lib/google/cloud/compute/v1/global_operations/rest/nonstandard_lro.rb +68 -0
  25. data/lib/google/cloud/compute/v1/global_operations.rb +1 -0
  26. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +1 -1
  27. data/lib/google/cloud/compute/v1/global_organization_operations/rest/nonstandard_lro.rb +68 -0
  28. data/lib/google/cloud/compute/v1/global_organization_operations.rb +1 -0
  29. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +47 -13
  30. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +55 -14
  31. data/lib/google/cloud/compute/v1/images/rest/client.rb +64 -16
  32. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +172 -47
  33. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +71 -18
  34. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +34 -7
  35. data/lib/google/cloud/compute/v1/instances/rest/client.rb +521 -96
  36. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +91 -0
  37. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +48 -11
  38. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +1 -1
  39. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +44 -10
  40. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +34 -7
  41. data/lib/google/cloud/compute/v1/machine_images/credentials.rb +52 -0
  42. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +804 -0
  43. data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +363 -0
  44. data/lib/google/cloud/compute/v1/machine_images/rest.rb +33 -0
  45. data/lib/google/cloud/compute/v1/machine_images.rb +44 -0
  46. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +2 -2
  47. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +60 -15
  48. data/lib/google/cloud/compute/v1/networks/rest/client.rb +85 -23
  49. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +82 -21
  50. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +37 -8
  51. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +2 -2
  52. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +48 -11
  53. data/lib/google/cloud/compute/v1/projects/rest/client.rb +107 -31
  54. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +47 -13
  55. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +51 -14
  56. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +58 -13
  57. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +58 -13
  58. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +116 -5
  59. data/lib/google/cloud/compute/v1/region_commitments/rest/service_stub.rb +48 -0
  60. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +1 -1
  61. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +92 -23
  62. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +47 -10
  63. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +58 -13
  64. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +171 -46
  65. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +26 -5
  66. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +24 -3
  67. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +36 -7
  68. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +38 -9
  69. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +1 -1
  70. data/lib/google/cloud/compute/v1/region_operations/rest/nonstandard_lro.rb +68 -0
  71. data/lib/google/cloud/compute/v1/region_operations.rb +1 -0
  72. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +38 -9
  73. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +47 -10
  74. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +62 -17
  75. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +58 -13
  76. data/lib/google/cloud/compute/v1/regions/rest/client.rb +3 -3
  77. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +138 -11
  78. data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +48 -0
  79. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +37 -8
  80. data/lib/google/cloud/compute/v1/routers/rest/client.rb +60 -15
  81. data/lib/google/cloud/compute/v1/routes/rest/client.rb +34 -7
  82. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +75 -20
  83. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +51 -14
  84. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +116 -7
  85. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +46 -0
  86. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +37 -10
  87. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +45 -11
  88. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +71 -18
  89. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +47 -13
  90. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +56 -15
  91. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +86 -24
  92. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +37 -8
  93. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +92 -23
  94. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +74 -19
  95. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +54 -13
  96. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +37 -8
  97. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +65 -17
  98. data/lib/google/cloud/compute/v1/version.rb +1 -1
  99. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +48 -11
  100. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +37 -8
  101. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +1 -1
  102. data/lib/google/cloud/compute/v1/zone_operations/rest/nonstandard_lro.rb +68 -0
  103. data/lib/google/cloud/compute/v1/zone_operations.rb +1 -0
  104. data/lib/google/cloud/compute/v1/zones/rest/client.rb +1 -1
  105. data/lib/google/cloud/compute/v1.rb +3 -0
  106. data/proto_docs/README.md +1 -1
  107. data/proto_docs/google/api/resource.rb +10 -71
  108. data/proto_docs/google/cloud/compute/v1/compute.rb +1647 -330
  109. metadata +14 -7
@@ -0,0 +1,363 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 MachineImages
26
+ module Rest
27
+ ##
28
+ # REST service stub for the MachineImages service.
29
+ # service stub contains baseline method implementations
30
+ # including transcoding, making the REST call and deserialing the response
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
39
+ end
40
+
41
+ ##
42
+ # Baseline implementation for the delete REST call
43
+ #
44
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteMachineImageRequest]
45
+ # A request object representing the call parameters. Required.
46
+ # @param options [::Gapic::CallOptions]
47
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
48
+ #
49
+ # @yield [result, response] Access the result along with the Faraday response object
50
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
51
+ # @yieldparam response [::Faraday::Response]
52
+ #
53
+ # @return [::Google::Cloud::Compute::V1::Operation]
54
+ # A result object deserialized from the server's reply
55
+ def delete request_pb, options = nil
56
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
57
+
58
+ uri, _body, query_string_params = transcode_delete_request request_pb
59
+ response = @client_stub.make_delete_request(
60
+ uri: uri,
61
+ params: query_string_params,
62
+ options: options
63
+ )
64
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
65
+
66
+ yield result, response if block_given?
67
+ result
68
+ end
69
+
70
+ ##
71
+ # GRPC transcoding helper method for the delete REST call
72
+ #
73
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteMachineImageRequest]
74
+ # A request object representing the call parameters. Required.
75
+ # @return [Array(String, [String, nil], Hash{String => String})]
76
+ # Uri, Body, Query string parameters
77
+ def transcode_delete_request request_pb
78
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages/#{request_pb.machine_image}"
79
+ body = nil
80
+ query_string_params = {}
81
+ query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id?
82
+
83
+ [uri, body, query_string_params]
84
+ end
85
+
86
+ ##
87
+ # Baseline implementation for the get REST call
88
+ #
89
+ # @param request_pb [::Google::Cloud::Compute::V1::GetMachineImageRequest]
90
+ # A request object representing the call parameters. Required.
91
+ # @param options [::Gapic::CallOptions]
92
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
93
+ #
94
+ # @yield [result, response] Access the result along with the Faraday response object
95
+ # @yieldparam result [::Google::Cloud::Compute::V1::MachineImage]
96
+ # @yieldparam response [::Faraday::Response]
97
+ #
98
+ # @return [::Google::Cloud::Compute::V1::MachineImage]
99
+ # A result object deserialized from the server's reply
100
+ def get request_pb, options = nil
101
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
102
+
103
+ uri, _body, _query_string_params = transcode_get_request request_pb
104
+ response = @client_stub.make_get_request(
105
+ uri: uri,
106
+ options: options
107
+ )
108
+ result = ::Google::Cloud::Compute::V1::MachineImage.decode_json response.body, ignore_unknown_fields: true
109
+
110
+ yield result, response if block_given?
111
+ result
112
+ end
113
+
114
+ ##
115
+ # GRPC transcoding helper method for the get REST call
116
+ #
117
+ # @param request_pb [::Google::Cloud::Compute::V1::GetMachineImageRequest]
118
+ # A request object representing the call parameters. Required.
119
+ # @return [Array(String, [String, nil], Hash{String => String})]
120
+ # Uri, Body, Query string parameters
121
+ def transcode_get_request request_pb
122
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages/#{request_pb.machine_image}"
123
+ body = nil
124
+ query_string_params = {}
125
+
126
+ [uri, body, query_string_params]
127
+ end
128
+
129
+ ##
130
+ # Baseline implementation for the get_iam_policy REST call
131
+ #
132
+ # @param request_pb [::Google::Cloud::Compute::V1::GetIamPolicyMachineImageRequest]
133
+ # A request object representing the call parameters. Required.
134
+ # @param options [::Gapic::CallOptions]
135
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
136
+ #
137
+ # @yield [result, response] Access the result along with the Faraday response object
138
+ # @yieldparam result [::Google::Cloud::Compute::V1::Policy]
139
+ # @yieldparam response [::Faraday::Response]
140
+ #
141
+ # @return [::Google::Cloud::Compute::V1::Policy]
142
+ # A result object deserialized from the server's reply
143
+ def get_iam_policy request_pb, options = nil
144
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
145
+
146
+ uri, _body, query_string_params = transcode_get_iam_policy_request request_pb
147
+ response = @client_stub.make_get_request(
148
+ uri: uri,
149
+ params: query_string_params,
150
+ options: options
151
+ )
152
+ result = ::Google::Cloud::Compute::V1::Policy.decode_json response.body, ignore_unknown_fields: true
153
+
154
+ yield result, response if block_given?
155
+ result
156
+ end
157
+
158
+ ##
159
+ # GRPC transcoding helper method for the get_iam_policy REST call
160
+ #
161
+ # @param request_pb [::Google::Cloud::Compute::V1::GetIamPolicyMachineImageRequest]
162
+ # A request object representing the call parameters. Required.
163
+ # @return [Array(String, [String, nil], Hash{String => String})]
164
+ # Uri, Body, Query string parameters
165
+ def transcode_get_iam_policy_request request_pb
166
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages/#{request_pb.resource}/getIamPolicy"
167
+ body = nil
168
+ query_string_params = {}
169
+ query_string_params["optionsRequestedPolicyVersion"] = request_pb.options_requested_policy_version.to_s if request_pb.has_options_requested_policy_version?
170
+
171
+ [uri, body, query_string_params]
172
+ end
173
+
174
+ ##
175
+ # Baseline implementation for the insert REST call
176
+ #
177
+ # @param request_pb [::Google::Cloud::Compute::V1::InsertMachineImageRequest]
178
+ # A request object representing the call parameters. Required.
179
+ # @param options [::Gapic::CallOptions]
180
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
181
+ #
182
+ # @yield [result, response] Access the result along with the Faraday response object
183
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
184
+ # @yieldparam response [::Faraday::Response]
185
+ #
186
+ # @return [::Google::Cloud::Compute::V1::Operation]
187
+ # A result object deserialized from the server's reply
188
+ def insert request_pb, options = nil
189
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
190
+
191
+ uri, body, query_string_params = transcode_insert_request request_pb
192
+ response = @client_stub.make_post_request(
193
+ uri: uri,
194
+ body: body,
195
+ params: query_string_params,
196
+ options: options
197
+ )
198
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
199
+
200
+ yield result, response if block_given?
201
+ result
202
+ end
203
+
204
+ ##
205
+ # GRPC transcoding helper method for the insert REST call
206
+ #
207
+ # @param request_pb [::Google::Cloud::Compute::V1::InsertMachineImageRequest]
208
+ # A request object representing the call parameters. Required.
209
+ # @return [Array(String, [String, nil], Hash{String => String})]
210
+ # Uri, Body, Query string parameters
211
+ def transcode_insert_request request_pb
212
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages"
213
+ body = request_pb.machine_image_resource.to_json
214
+ query_string_params = {}
215
+ query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id?
216
+ query_string_params["sourceInstance"] = request_pb.source_instance.to_s if request_pb.has_source_instance?
217
+
218
+ [uri, body, query_string_params]
219
+ end
220
+
221
+ ##
222
+ # Baseline implementation for the list REST call
223
+ #
224
+ # @param request_pb [::Google::Cloud::Compute::V1::ListMachineImagesRequest]
225
+ # A request object representing the call parameters. Required.
226
+ # @param options [::Gapic::CallOptions]
227
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
228
+ #
229
+ # @yield [result, response] Access the result along with the Faraday response object
230
+ # @yieldparam result [::Google::Cloud::Compute::V1::MachineImageList]
231
+ # @yieldparam response [::Faraday::Response]
232
+ #
233
+ # @return [::Google::Cloud::Compute::V1::MachineImageList]
234
+ # A result object deserialized from the server's reply
235
+ def list request_pb, options = nil
236
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
237
+
238
+ uri, _body, query_string_params = transcode_list_request request_pb
239
+ response = @client_stub.make_get_request(
240
+ uri: uri,
241
+ params: query_string_params,
242
+ options: options
243
+ )
244
+ result = ::Google::Cloud::Compute::V1::MachineImageList.decode_json response.body, ignore_unknown_fields: true
245
+
246
+ yield result, response if block_given?
247
+ result
248
+ end
249
+
250
+ ##
251
+ # GRPC transcoding helper method for the list REST call
252
+ #
253
+ # @param request_pb [::Google::Cloud::Compute::V1::ListMachineImagesRequest]
254
+ # A request object representing the call parameters. Required.
255
+ # @return [Array(String, [String, nil], Hash{String => String})]
256
+ # Uri, Body, Query string parameters
257
+ def transcode_list_request request_pb
258
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages"
259
+ body = nil
260
+ query_string_params = {}
261
+ query_string_params["filter"] = request_pb.filter.to_s if request_pb.has_filter?
262
+ query_string_params["maxResults"] = request_pb.max_results.to_s if request_pb.has_max_results?
263
+ query_string_params["orderBy"] = request_pb.order_by.to_s if request_pb.has_order_by?
264
+ query_string_params["pageToken"] = request_pb.page_token.to_s if request_pb.has_page_token?
265
+ query_string_params["returnPartialSuccess"] = request_pb.return_partial_success.to_s if request_pb.has_return_partial_success?
266
+
267
+ [uri, body, query_string_params]
268
+ end
269
+
270
+ ##
271
+ # Baseline implementation for the set_iam_policy REST call
272
+ #
273
+ # @param request_pb [::Google::Cloud::Compute::V1::SetIamPolicyMachineImageRequest]
274
+ # A request object representing the call parameters. Required.
275
+ # @param options [::Gapic::CallOptions]
276
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
277
+ #
278
+ # @yield [result, response] Access the result along with the Faraday response object
279
+ # @yieldparam result [::Google::Cloud::Compute::V1::Policy]
280
+ # @yieldparam response [::Faraday::Response]
281
+ #
282
+ # @return [::Google::Cloud::Compute::V1::Policy]
283
+ # A result object deserialized from the server's reply
284
+ def set_iam_policy request_pb, options = nil
285
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
286
+
287
+ uri, body, _query_string_params = transcode_set_iam_policy_request request_pb
288
+ response = @client_stub.make_post_request(
289
+ uri: uri,
290
+ body: body,
291
+ options: options
292
+ )
293
+ result = ::Google::Cloud::Compute::V1::Policy.decode_json response.body, ignore_unknown_fields: true
294
+
295
+ yield result, response if block_given?
296
+ result
297
+ end
298
+
299
+ ##
300
+ # GRPC transcoding helper method for the set_iam_policy REST call
301
+ #
302
+ # @param request_pb [::Google::Cloud::Compute::V1::SetIamPolicyMachineImageRequest]
303
+ # A request object representing the call parameters. Required.
304
+ # @return [Array(String, [String, nil], Hash{String => String})]
305
+ # Uri, Body, Query string parameters
306
+ def transcode_set_iam_policy_request request_pb
307
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages/#{request_pb.resource}/setIamPolicy"
308
+ body = request_pb.global_set_policy_request_resource.to_json
309
+ query_string_params = {}
310
+
311
+ [uri, body, query_string_params]
312
+ end
313
+
314
+ ##
315
+ # Baseline implementation for the test_iam_permissions REST call
316
+ #
317
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsMachineImageRequest]
318
+ # A request object representing the call parameters. Required.
319
+ # @param options [::Gapic::CallOptions]
320
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
321
+ #
322
+ # @yield [result, response] Access the result along with the Faraday response object
323
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
324
+ # @yieldparam response [::Faraday::Response]
325
+ #
326
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
327
+ # A result object deserialized from the server's reply
328
+ def test_iam_permissions request_pb, options = nil
329
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
330
+
331
+ uri, body, _query_string_params = transcode_test_iam_permissions_request request_pb
332
+ response = @client_stub.make_post_request(
333
+ uri: uri,
334
+ body: body,
335
+ options: options
336
+ )
337
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
338
+
339
+ yield result, response if block_given?
340
+ result
341
+ end
342
+
343
+ ##
344
+ # GRPC transcoding helper method for the test_iam_permissions REST call
345
+ #
346
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsMachineImageRequest]
347
+ # A request object representing the call parameters. Required.
348
+ # @return [Array(String, [String, nil], Hash{String => String})]
349
+ # Uri, Body, Query string parameters
350
+ def transcode_test_iam_permissions_request request_pb
351
+ uri = "/compute/v1/projects/#{request_pb.project}/global/machineImages/#{request_pb.resource}/testIamPermissions"
352
+ body = request_pb.test_permissions_request_resource.to_json
353
+ query_string_params = {}
354
+
355
+ [uri, body, query_string_params]
356
+ end
357
+ end
358
+ end
359
+ end
360
+ end
361
+ end
362
+ end
363
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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/machine_images/rest/client"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Compute
24
+ module V1
25
+ module MachineImages
26
+ # Client for the REST transport
27
+ module Rest
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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/machine_images/credentials"
25
+ require "google/cloud/compute/v1/machine_images/rest"
26
+
27
+ module Google
28
+ module Cloud
29
+ module Compute
30
+ module V1
31
+ # To load this service and instantiate a REST client:
32
+ #
33
+ # require "google/cloud/compute/v1/machine_images"
34
+ # client = ::Google::Cloud::Compute::V1::MachineImages::Rest::Client.new
35
+ #
36
+ module MachineImages
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ helper_path = ::File.join __dir__, "machine_images", "helpers.rb"
44
+ require "google/cloud/compute/v1/machine_images/helpers" if ::File.file? helper_path
@@ -161,7 +161,7 @@ module Google
161
161
  # the default parameter values, pass an empty Hash as a request object (see above).
162
162
  #
163
163
  # @param filter [::String]
164
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
164
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
165
165
  # @param include_all_scopes [::Boolean]
166
166
  # Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
167
167
  # @param max_results [::Integer]
@@ -300,7 +300,7 @@ module Google
300
300
  # the default parameter values, pass an empty Hash as a request object (see above).
301
301
  #
302
302
  # @param filter [::String]
303
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
303
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
304
304
  # @param max_results [::Integer]
305
305
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
306
306
  # @param order_by [::String]
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/compute/v1/compute_pb"
21
21
  require "google/cloud/compute/v1/network_endpoint_groups/rest/service_stub"
22
+ require "google/cloud/compute/v1/zone_operations/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -147,9 +148,21 @@ module Google
147
148
  credentials = Credentials.new credentials, scope: @config.scope
148
149
  end
149
150
 
151
+ @zone_operations = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::Client.new do |config|
152
+ config.credentials = credentials
153
+ config.endpoint = @config.endpoint
154
+ end
155
+
150
156
  @network_endpoint_groups_stub = ::Google::Cloud::Compute::V1::NetworkEndpointGroups::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
151
157
  end
152
158
 
159
+ ##
160
+ # Get the associated client for long-running operations via ZoneOperations.
161
+ #
162
+ # @return [::Google::Cloud::Compute::V1::ZoneOperations::Rest::Client]
163
+ #
164
+ attr_reader :zone_operations
165
+
153
166
  # Service calls
154
167
 
155
168
  ##
@@ -173,7 +186,7 @@ module Google
173
186
  # the default parameter values, pass an empty Hash as a request object (see above).
174
187
  #
175
188
  # @param filter [::String]
176
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
189
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
177
190
  # @param include_all_scopes [::Boolean]
178
191
  # Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
179
192
  # @param max_results [::Integer]
@@ -257,10 +270,10 @@ module Google
257
270
  # @param zone [::String]
258
271
  # The name of the zone where the network endpoint group is located. It should comply with RFC1035.
259
272
  # @yield [result, response] Access the result along with the Faraday response object
260
- # @yieldparam result [::Gapic::Rest::BaseOperation]
273
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
261
274
  # @yieldparam response [::Faraday::Response]
262
275
  #
263
- # @return [::Gapic::Rest::BaseOperation]
276
+ # @return [::Gapic::GenericLRO::Operation]
264
277
  #
265
278
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
266
279
  def attach_network_endpoints request, options = nil
@@ -287,7 +300,15 @@ module Google
287
300
  metadata: @config.metadata
288
301
 
289
302
  @network_endpoint_groups_stub.attach_network_endpoints request, options do |result, response|
290
- result = ::Gapic::Rest::BaseOperation.new result
303
+ result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
304
+ operation: result,
305
+ client: zone_operations,
306
+ request_values: {
307
+ "project" => request.project,
308
+ "zone" => request.zone
309
+ },
310
+ options: options
311
+ )
291
312
  yield result, response if block_given?
292
313
  return result
293
314
  end
@@ -325,10 +346,10 @@ module Google
325
346
  # @param zone [::String]
326
347
  # The name of the zone where the network endpoint group is located. It should comply with RFC1035.
327
348
  # @yield [result, response] Access the result along with the Faraday response object
328
- # @yieldparam result [::Gapic::Rest::BaseOperation]
349
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
329
350
  # @yieldparam response [::Faraday::Response]
330
351
  #
331
- # @return [::Gapic::Rest::BaseOperation]
352
+ # @return [::Gapic::GenericLRO::Operation]
332
353
  #
333
354
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
334
355
  def delete request, options = nil
@@ -355,7 +376,15 @@ module Google
355
376
  metadata: @config.metadata
356
377
 
357
378
  @network_endpoint_groups_stub.delete request, options do |result, response|
358
- result = ::Gapic::Rest::BaseOperation.new result
379
+ result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
380
+ operation: result,
381
+ client: zone_operations,
382
+ request_values: {
383
+ "project" => request.project,
384
+ "zone" => request.zone
385
+ },
386
+ options: options
387
+ )
359
388
  yield result, response if block_given?
360
389
  return result
361
390
  end
@@ -395,10 +424,10 @@ module Google
395
424
  # @param zone [::String]
396
425
  # The name of the zone where the network endpoint group is located. It should comply with RFC1035.
397
426
  # @yield [result, response] Access the result along with the Faraday response object
398
- # @yieldparam result [::Gapic::Rest::BaseOperation]
427
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
399
428
  # @yieldparam response [::Faraday::Response]
400
429
  #
401
- # @return [::Gapic::Rest::BaseOperation]
430
+ # @return [::Gapic::GenericLRO::Operation]
402
431
  #
403
432
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
404
433
  def detach_network_endpoints request, options = nil
@@ -425,7 +454,15 @@ module Google
425
454
  metadata: @config.metadata
426
455
 
427
456
  @network_endpoint_groups_stub.detach_network_endpoints request, options do |result, response|
428
- result = ::Gapic::Rest::BaseOperation.new result
457
+ result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
458
+ operation: result,
459
+ client: zone_operations,
460
+ request_values: {
461
+ "project" => request.project,
462
+ "zone" => request.zone
463
+ },
464
+ options: options
465
+ )
429
466
  yield result, response if block_given?
430
467
  return result
431
468
  end
@@ -528,10 +565,10 @@ module Google
528
565
  # @param zone [::String]
529
566
  # The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.
530
567
  # @yield [result, response] Access the result along with the Faraday response object
531
- # @yieldparam result [::Gapic::Rest::BaseOperation]
568
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
532
569
  # @yieldparam response [::Faraday::Response]
533
570
  #
534
- # @return [::Gapic::Rest::BaseOperation]
571
+ # @return [::Gapic::GenericLRO::Operation]
535
572
  #
536
573
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
537
574
  def insert request, options = nil
@@ -558,7 +595,15 @@ module Google
558
595
  metadata: @config.metadata
559
596
 
560
597
  @network_endpoint_groups_stub.insert request, options do |result, response|
561
- result = ::Gapic::Rest::BaseOperation.new result
598
+ result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
599
+ operation: result,
600
+ client: zone_operations,
601
+ request_values: {
602
+ "project" => request.project,
603
+ "zone" => request.zone
604
+ },
605
+ options: options
606
+ )
562
607
  yield result, response if block_given?
563
608
  return result
564
609
  end
@@ -588,7 +633,7 @@ module Google
588
633
  # the default parameter values, pass an empty Hash as a request object (see above).
589
634
  #
590
635
  # @param filter [::String]
591
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
636
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
592
637
  # @param max_results [::Integer]
593
638
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
594
639
  # @param order_by [::String]
@@ -662,7 +707,7 @@ module Google
662
707
  # the default parameter values, pass an empty Hash as a request object (see above).
663
708
  #
664
709
  # @param filter [::String]
665
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
710
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
666
711
  # @param max_results [::Integer]
667
712
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
668
713
  # @param network_endpoint_group [::String]