google-cloud-compute-v1 3.4.0 → 3.5.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +181 -14
  3. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +237 -20
  4. data/lib/google/cloud/compute/v1/advice/credentials.rb +52 -0
  5. data/lib/google/cloud/compute/v1/advice/rest/client.rb +431 -0
  6. data/lib/google/cloud/compute/v1/advice/rest/service_stub.rb +144 -0
  7. data/lib/google/cloud/compute/v1/advice/rest.rb +51 -0
  8. data/lib/google/cloud/compute/v1/advice.rb +47 -0
  9. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +334 -21
  10. data/lib/google/cloud/compute/v1/autoscalers/rest/service_stub.rb +64 -0
  11. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +198 -23
  12. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +499 -40
  13. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +62 -0
  14. data/lib/google/cloud/compute/v1/compute_pb.rb +264 -25
  15. data/lib/google/cloud/compute/v1/cross_site_networks/credentials.rb +52 -0
  16. data/lib/google/cloud/compute/v1/cross_site_networks/rest/client.rb +975 -0
  17. data/lib/google/cloud/compute/v1/cross_site_networks/rest/service_stub.rb +391 -0
  18. data/lib/google/cloud/compute/v1/cross_site_networks/rest.rb +51 -0
  19. data/lib/google/cloud/compute/v1/cross_site_networks.rb +47 -0
  20. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +181 -14
  21. data/lib/google/cloud/compute/v1/disks/rest/client.rb +390 -42
  22. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +118 -11
  23. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +240 -25
  24. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +238 -13
  25. data/lib/google/cloud/compute/v1/firewalls/rest/service_stub.rb +63 -0
  26. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +258 -23
  27. data/lib/google/cloud/compute/v1/future_reservations/credentials.rb +52 -0
  28. data/lib/google/cloud/compute/v1/future_reservations/rest/client.rb +1287 -0
  29. data/lib/google/cloud/compute/v1/future_reservations/rest/service_stub.rb +520 -0
  30. data/lib/google/cloud/compute/v1/future_reservations/rest.rb +51 -0
  31. data/lib/google/cloud/compute/v1/future_reservations.rb +47 -0
  32. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +126 -10
  33. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +151 -15
  34. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +246 -21
  35. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +203 -18
  36. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +91 -9
  37. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +128 -10
  38. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +333 -21
  39. data/lib/google/cloud/compute/v1/health_checks/rest/service_stub.rb +63 -0
  40. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +2 -1
  41. data/lib/google/cloud/compute/v1/images/rest/client.rb +161 -18
  42. data/lib/google/cloud/compute/v1/instance_group_manager_resize_requests/rest/client.rb +159 -24
  43. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +920 -95
  44. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +380 -40
  45. data/lib/google/cloud/compute/v1/instance_settings_service/rest/client.rb +13 -1
  46. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +220 -20
  47. data/lib/google/cloud/compute/v1/instances/rest/client.rb +939 -104
  48. data/lib/google/cloud/compute/v1/instant_snapshots/rest/client.rb +235 -21
  49. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/client.rb +139 -14
  50. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +242 -21
  51. data/lib/google/cloud/compute/v1/interconnect_groups/rest/client.rb +139 -14
  52. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +87 -7
  53. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +87 -7
  54. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +145 -14
  55. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +9 -2
  56. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +161 -16
  57. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +124 -13
  58. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +181 -14
  59. data/lib/google/cloud/compute/v1/network_attachments/rest/client.rb +232 -20
  60. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +138 -12
  61. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +361 -37
  62. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +354 -33
  63. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +85 -6
  64. data/lib/google/cloud/compute/v1/networks/rest/client.rb +281 -23
  65. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +381 -32
  66. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +213 -19
  67. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +181 -14
  68. data/lib/google/cloud/compute/v1/organization_security_policies/credentials.rb +52 -0
  69. data/lib/google/cloud/compute/v1/organization_security_policies/rest/client.rb +2259 -0
  70. data/lib/google/cloud/compute/v1/organization_security_policies/rest/service_stub.rb +1054 -0
  71. data/lib/google/cloud/compute/v1/organization_security_policies/rest.rb +51 -0
  72. data/lib/google/cloud/compute/v1/organization_security_policies.rb +47 -0
  73. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +226 -19
  74. data/lib/google/cloud/compute/v1/preview_features/credentials.rb +52 -0
  75. data/lib/google/cloud/compute/v1/preview_features/rest/client.rb +739 -0
  76. data/lib/google/cloud/compute/v1/preview_features/rest/service_stub.rb +267 -0
  77. data/lib/google/cloud/compute/v1/preview_features/rest.rb +51 -0
  78. data/lib/google/cloud/compute/v1/preview_features.rb +47 -0
  79. data/lib/google/cloud/compute/v1/projects/rest/client.rb +346 -30
  80. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +154 -12
  81. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +255 -22
  82. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +238 -13
  83. data/lib/google/cloud/compute/v1/region_autoscalers/rest/service_stub.rb +64 -0
  84. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +260 -26
  85. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +212 -18
  86. data/lib/google/cloud/compute/v1/region_composite_health_checks/credentials.rb +52 -0
  87. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/client.rb +1268 -0
  88. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/service_stub.rb +521 -0
  89. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest.rb +51 -0
  90. data/lib/google/cloud/compute/v1/region_composite_health_checks.rb +47 -0
  91. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +83 -5
  92. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +269 -29
  93. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/credentials.rb +52 -0
  94. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/client.rb +1268 -0
  95. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/service_stub.rb +521 -0
  96. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest.rb +51 -0
  97. data/lib/google/cloud/compute/v1/region_health_aggregation_policies.rb +47 -0
  98. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +427 -17
  99. data/lib/google/cloud/compute/v1/region_health_check_services/rest/service_stub.rb +125 -0
  100. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +238 -13
  101. data/lib/google/cloud/compute/v1/region_health_checks/rest/service_stub.rb +64 -0
  102. data/lib/google/cloud/compute/v1/region_health_sources/credentials.rb +52 -0
  103. data/lib/google/cloud/compute/v1/region_health_sources/rest/client.rb +1268 -0
  104. data/lib/google/cloud/compute/v1/region_health_sources/rest/service_stub.rb +521 -0
  105. data/lib/google/cloud/compute/v1/region_health_sources/rest.rb +51 -0
  106. data/lib/google/cloud/compute/v1/region_health_sources.rb +47 -0
  107. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +750 -64
  108. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +187 -14
  109. data/lib/google/cloud/compute/v1/region_instance_templates/rest/client.rb +115 -10
  110. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +15 -2
  111. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/client.rb +139 -13
  112. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +264 -28
  113. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +213 -20
  114. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +399 -11
  115. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/service_stub.rb +125 -0
  116. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +107 -10
  117. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +149 -14
  118. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +116 -10
  119. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/client.rb +220 -20
  120. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +126 -10
  121. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +158 -14
  122. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/client.rb +113 -9
  123. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +104 -14
  124. data/lib/google/cloud/compute/v1/region_zones/rest/client.rb +85 -6
  125. data/lib/google/cloud/compute/v1/regions/rest/client.rb +120 -7
  126. data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +396 -11
  127. data/lib/google/cloud/compute/v1/reservation_blocks/rest/service_stub.rb +194 -0
  128. data/lib/google/cloud/compute/v1/reservation_slots/credentials.rb +52 -0
  129. data/lib/google/cloud/compute/v1/reservation_slots/rest/client.rb +863 -0
  130. data/lib/google/cloud/compute/v1/reservation_slots/rest/service_stub.rb +338 -0
  131. data/lib/google/cloud/compute/v1/reservation_slots/rest.rb +51 -0
  132. data/lib/google/cloud/compute/v1/reservation_slots.rb +47 -0
  133. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/client.rb +642 -12
  134. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/service_stub.rb +327 -3
  135. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +257 -24
  136. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +224 -19
  137. data/lib/google/cloud/compute/v1/rest.rb +10 -0
  138. data/lib/google/cloud/compute/v1/routers/rest/client.rb +555 -50
  139. data/lib/google/cloud/compute/v1/routes/rest/client.rb +202 -8
  140. data/lib/google/cloud/compute/v1/routes/rest/service_stub.rb +63 -0
  141. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +316 -26
  142. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +231 -21
  143. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/client.rb +13 -1
  144. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +130 -13
  145. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +210 -17
  146. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +315 -27
  147. data/lib/google/cloud/compute/v1/storage_pool_types/rest/client.rb +181 -14
  148. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +321 -28
  149. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +378 -34
  150. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +128 -10
  151. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +240 -20
  152. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +306 -30
  153. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +227 -20
  154. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +294 -26
  155. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +281 -19
  156. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/service_stub.rb +63 -0
  157. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +329 -20
  158. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/service_stub.rb +63 -0
  159. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +224 -19
  160. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +354 -24
  161. data/lib/google/cloud/compute/v1/url_maps/rest/service_stub.rb +63 -0
  162. data/lib/google/cloud/compute/v1/version.rb +1 -1
  163. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +224 -19
  164. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +224 -19
  165. data/lib/google/cloud/compute/v1/wire_groups/credentials.rb +52 -0
  166. data/lib/google/cloud/compute/v1/wire_groups/rest/client.rb +980 -0
  167. data/lib/google/cloud/compute/v1/wire_groups/rest/service_stub.rb +396 -0
  168. data/lib/google/cloud/compute/v1/wire_groups/rest.rb +51 -0
  169. data/lib/google/cloud/compute/v1/wire_groups.rb +47 -0
  170. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +106 -10
  171. data/lib/google/cloud/compute/v1/zones/rest/client.rb +83 -5
  172. data/lib/google/cloud/compute/v1.rb +10 -0
  173. data/proto_docs/google/api/client.rb +149 -29
  174. data/proto_docs/google/cloud/compute/v1/compute.rb +43929 -5522
  175. metadata +52 -2
