google-cloud-compute-v1 2.20.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/google/cloud/compute/v1/compute_pb.rb +27 -1
- data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +100 -0
- data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +63 -0
- data/lib/google/cloud/compute/v1/reservation_blocks/credentials.rb +52 -0
- data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +661 -0
- data/lib/google/cloud/compute/v1/reservation_blocks/rest/service_stub.rb +273 -0
- data/lib/google/cloud/compute/v1/reservation_blocks/rest.rb +51 -0
- data/lib/google/cloud/compute/v1/reservation_blocks.rb +47 -0
- data/lib/google/cloud/compute/v1/reservations/rest/client.rb +105 -0
- data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +64 -0
- data/lib/google/cloud/compute/v1/rest.rb +1 -0
- data/lib/google/cloud/compute/v1/version.rb +1 -1
- data/lib/google/cloud/compute/v1.rb +1 -0
- data/proto_docs/google/cloud/compute/v1/compute.rb +514 -20
- metadata +7 -2
@@ -0,0 +1,273 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 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 ReservationBlocks
|
26
|
+
module Rest
|
27
|
+
##
|
28
|
+
# REST service stub for the ReservationBlocks 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 get REST call
|
78
|
+
#
|
79
|
+
# @param request_pb [::Google::Cloud::Compute::V1::GetReservationBlockRequest]
|
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::ReservationBlocksGetResponse]
|
86
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
87
|
+
#
|
88
|
+
# @return [::Google::Cloud::Compute::V1::ReservationBlocksGetResponse]
|
89
|
+
# A result object deserialized from the server's reply
|
90
|
+
def get 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_get_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: "get",
|
106
|
+
options: options
|
107
|
+
)
|
108
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
109
|
+
result = ::Google::Cloud::Compute::V1::ReservationBlocksGetResponse.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 list REST call
|
118
|
+
#
|
119
|
+
# @param request_pb [::Google::Cloud::Compute::V1::ListReservationBlocksRequest]
|
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::ReservationBlocksListResponse]
|
126
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
127
|
+
#
|
128
|
+
# @return [::Google::Cloud::Compute::V1::ReservationBlocksListResponse]
|
129
|
+
# A result object deserialized from the server's reply
|
130
|
+
def list 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_list_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: "list",
|
146
|
+
options: options
|
147
|
+
)
|
148
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
149
|
+
result = ::Google::Cloud::Compute::V1::ReservationBlocksListResponse.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 perform_maintenance REST call
|
158
|
+
#
|
159
|
+
# @param request_pb [::Google::Cloud::Compute::V1::PerformMaintenanceReservationBlockRequest]
|
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::Operation]
|
166
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
167
|
+
#
|
168
|
+
# @return [::Google::Cloud::Compute::V1::Operation]
|
169
|
+
# A result object deserialized from the server's reply
|
170
|
+
def perform_maintenance 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_perform_maintenance_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: "perform_maintenance",
|
186
|
+
options: options
|
187
|
+
)
|
188
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
189
|
+
result = ::Google::Cloud::Compute::V1::Operation.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
|
+
# @private
|
198
|
+
#
|
199
|
+
# GRPC transcoding helper method for the get REST call
|
200
|
+
#
|
201
|
+
# @param request_pb [::Google::Cloud::Compute::V1::GetReservationBlockRequest]
|
202
|
+
# A request object representing the call parameters. Required.
|
203
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
204
|
+
# Uri, Body, Query string parameters
|
205
|
+
def self.transcode_get_request request_pb
|
206
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
207
|
+
.with_bindings(
|
208
|
+
uri_method: :get,
|
209
|
+
uri_template: "/compute/v1/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation}",
|
210
|
+
matches: [
|
211
|
+
["project", %r{^[^/]+/?$}, false],
|
212
|
+
["zone", %r{^[^/]+/?$}, false],
|
213
|
+
["reservation", %r{^[^/]+/?$}, false],
|
214
|
+
["reservation_block", %r{^[^/]+/?$}, false]
|
215
|
+
]
|
216
|
+
)
|
217
|
+
transcoder.transcode request_pb
|
218
|
+
end
|
219
|
+
|
220
|
+
##
|
221
|
+
# @private
|
222
|
+
#
|
223
|
+
# GRPC transcoding helper method for the list REST call
|
224
|
+
#
|
225
|
+
# @param request_pb [::Google::Cloud::Compute::V1::ListReservationBlocksRequest]
|
226
|
+
# A request object representing the call parameters. Required.
|
227
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
228
|
+
# Uri, Body, Query string parameters
|
229
|
+
def self.transcode_list_request request_pb
|
230
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
231
|
+
.with_bindings(
|
232
|
+
uri_method: :get,
|
233
|
+
uri_template: "/compute/v1/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks",
|
234
|
+
matches: [
|
235
|
+
["project", %r{^[^/]+/?$}, false],
|
236
|
+
["zone", %r{^[^/]+/?$}, false],
|
237
|
+
["reservation", %r{^[^/]+/?$}, false]
|
238
|
+
]
|
239
|
+
)
|
240
|
+
transcoder.transcode request_pb
|
241
|
+
end
|
242
|
+
|
243
|
+
##
|
244
|
+
# @private
|
245
|
+
#
|
246
|
+
# GRPC transcoding helper method for the perform_maintenance REST call
|
247
|
+
#
|
248
|
+
# @param request_pb [::Google::Cloud::Compute::V1::PerformMaintenanceReservationBlockRequest]
|
249
|
+
# A request object representing the call parameters. Required.
|
250
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
251
|
+
# Uri, Body, Query string parameters
|
252
|
+
def self.transcode_perform_maintenance_request request_pb
|
253
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
254
|
+
.with_bindings(
|
255
|
+
uri_method: :post,
|
256
|
+
uri_template: "/compute/v1/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation}/performMaintenance",
|
257
|
+
body: "reservations_blocks_perform_maintenance_request_resource",
|
258
|
+
matches: [
|
259
|
+
["project", %r{^[^/]+/?$}, false],
|
260
|
+
["zone", %r{^[^/]+/?$}, false],
|
261
|
+
["reservation", %r{^[^/]+/?$}, false],
|
262
|
+
["reservation_block", %r{^[^/]+/?$}, false]
|
263
|
+
]
|
264
|
+
)
|
265
|
+
transcoder.transcode request_pb
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 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/reservation_blocks/credentials"
|
26
|
+
require "google/cloud/compute/v1/reservation_blocks/rest/client"
|
27
|
+
|
28
|
+
module Google
|
29
|
+
module Cloud
|
30
|
+
module Compute
|
31
|
+
module V1
|
32
|
+
##
|
33
|
+
# The ReservationBlocks API.
|
34
|
+
#
|
35
|
+
# To load this service and instantiate a REST client:
|
36
|
+
#
|
37
|
+
# require "google/cloud/compute/v1/reservation_blocks/rest"
|
38
|
+
# client = ::Google::Cloud::Compute::V1::ReservationBlocks::Rest::Client.new
|
39
|
+
#
|
40
|
+
module ReservationBlocks
|
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/reservation_blocks/rest/helpers" if ::File.file? helper_path
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 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/reservation_blocks/credentials"
|
25
|
+
require "google/cloud/compute/v1/reservation_blocks/rest"
|
26
|
+
|
27
|
+
module Google
|
28
|
+
module Cloud
|
29
|
+
module Compute
|
30
|
+
module V1
|
31
|
+
##
|
32
|
+
# The ReservationBlocks API.
|
33
|
+
#
|
34
|
+
# @example Load this service and instantiate a REST client
|
35
|
+
#
|
36
|
+
# require "google/cloud/compute/v1/reservation_blocks/rest"
|
37
|
+
# client = ::Google::Cloud::Compute::V1::ReservationBlocks::Rest::Client.new
|
38
|
+
#
|
39
|
+
module ReservationBlocks
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
helper_path = ::File.join __dir__, "reservation_blocks", "helpers.rb"
|
47
|
+
require "google/cloud/compute/v1/reservation_blocks/helpers" if ::File.file? helper_path
|
@@ -95,6 +95,8 @@ module Google
|
|
95
95
|
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
96
96
|
}
|
97
97
|
|
98
|
+
default_config.rpcs.perform_maintenance.timeout = 600.0
|
99
|
+
|
98
100
|
default_config.rpcs.resize.timeout = 600.0
|
99
101
|
|
100
102
|
default_config.rpcs.set_iam_policy.timeout = 600.0
|
@@ -761,6 +763,102 @@ module Google
|
|
761
763
|
raise ::Google::Cloud::Error.from_error(e)
|
762
764
|
end
|
763
765
|
|
766
|
+
##
|
767
|
+
# Perform maintenance on an extended reservation
|
768
|
+
#
|
769
|
+
# @overload perform_maintenance(request, options = nil)
|
770
|
+
# Pass arguments to `perform_maintenance` via a request object, either of type
|
771
|
+
# {::Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest} or an equivalent Hash.
|
772
|
+
#
|
773
|
+
# @param request [::Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest, ::Hash]
|
774
|
+
# A request object representing the call parameters. Required. To specify no
|
775
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
776
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
777
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
778
|
+
#
|
779
|
+
# @overload perform_maintenance(project: nil, request_id: nil, reservation: nil, reservations_perform_maintenance_request_resource: nil, zone: nil)
|
780
|
+
# Pass arguments to `perform_maintenance` via keyword arguments. Note that at
|
781
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
782
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
783
|
+
#
|
784
|
+
# @param project [::String]
|
785
|
+
# Project ID for this request.
|
786
|
+
# @param request_id [::String]
|
787
|
+
# An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
|
788
|
+
# @param reservation [::String]
|
789
|
+
# The name of the reservation. Name should conform to RFC1035 or be a resource ID.
|
790
|
+
# @param reservations_perform_maintenance_request_resource [::Google::Cloud::Compute::V1::ReservationsPerformMaintenanceRequest, ::Hash]
|
791
|
+
# The body resource for this request
|
792
|
+
# @param zone [::String]
|
793
|
+
# Name of the zone for this request. Zone name should conform to RFC1035.
|
794
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
795
|
+
# @yieldparam result [::Gapic::GenericLRO::Operation]
|
796
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
797
|
+
#
|
798
|
+
# @return [::Gapic::GenericLRO::Operation]
|
799
|
+
#
|
800
|
+
# @raise [::Google::Cloud::Error] if the REST call is aborted.
|
801
|
+
#
|
802
|
+
# @example Basic example
|
803
|
+
# require "google/cloud/compute/v1"
|
804
|
+
#
|
805
|
+
# # Create a client object. The client can be reused for multiple calls.
|
806
|
+
# client = Google::Cloud::Compute::V1::Reservations::Rest::Client.new
|
807
|
+
#
|
808
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
809
|
+
# request = Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest.new
|
810
|
+
#
|
811
|
+
# # Call the perform_maintenance method.
|
812
|
+
# result = client.perform_maintenance request
|
813
|
+
#
|
814
|
+
# # The returned object is of type Google::Cloud::Compute::V1::Operation.
|
815
|
+
# p result
|
816
|
+
#
|
817
|
+
def perform_maintenance request, options = nil
|
818
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
819
|
+
|
820
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest
|
821
|
+
|
822
|
+
# Converts hash and nil to an options object
|
823
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
824
|
+
|
825
|
+
# Customize the options with defaults
|
826
|
+
call_metadata = @config.rpcs.perform_maintenance.metadata.to_h
|
827
|
+
|
828
|
+
# Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
|
829
|
+
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
830
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
831
|
+
gapic_version: ::Google::Cloud::Compute::V1::VERSION,
|
832
|
+
transports_version_send: [:rest]
|
833
|
+
|
834
|
+
call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
|
835
|
+
call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
836
|
+
|
837
|
+
options.apply_defaults timeout: @config.rpcs.perform_maintenance.timeout,
|
838
|
+
metadata: call_metadata,
|
839
|
+
retry_policy: @config.rpcs.perform_maintenance.retry_policy
|
840
|
+
|
841
|
+
options.apply_defaults timeout: @config.timeout,
|
842
|
+
metadata: @config.metadata,
|
843
|
+
retry_policy: @config.retry_policy
|
844
|
+
|
845
|
+
@reservations_stub.perform_maintenance request, options do |result, response|
|
846
|
+
result = ::Google::Cloud::Compute::V1::ZoneOperations::Rest::NonstandardLro.create_operation(
|
847
|
+
operation: result,
|
848
|
+
client: zone_operations,
|
849
|
+
request_values: {
|
850
|
+
"project" => request.project,
|
851
|
+
"zone" => request.zone
|
852
|
+
},
|
853
|
+
options: options
|
854
|
+
)
|
855
|
+
yield result, response if block_given?
|
856
|
+
throw :response, result
|
857
|
+
end
|
858
|
+
rescue ::Gapic::Rest::Error => e
|
859
|
+
raise ::Google::Cloud::Error.from_error(e)
|
860
|
+
end
|
861
|
+
|
764
862
|
##
|
765
863
|
# Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.
|
766
864
|
#
|
@@ -1301,6 +1399,11 @@ module Google
|
|
1301
1399
|
#
|
1302
1400
|
attr_reader :list
|
1303
1401
|
##
|
1402
|
+
# RPC-specific configuration for `perform_maintenance`
|
1403
|
+
# @return [::Gapic::Config::Method]
|
1404
|
+
#
|
1405
|
+
attr_reader :perform_maintenance
|
1406
|
+
##
|
1304
1407
|
# RPC-specific configuration for `resize`
|
1305
1408
|
# @return [::Gapic::Config::Method]
|
1306
1409
|
#
|
@@ -1335,6 +1438,8 @@ module Google
|
|
1335
1438
|
@insert = ::Gapic::Config::Method.new insert_config
|
1336
1439
|
list_config = parent_rpcs.list if parent_rpcs.respond_to? :list
|
1337
1440
|
@list = ::Gapic::Config::Method.new list_config
|
1441
|
+
perform_maintenance_config = parent_rpcs.perform_maintenance if parent_rpcs.respond_to? :perform_maintenance
|
1442
|
+
@perform_maintenance = ::Gapic::Config::Method.new perform_maintenance_config
|
1338
1443
|
resize_config = parent_rpcs.resize if parent_rpcs.respond_to? :resize
|
1339
1444
|
@resize = ::Gapic::Config::Method.new resize_config
|
1340
1445
|
set_iam_policy_config = parent_rpcs.set_iam_policy if parent_rpcs.respond_to? :set_iam_policy
|
@@ -313,6 +313,46 @@ module Google
|
|
313
313
|
end
|
314
314
|
end
|
315
315
|
|
316
|
+
##
|
317
|
+
# Baseline implementation for the perform_maintenance REST call
|
318
|
+
#
|
319
|
+
# @param request_pb [::Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest]
|
320
|
+
# A request object representing the call parameters. Required.
|
321
|
+
# @param options [::Gapic::CallOptions]
|
322
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
323
|
+
#
|
324
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
325
|
+
# @yieldparam result [::Google::Cloud::Compute::V1::Operation]
|
326
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
327
|
+
#
|
328
|
+
# @return [::Google::Cloud::Compute::V1::Operation]
|
329
|
+
# A result object deserialized from the server's reply
|
330
|
+
def perform_maintenance request_pb, options = nil
|
331
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
332
|
+
|
333
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_perform_maintenance_request request_pb
|
334
|
+
query_string_params = if query_string_params.any?
|
335
|
+
query_string_params.to_h { |p| p.split "=", 2 }
|
336
|
+
else
|
337
|
+
{}
|
338
|
+
end
|
339
|
+
|
340
|
+
response = @client_stub.make_http_request(
|
341
|
+
verb,
|
342
|
+
uri: uri,
|
343
|
+
body: body || "",
|
344
|
+
params: query_string_params,
|
345
|
+
method_name: "perform_maintenance",
|
346
|
+
options: options
|
347
|
+
)
|
348
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
349
|
+
result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
|
350
|
+
catch :response do
|
351
|
+
yield result, operation if block_given?
|
352
|
+
result
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
316
356
|
##
|
317
357
|
# Baseline implementation for the resize REST call
|
318
358
|
#
|
@@ -608,6 +648,30 @@ module Google
|
|
608
648
|
transcoder.transcode request_pb
|
609
649
|
end
|
610
650
|
|
651
|
+
##
|
652
|
+
# @private
|
653
|
+
#
|
654
|
+
# GRPC transcoding helper method for the perform_maintenance REST call
|
655
|
+
#
|
656
|
+
# @param request_pb [::Google::Cloud::Compute::V1::PerformMaintenanceReservationRequest]
|
657
|
+
# A request object representing the call parameters. Required.
|
658
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
659
|
+
# Uri, Body, Query string parameters
|
660
|
+
def self.transcode_perform_maintenance_request request_pb
|
661
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
662
|
+
.with_bindings(
|
663
|
+
uri_method: :post,
|
664
|
+
uri_template: "/compute/v1/projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance",
|
665
|
+
body: "reservations_perform_maintenance_request_resource",
|
666
|
+
matches: [
|
667
|
+
["project", %r{^[^/]+/?$}, false],
|
668
|
+
["zone", %r{^[^/]+/?$}, false],
|
669
|
+
["reservation", %r{^[^/]+/?$}, false]
|
670
|
+
]
|
671
|
+
)
|
672
|
+
transcoder.transcode request_pb
|
673
|
+
end
|
674
|
+
|
611
675
|
##
|
612
676
|
# @private
|
613
677
|
#
|
@@ -89,6 +89,7 @@ require "google/cloud/compute/v1/region_target_tcp_proxies/rest"
|
|
89
89
|
require "google/cloud/compute/v1/region_url_maps/rest"
|
90
90
|
require "google/cloud/compute/v1/region_zones/rest"
|
91
91
|
require "google/cloud/compute/v1/regions/rest"
|
92
|
+
require "google/cloud/compute/v1/reservation_blocks/rest"
|
92
93
|
require "google/cloud/compute/v1/reservations/rest"
|
93
94
|
require "google/cloud/compute/v1/resource_policies/rest"
|
94
95
|
require "google/cloud/compute/v1/routers/rest"
|
@@ -89,6 +89,7 @@ require "google/cloud/compute/v1/region_target_tcp_proxies"
|
|
89
89
|
require "google/cloud/compute/v1/region_url_maps"
|
90
90
|
require "google/cloud/compute/v1/region_zones"
|
91
91
|
require "google/cloud/compute/v1/regions"
|
92
|
+
require "google/cloud/compute/v1/reservation_blocks"
|
92
93
|
require "google/cloud/compute/v1/reservations"
|
93
94
|
require "google/cloud/compute/v1/resource_policies"
|
94
95
|
require "google/cloud/compute/v1/routers"
|