@@ -0,0 +1,520 @@
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 FutureReservations
26
+ module Rest
27
+ ##
28
+ # REST service stub for the FutureReservations 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 aggregated_list REST call
78
+ #
79
+ # @param request_pb [::Google::Cloud::Compute::V1::AggregatedListFutureReservationsRequest]
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::FutureReservationsAggregatedListResponse]
86
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
87
+ #
88
+ # @return [::Google::Cloud::Compute::V1::FutureReservationsAggregatedListResponse]
89
+ # A result object deserialized from the server's reply
90
+ def aggregated_list 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_aggregated_list_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: "aggregated_list",
106
+ options: options
107
+ )
108
+ operation = ::Gapic::Rest::TransportOperation.new response
109
+ result = ::Google::Cloud::Compute::V1::FutureReservationsAggregatedListResponse.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 cancel REST call
118
+ #
119
+ # @param request_pb [::Google::Cloud::Compute::V1::CancelFutureReservationRequest]
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 cancel 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_cancel_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: "cancel",
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 delete REST call
158
+ #
159
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteFutureReservationRequest]
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 delete 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_delete_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: "delete",
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
+ # Baseline implementation for the get REST call
198
+ #
199
+ # @param request_pb [::Google::Cloud::Compute::V1::GetFutureReservationRequest]
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::FutureReservation]
206
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
207
+ #
208
+ # @return [::Google::Cloud::Compute::V1::FutureReservation]
209
+ # A result object deserialized from the server's reply
210
+ def get 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_get_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: "get",
226
+ options: options
227
+ )
228
+ operation = ::Gapic::Rest::TransportOperation.new response
229
+ result = ::Google::Cloud::Compute::V1::FutureReservation.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
+ # Baseline implementation for the insert REST call
238
+ #
239
+ # @param request_pb [::Google::Cloud::Compute::V1::InsertFutureReservationRequest]
240
+ # A request object representing the call parameters. Required.
241
+ # @param options [::Gapic::CallOptions]
242
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
243
+ #
244
+ # @yield [result, operation] Access the result along with the TransportOperation object
245
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
246
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
247
+ #
248
+ # @return [::Google::Cloud::Compute::V1::Operation]
249
+ # A result object deserialized from the server's reply
250
+ def insert request_pb, options = nil
251
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
252
+
253
+ verb, uri, query_string_params, body = ServiceStub.transcode_insert_request request_pb
254
+ query_string_params = if query_string_params.any?
255
+ query_string_params.to_h { |p| p.split "=", 2 }
256
+ else
257
+ {}
258
+ end
259
+
260
+ response = @client_stub.make_http_request(
261
+ verb,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "insert",
266
+ options: options
267
+ )
268
+ operation = ::Gapic::Rest::TransportOperation.new response
269
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
274
+ end
275
+
276
+ ##
277
+ # Baseline implementation for the list REST call
278
+ #
279
+ # @param request_pb [::Google::Cloud::Compute::V1::ListFutureReservationsRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Cloud::Compute::V1::FutureReservationsListResponse]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Cloud::Compute::V1::FutureReservationsListResponse]
289
+ # A result object deserialized from the server's reply
290
+ def list request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "list",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Cloud::Compute::V1::FutureReservationsListResponse.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
316
+ ##
317
+ # Baseline implementation for the update REST call
318
+ #
319
+ # @param request_pb [::Google::Cloud::Compute::V1::UpdateFutureReservationRequest]
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 update 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_update_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: "update",
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
+
356
+ ##
357
+ # @private
358
+ #
359
+ # GRPC transcoding helper method for the aggregated_list REST call
360
+ #
361
+ # @param request_pb [::Google::Cloud::Compute::V1::AggregatedListFutureReservationsRequest]
362
+ # A request object representing the call parameters. Required.
363
+ # @return [Array(String, [String, nil], Hash{String => String})]
364
+ # Uri, Body, Query string parameters
365
+ def self.transcode_aggregated_list_request request_pb
366
+ transcoder = Gapic::Rest::GrpcTranscoder.new
367
+ .with_bindings(
368
+ uri_method: :get,
369
+ uri_template: "/compute/v1/projects/{project}/aggregated/futureReservations",
370
+ matches: [
371
+ ["project", %r{^[^/]+/?$}, false]
372
+ ]
373
+ )
374
+ transcoder.transcode request_pb
375
+ end
376
+
377
+ ##
378
+ # @private
379
+ #
380
+ # GRPC transcoding helper method for the cancel REST call
381
+ #
382
+ # @param request_pb [::Google::Cloud::Compute::V1::CancelFutureReservationRequest]
383
+ # A request object representing the call parameters. Required.
384
+ # @return [Array(String, [String, nil], Hash{String => String})]
385
+ # Uri, Body, Query string parameters
386
+ def self.transcode_cancel_request request_pb
387
+ transcoder = Gapic::Rest::GrpcTranscoder.new
388
+ .with_bindings(
389
+ uri_method: :post,
390
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations/{future_reservation}/cancel",
391
+ matches: [
392
+ ["project", %r{^[^/]+/?$}, false],
393
+ ["zone", %r{^[^/]+/?$}, false],
394
+ ["future_reservation", %r{^[^/]+/?$}, false]
395
+ ]
396
+ )
397
+ transcoder.transcode request_pb
398
+ end
399
+
400
+ ##
401
+ # @private
402
+ #
403
+ # GRPC transcoding helper method for the delete REST call
404
+ #
405
+ # @param request_pb [::Google::Cloud::Compute::V1::DeleteFutureReservationRequest]
406
+ # A request object representing the call parameters. Required.
407
+ # @return [Array(String, [String, nil], Hash{String => String})]
408
+ # Uri, Body, Query string parameters
409
+ def self.transcode_delete_request request_pb
410
+ transcoder = Gapic::Rest::GrpcTranscoder.new
411
+ .with_bindings(
412
+ uri_method: :delete,
413
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations/{future_reservation}",
414
+ matches: [
415
+ ["project", %r{^[^/]+/?$}, false],
416
+ ["zone", %r{^[^/]+/?$}, false],
417
+ ["future_reservation", %r{^[^/]+/?$}, false]
418
+ ]
419
+ )
420
+ transcoder.transcode request_pb
421
+ end
422
+
423
+ ##
424
+ # @private
425
+ #
426
+ # GRPC transcoding helper method for the get REST call
427
+ #
428
+ # @param request_pb [::Google::Cloud::Compute::V1::GetFutureReservationRequest]
429
+ # A request object representing the call parameters. Required.
430
+ # @return [Array(String, [String, nil], Hash{String => String})]
431
+ # Uri, Body, Query string parameters
432
+ def self.transcode_get_request request_pb
433
+ transcoder = Gapic::Rest::GrpcTranscoder.new
434
+ .with_bindings(
435
+ uri_method: :get,
436
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations/{future_reservation}",
437
+ matches: [
438
+ ["project", %r{^[^/]+/?$}, false],
439
+ ["zone", %r{^[^/]+/?$}, false],
440
+ ["future_reservation", %r{^[^/]+/?$}, false]
441
+ ]
442
+ )
443
+ transcoder.transcode request_pb
444
+ end
445
+
446
+ ##
447
+ # @private
448
+ #
449
+ # GRPC transcoding helper method for the insert REST call
450
+ #
451
+ # @param request_pb [::Google::Cloud::Compute::V1::InsertFutureReservationRequest]
452
+ # A request object representing the call parameters. Required.
453
+ # @return [Array(String, [String, nil], Hash{String => String})]
454
+ # Uri, Body, Query string parameters
455
+ def self.transcode_insert_request request_pb
456
+ transcoder = Gapic::Rest::GrpcTranscoder.new
457
+ .with_bindings(
458
+ uri_method: :post,
459
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations",
460
+ body: "future_reservation_resource",
461
+ matches: [
462
+ ["project", %r{^[^/]+/?$}, false],
463
+ ["zone", %r{^[^/]+/?$}, false]
464
+ ]
465
+ )
466
+ transcoder.transcode request_pb
467
+ end
468
+
469
+ ##
470
+ # @private
471
+ #
472
+ # GRPC transcoding helper method for the list REST call
473
+ #
474
+ # @param request_pb [::Google::Cloud::Compute::V1::ListFutureReservationsRequest]
475
+ # A request object representing the call parameters. Required.
476
+ # @return [Array(String, [String, nil], Hash{String => String})]
477
+ # Uri, Body, Query string parameters
478
+ def self.transcode_list_request request_pb
479
+ transcoder = Gapic::Rest::GrpcTranscoder.new
480
+ .with_bindings(
481
+ uri_method: :get,
482
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations",
483
+ matches: [
484
+ ["project", %r{^[^/]+/?$}, false],
485
+ ["zone", %r{^[^/]+/?$}, false]
486
+ ]
487
+ )
488
+ transcoder.transcode request_pb
489
+ end
490
+
491
+ ##
492
+ # @private
493
+ #
494
+ # GRPC transcoding helper method for the update REST call
495
+ #
496
+ # @param request_pb [::Google::Cloud::Compute::V1::UpdateFutureReservationRequest]
497
+ # A request object representing the call parameters. Required.
498
+ # @return [Array(String, [String, nil], Hash{String => String})]
499
+ # Uri, Body, Query string parameters
500
+ def self.transcode_update_request request_pb
501
+ transcoder = Gapic::Rest::GrpcTranscoder.new
502
+ .with_bindings(
503
+ uri_method: :patch,
504
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/futureReservations/{future_reservation}",
505
+ body: "future_reservation_resource",
506
+ matches: [
507
+ ["project", %r{^[^/]+/?$}, false],
508
+ ["zone", %r{^[^/]+/?$}, false],
509
+ ["future_reservation", %r{^[^/]+/?$}, false]
510
+ ]
511
+ )
512
+ transcoder.transcode request_pb
513
+ end
514
+ end
515
+ end
516
+ end
517
+ end
518
+ end
519
+ end
520
+ 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/future_reservations/credentials"
26
+ require "google/cloud/compute/v1/future_reservations/rest/client"
27
+
28
+ module Google
29
+ module Cloud
30
+ module Compute
31
+ module V1
32
+ ##
33
+ # The FutureReservations API.
34
+ #
35
+ # To load this service and instantiate a REST client:
36
+ #
37
+ # require "google/cloud/compute/v1/future_reservations/rest"
38
+ # client = ::Google::Cloud::Compute::V1::FutureReservations::Rest::Client.new
39
+ #
40
+ module FutureReservations
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/future_reservations/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/future_reservations/credentials"
25
+ require "google/cloud/compute/v1/future_reservations/rest"
26
+
27
+ module Google
28
+ module Cloud
29
+ module Compute
30
+ module V1
31
+ ##
32
+ # The FutureReservations API.
33
+ #
34
+ # @example Load this service and instantiate a REST client
35
+ #
36
+ # require "google/cloud/compute/v1/future_reservations/rest"
37
+ # client = ::Google::Cloud::Compute::V1::FutureReservations::Rest::Client.new
38
+ #
39
+ module FutureReservations
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ helper_path = ::File.join __dir__, "future_reservations", "helpers.rb"
47
+ require "google/cloud/compute/v1/future_reservations/helpers" if ::File.file? helper_path