google-cloud-compute 1.9.0 → 1.11.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.
@@ -55,6 +55,11 @@ module Google
55
55
  # supported by that API version, and the corresponding gem is available, the
56
56
  # appropriate versioned client will be returned.
57
57
  #
58
+ # Raises an exception if the currently installed versioned client gem for the
59
+ # given API version does not support the AcceleratorTypes service.
60
+ # You can determine whether the method will succeed by calling
61
+ # {Google::Cloud::Compute.accelerator_types_available?}.
62
+ #
58
63
  # ## About AcceleratorTypes
59
64
  #
60
65
  # Services
@@ -76,6 +81,34 @@ module Google
76
81
  service_module.const_get(:Rest).const_get(:Client).new(&block)
77
82
  end
78
83
 
84
+ ##
85
+ # Determines whether the AcceleratorTypes service is supported by the current client.
86
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.accelerator_types}.
87
+ # If false, that method will raise an exception. This could happen if the given
88
+ # API version does not exist or does not support the AcceleratorTypes service,
89
+ # or if the versioned client gem needs an update to support the AcceleratorTypes service.
90
+ #
91
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
92
+ # Defaults to `:v1`.
93
+ # @return [boolean] Whether the service is available.
94
+ #
95
+ def self.accelerator_types_available? version: :v1
96
+ require "google/cloud/compute/#{version.to_s.downcase}"
97
+ package_name = Google::Cloud::Compute
98
+ .constants
99
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
100
+ .first
101
+ return false unless package_name
102
+ service_module = Google::Cloud::Compute.const_get package_name
103
+ return false unless service_module.const_defined? :AcceleratorTypes
104
+ service_module = service_module.const_get :AcceleratorTypes
105
+ return false unless service_module.const_defined? :Rest
106
+ service_module = service_module.const_get :Rest
107
+ service_module.const_defined? :Client
108
+ rescue ::LoadError
109
+ false
110
+ end
111
+
79
112
  ##
80
113
  # Create a new client object for Addresses.
81
114
  #
@@ -87,6 +120,11 @@ module Google
87
120
  # supported by that API version, and the corresponding gem is available, the
88
121
  # appropriate versioned client will be returned.
89
122
  #
123
+ # Raises an exception if the currently installed versioned client gem for the
124
+ # given API version does not support the Addresses service.
125
+ # You can determine whether the method will succeed by calling
126
+ # {Google::Cloud::Compute.addresses_available?}.
127
+ #
90
128
  # ## About Addresses
91
129
  #
92
130
  # The Addresses API.
@@ -106,6 +144,34 @@ module Google
106
144
  service_module.const_get(:Rest).const_get(:Client).new(&block)
107
145
  end
108
146
 
147
+ ##
148
+ # Determines whether the Addresses service is supported by the current client.
149
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.addresses}.
150
+ # If false, that method will raise an exception. This could happen if the given
151
+ # API version does not exist or does not support the Addresses service,
152
+ # or if the versioned client gem needs an update to support the Addresses service.
153
+ #
154
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
155
+ # Defaults to `:v1`.
156
+ # @return [boolean] Whether the service is available.
157
+ #
158
+ def self.addresses_available? version: :v1
159
+ require "google/cloud/compute/#{version.to_s.downcase}"
160
+ package_name = Google::Cloud::Compute
161
+ .constants
162
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
163
+ .first
164
+ return false unless package_name
165
+ service_module = Google::Cloud::Compute.const_get package_name
166
+ return false unless service_module.const_defined? :Addresses
167
+ service_module = service_module.const_get :Addresses
168
+ return false unless service_module.const_defined? :Rest
169
+ service_module = service_module.const_get :Rest
170
+ service_module.const_defined? :Client
171
+ rescue ::LoadError
172
+ false
173
+ end
174
+
109
175
  ##
110
176
  # Create a new client object for Autoscalers.
111
177
  #
@@ -117,6 +183,11 @@ module Google
117
183
  # supported by that API version, and the corresponding gem is available, the
118
184
  # appropriate versioned client will be returned.
119
185
  #
186
+ # Raises an exception if the currently installed versioned client gem for the
187
+ # given API version does not support the Autoscalers service.
188
+ # You can determine whether the method will succeed by calling
189
+ # {Google::Cloud::Compute.autoscalers_available?}.
190
+ #
120
191
  # ## About Autoscalers
121
192
  #
122
193
  # The Autoscalers API.
@@ -136,6 +207,34 @@ module Google
136
207
  service_module.const_get(:Rest).const_get(:Client).new(&block)
137
208
  end
138
209
 
210
+ ##
211
+ # Determines whether the Autoscalers service is supported by the current client.
212
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.autoscalers}.
213
+ # If false, that method will raise an exception. This could happen if the given
214
+ # API version does not exist or does not support the Autoscalers service,
215
+ # or if the versioned client gem needs an update to support the Autoscalers service.
216
+ #
217
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
218
+ # Defaults to `:v1`.
219
+ # @return [boolean] Whether the service is available.
220
+ #
221
+ def self.autoscalers_available? version: :v1
222
+ require "google/cloud/compute/#{version.to_s.downcase}"
223
+ package_name = Google::Cloud::Compute
224
+ .constants
225
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
226
+ .first
227
+ return false unless package_name
228
+ service_module = Google::Cloud::Compute.const_get package_name
229
+ return false unless service_module.const_defined? :Autoscalers
230
+ service_module = service_module.const_get :Autoscalers
231
+ return false unless service_module.const_defined? :Rest
232
+ service_module = service_module.const_get :Rest
233
+ service_module.const_defined? :Client
234
+ rescue ::LoadError
235
+ false
236
+ end
237
+
139
238
  ##
140
239
  # Create a new client object for BackendBuckets.
141
240
  #
@@ -147,6 +246,11 @@ module Google
147
246
  # supported by that API version, and the corresponding gem is available, the
148
247
  # appropriate versioned client will be returned.
149
248
  #
249
+ # Raises an exception if the currently installed versioned client gem for the
250
+ # given API version does not support the BackendBuckets service.
251
+ # You can determine whether the method will succeed by calling
252
+ # {Google::Cloud::Compute.backend_buckets_available?}.
253
+ #
150
254
  # ## About BackendBuckets
151
255
  #
152
256
  # The BackendBuckets API.
@@ -166,6 +270,34 @@ module Google
166
270
  service_module.const_get(:Rest).const_get(:Client).new(&block)
167
271
  end
168
272
 
273
+ ##
274
+ # Determines whether the BackendBuckets service is supported by the current client.
275
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.backend_buckets}.
276
+ # If false, that method will raise an exception. This could happen if the given
277
+ # API version does not exist or does not support the BackendBuckets service,
278
+ # or if the versioned client gem needs an update to support the BackendBuckets service.
279
+ #
280
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
281
+ # Defaults to `:v1`.
282
+ # @return [boolean] Whether the service is available.
283
+ #
284
+ def self.backend_buckets_available? version: :v1
285
+ require "google/cloud/compute/#{version.to_s.downcase}"
286
+ package_name = Google::Cloud::Compute
287
+ .constants
288
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
289
+ .first
290
+ return false unless package_name
291
+ service_module = Google::Cloud::Compute.const_get package_name
292
+ return false unless service_module.const_defined? :BackendBuckets
293
+ service_module = service_module.const_get :BackendBuckets
294
+ return false unless service_module.const_defined? :Rest
295
+ service_module = service_module.const_get :Rest
296
+ service_module.const_defined? :Client
297
+ rescue ::LoadError
298
+ false
299
+ end
300
+
169
301
  ##
170
302
  # Create a new client object for BackendServices.
171
303
  #
@@ -177,6 +309,11 @@ module Google
177
309
  # supported by that API version, and the corresponding gem is available, the
178
310
  # appropriate versioned client will be returned.
179
311
  #
312
+ # Raises an exception if the currently installed versioned client gem for the
313
+ # given API version does not support the BackendServices service.
314
+ # You can determine whether the method will succeed by calling
315
+ # {Google::Cloud::Compute.backend_services_available?}.
316
+ #
180
317
  # ## About BackendServices
181
318
  #
182
319
  # The BackendServices API.
@@ -196,6 +333,34 @@ module Google
196
333
  service_module.const_get(:Rest).const_get(:Client).new(&block)
197
334
  end
198
335
 
336
+ ##
337
+ # Determines whether the BackendServices service is supported by the current client.
338
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.backend_services}.
339
+ # If false, that method will raise an exception. This could happen if the given
340
+ # API version does not exist or does not support the BackendServices service,
341
+ # or if the versioned client gem needs an update to support the BackendServices service.
342
+ #
343
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
344
+ # Defaults to `:v1`.
345
+ # @return [boolean] Whether the service is available.
346
+ #
347
+ def self.backend_services_available? version: :v1
348
+ require "google/cloud/compute/#{version.to_s.downcase}"
349
+ package_name = Google::Cloud::Compute
350
+ .constants
351
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
352
+ .first
353
+ return false unless package_name
354
+ service_module = Google::Cloud::Compute.const_get package_name
355
+ return false unless service_module.const_defined? :BackendServices
356
+ service_module = service_module.const_get :BackendServices
357
+ return false unless service_module.const_defined? :Rest
358
+ service_module = service_module.const_get :Rest
359
+ service_module.const_defined? :Client
360
+ rescue ::LoadError
361
+ false
362
+ end
363
+
199
364
  ##
200
365
  # Create a new client object for DiskTypes.
201
366
  #
@@ -207,6 +372,11 @@ module Google
207
372
  # supported by that API version, and the corresponding gem is available, the
208
373
  # appropriate versioned client will be returned.
209
374
  #
375
+ # Raises an exception if the currently installed versioned client gem for the
376
+ # given API version does not support the DiskTypes service.
377
+ # You can determine whether the method will succeed by calling
378
+ # {Google::Cloud::Compute.disk_types_available?}.
379
+ #
210
380
  # ## About DiskTypes
211
381
  #
212
382
  # The DiskTypes API.
@@ -226,6 +396,34 @@ module Google
226
396
  service_module.const_get(:Rest).const_get(:Client).new(&block)
227
397
  end
228
398
 
399
+ ##
400
+ # Determines whether the DiskTypes service is supported by the current client.
401
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.disk_types}.
402
+ # If false, that method will raise an exception. This could happen if the given
403
+ # API version does not exist or does not support the DiskTypes service,
404
+ # or if the versioned client gem needs an update to support the DiskTypes service.
405
+ #
406
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
407
+ # Defaults to `:v1`.
408
+ # @return [boolean] Whether the service is available.
409
+ #
410
+ def self.disk_types_available? version: :v1
411
+ require "google/cloud/compute/#{version.to_s.downcase}"
412
+ package_name = Google::Cloud::Compute
413
+ .constants
414
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
415
+ .first
416
+ return false unless package_name
417
+ service_module = Google::Cloud::Compute.const_get package_name
418
+ return false unless service_module.const_defined? :DiskTypes
419
+ service_module = service_module.const_get :DiskTypes
420
+ return false unless service_module.const_defined? :Rest
421
+ service_module = service_module.const_get :Rest
422
+ service_module.const_defined? :Client
423
+ rescue ::LoadError
424
+ false
425
+ end
426
+
229
427
  ##
230
428
  # Create a new client object for Disks.
231
429
  #
@@ -237,6 +435,11 @@ module Google
237
435
  # supported by that API version, and the corresponding gem is available, the
238
436
  # appropriate versioned client will be returned.
239
437
  #
438
+ # Raises an exception if the currently installed versioned client gem for the
439
+ # given API version does not support the Disks service.
440
+ # You can determine whether the method will succeed by calling
441
+ # {Google::Cloud::Compute.disks_available?}.
442
+ #
240
443
  # ## About Disks
241
444
  #
242
445
  # The Disks API.
@@ -256,6 +459,34 @@ module Google
256
459
  service_module.const_get(:Rest).const_get(:Client).new(&block)
257
460
  end
258
461
 
462
+ ##
463
+ # Determines whether the Disks service is supported by the current client.
464
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.disks}.
465
+ # If false, that method will raise an exception. This could happen if the given
466
+ # API version does not exist or does not support the Disks service,
467
+ # or if the versioned client gem needs an update to support the Disks service.
468
+ #
469
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
470
+ # Defaults to `:v1`.
471
+ # @return [boolean] Whether the service is available.
472
+ #
473
+ def self.disks_available? version: :v1
474
+ require "google/cloud/compute/#{version.to_s.downcase}"
475
+ package_name = Google::Cloud::Compute
476
+ .constants
477
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
478
+ .first
479
+ return false unless package_name
480
+ service_module = Google::Cloud::Compute.const_get package_name
481
+ return false unless service_module.const_defined? :Disks
482
+ service_module = service_module.const_get :Disks
483
+ return false unless service_module.const_defined? :Rest
484
+ service_module = service_module.const_get :Rest
485
+ service_module.const_defined? :Client
486
+ rescue ::LoadError
487
+ false
488
+ end
489
+
259
490
  ##
260
491
  # Create a new client object for ExternalVpnGateways.
261
492
  #
@@ -267,6 +498,11 @@ module Google
267
498
  # supported by that API version, and the corresponding gem is available, the
268
499
  # appropriate versioned client will be returned.
269
500
  #
501
+ # Raises an exception if the currently installed versioned client gem for the
502
+ # given API version does not support the ExternalVpnGateways service.
503
+ # You can determine whether the method will succeed by calling
504
+ # {Google::Cloud::Compute.external_vpn_gateways_available?}.
505
+ #
270
506
  # ## About ExternalVpnGateways
271
507
  #
272
508
  # The ExternalVpnGateways API.
@@ -286,6 +522,34 @@ module Google
286
522
  service_module.const_get(:Rest).const_get(:Client).new(&block)
287
523
  end
288
524
 
525
+ ##
526
+ # Determines whether the ExternalVpnGateways service is supported by the current client.
527
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.external_vpn_gateways}.
528
+ # If false, that method will raise an exception. This could happen if the given
529
+ # API version does not exist or does not support the ExternalVpnGateways service,
530
+ # or if the versioned client gem needs an update to support the ExternalVpnGateways service.
531
+ #
532
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
533
+ # Defaults to `:v1`.
534
+ # @return [boolean] Whether the service is available.
535
+ #
536
+ def self.external_vpn_gateways_available? version: :v1
537
+ require "google/cloud/compute/#{version.to_s.downcase}"
538
+ package_name = Google::Cloud::Compute
539
+ .constants
540
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
541
+ .first
542
+ return false unless package_name
543
+ service_module = Google::Cloud::Compute.const_get package_name
544
+ return false unless service_module.const_defined? :ExternalVpnGateways
545
+ service_module = service_module.const_get :ExternalVpnGateways
546
+ return false unless service_module.const_defined? :Rest
547
+ service_module = service_module.const_get :Rest
548
+ service_module.const_defined? :Client
549
+ rescue ::LoadError
550
+ false
551
+ end
552
+
289
553
  ##
290
554
  # Create a new client object for FirewallPolicies.
291
555
  #
@@ -297,6 +561,11 @@ module Google
297
561
  # supported by that API version, and the corresponding gem is available, the
298
562
  # appropriate versioned client will be returned.
299
563
  #
564
+ # Raises an exception if the currently installed versioned client gem for the
565
+ # given API version does not support the FirewallPolicies service.
566
+ # You can determine whether the method will succeed by calling
567
+ # {Google::Cloud::Compute.firewall_policies_available?}.
568
+ #
300
569
  # ## About FirewallPolicies
301
570
  #
302
571
  # The FirewallPolicies API.
@@ -316,6 +585,34 @@ module Google
316
585
  service_module.const_get(:Rest).const_get(:Client).new(&block)
317
586
  end
318
587
 
588
+ ##
589
+ # Determines whether the FirewallPolicies service is supported by the current client.
590
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.firewall_policies}.
591
+ # If false, that method will raise an exception. This could happen if the given
592
+ # API version does not exist or does not support the FirewallPolicies service,
593
+ # or if the versioned client gem needs an update to support the FirewallPolicies service.
594
+ #
595
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
596
+ # Defaults to `:v1`.
597
+ # @return [boolean] Whether the service is available.
598
+ #
599
+ def self.firewall_policies_available? version: :v1
600
+ require "google/cloud/compute/#{version.to_s.downcase}"
601
+ package_name = Google::Cloud::Compute
602
+ .constants
603
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
604
+ .first
605
+ return false unless package_name
606
+ service_module = Google::Cloud::Compute.const_get package_name
607
+ return false unless service_module.const_defined? :FirewallPolicies
608
+ service_module = service_module.const_get :FirewallPolicies
609
+ return false unless service_module.const_defined? :Rest
610
+ service_module = service_module.const_get :Rest
611
+ service_module.const_defined? :Client
612
+ rescue ::LoadError
613
+ false
614
+ end
615
+
319
616
  ##
320
617
  # Create a new client object for Firewalls.
321
618
  #
@@ -327,6 +624,11 @@ module Google
327
624
  # supported by that API version, and the corresponding gem is available, the
328
625
  # appropriate versioned client will be returned.
329
626
  #
627
+ # Raises an exception if the currently installed versioned client gem for the
628
+ # given API version does not support the Firewalls service.
629
+ # You can determine whether the method will succeed by calling
630
+ # {Google::Cloud::Compute.firewalls_available?}.
631
+ #
330
632
  # ## About Firewalls
331
633
  #
332
634
  # The Firewalls API.
@@ -346,6 +648,34 @@ module Google
346
648
  service_module.const_get(:Rest).const_get(:Client).new(&block)
347
649
  end
348
650
 
651
+ ##
652
+ # Determines whether the Firewalls service is supported by the current client.
653
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.firewalls}.
654
+ # If false, that method will raise an exception. This could happen if the given
655
+ # API version does not exist or does not support the Firewalls service,
656
+ # or if the versioned client gem needs an update to support the Firewalls service.
657
+ #
658
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
659
+ # Defaults to `:v1`.
660
+ # @return [boolean] Whether the service is available.
661
+ #
662
+ def self.firewalls_available? version: :v1
663
+ require "google/cloud/compute/#{version.to_s.downcase}"
664
+ package_name = Google::Cloud::Compute
665
+ .constants
666
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
667
+ .first
668
+ return false unless package_name
669
+ service_module = Google::Cloud::Compute.const_get package_name
670
+ return false unless service_module.const_defined? :Firewalls
671
+ service_module = service_module.const_get :Firewalls
672
+ return false unless service_module.const_defined? :Rest
673
+ service_module = service_module.const_get :Rest
674
+ service_module.const_defined? :Client
675
+ rescue ::LoadError
676
+ false
677
+ end
678
+
349
679
  ##
350
680
  # Create a new client object for ForwardingRules.
351
681
  #
@@ -357,6 +687,11 @@ module Google
357
687
  # supported by that API version, and the corresponding gem is available, the
358
688
  # appropriate versioned client will be returned.
359
689
  #
690
+ # Raises an exception if the currently installed versioned client gem for the
691
+ # given API version does not support the ForwardingRules service.
692
+ # You can determine whether the method will succeed by calling
693
+ # {Google::Cloud::Compute.forwarding_rules_available?}.
694
+ #
360
695
  # ## About ForwardingRules
361
696
  #
362
697
  # The ForwardingRules API.
@@ -376,6 +711,34 @@ module Google
376
711
  service_module.const_get(:Rest).const_get(:Client).new(&block)
377
712
  end
378
713
 
714
+ ##
715
+ # Determines whether the ForwardingRules service is supported by the current client.
716
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.forwarding_rules}.
717
+ # If false, that method will raise an exception. This could happen if the given
718
+ # API version does not exist or does not support the ForwardingRules service,
719
+ # or if the versioned client gem needs an update to support the ForwardingRules service.
720
+ #
721
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
722
+ # Defaults to `:v1`.
723
+ # @return [boolean] Whether the service is available.
724
+ #
725
+ def self.forwarding_rules_available? version: :v1
726
+ require "google/cloud/compute/#{version.to_s.downcase}"
727
+ package_name = Google::Cloud::Compute
728
+ .constants
729
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
730
+ .first
731
+ return false unless package_name
732
+ service_module = Google::Cloud::Compute.const_get package_name
733
+ return false unless service_module.const_defined? :ForwardingRules
734
+ service_module = service_module.const_get :ForwardingRules
735
+ return false unless service_module.const_defined? :Rest
736
+ service_module = service_module.const_get :Rest
737
+ service_module.const_defined? :Client
738
+ rescue ::LoadError
739
+ false
740
+ end
741
+
379
742
  ##
380
743
  # Create a new client object for GlobalAddresses.
381
744
  #
@@ -387,6 +750,11 @@ module Google
387
750
  # supported by that API version, and the corresponding gem is available, the
388
751
  # appropriate versioned client will be returned.
389
752
  #
753
+ # Raises an exception if the currently installed versioned client gem for the
754
+ # given API version does not support the GlobalAddresses service.
755
+ # You can determine whether the method will succeed by calling
756
+ # {Google::Cloud::Compute.global_addresses_available?}.
757
+ #
390
758
  # ## About GlobalAddresses
391
759
  #
392
760
  # The GlobalAddresses API.
@@ -406,6 +774,34 @@ module Google
406
774
  service_module.const_get(:Rest).const_get(:Client).new(&block)
407
775
  end
408
776
 
777
+ ##
778
+ # Determines whether the GlobalAddresses service is supported by the current client.
779
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_addresses}.
780
+ # If false, that method will raise an exception. This could happen if the given
781
+ # API version does not exist or does not support the GlobalAddresses service,
782
+ # or if the versioned client gem needs an update to support the GlobalAddresses service.
783
+ #
784
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
785
+ # Defaults to `:v1`.
786
+ # @return [boolean] Whether the service is available.
787
+ #
788
+ def self.global_addresses_available? version: :v1
789
+ require "google/cloud/compute/#{version.to_s.downcase}"
790
+ package_name = Google::Cloud::Compute
791
+ .constants
792
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
793
+ .first
794
+ return false unless package_name
795
+ service_module = Google::Cloud::Compute.const_get package_name
796
+ return false unless service_module.const_defined? :GlobalAddresses
797
+ service_module = service_module.const_get :GlobalAddresses
798
+ return false unless service_module.const_defined? :Rest
799
+ service_module = service_module.const_get :Rest
800
+ service_module.const_defined? :Client
801
+ rescue ::LoadError
802
+ false
803
+ end
804
+
409
805
  ##
410
806
  # Create a new client object for GlobalForwardingRules.
411
807
  #
@@ -417,6 +813,11 @@ module Google
417
813
  # supported by that API version, and the corresponding gem is available, the
418
814
  # appropriate versioned client will be returned.
419
815
  #
816
+ # Raises an exception if the currently installed versioned client gem for the
817
+ # given API version does not support the GlobalForwardingRules service.
818
+ # You can determine whether the method will succeed by calling
819
+ # {Google::Cloud::Compute.global_forwarding_rules_available?}.
820
+ #
420
821
  # ## About GlobalForwardingRules
421
822
  #
422
823
  # The GlobalForwardingRules API.
@@ -436,6 +837,34 @@ module Google
436
837
  service_module.const_get(:Rest).const_get(:Client).new(&block)
437
838
  end
438
839
 
840
+ ##
841
+ # Determines whether the GlobalForwardingRules service is supported by the current client.
842
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_forwarding_rules}.
843
+ # If false, that method will raise an exception. This could happen if the given
844
+ # API version does not exist or does not support the GlobalForwardingRules service,
845
+ # or if the versioned client gem needs an update to support the GlobalForwardingRules service.
846
+ #
847
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
848
+ # Defaults to `:v1`.
849
+ # @return [boolean] Whether the service is available.
850
+ #
851
+ def self.global_forwarding_rules_available? version: :v1
852
+ require "google/cloud/compute/#{version.to_s.downcase}"
853
+ package_name = Google::Cloud::Compute
854
+ .constants
855
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
856
+ .first
857
+ return false unless package_name
858
+ service_module = Google::Cloud::Compute.const_get package_name
859
+ return false unless service_module.const_defined? :GlobalForwardingRules
860
+ service_module = service_module.const_get :GlobalForwardingRules
861
+ return false unless service_module.const_defined? :Rest
862
+ service_module = service_module.const_get :Rest
863
+ service_module.const_defined? :Client
864
+ rescue ::LoadError
865
+ false
866
+ end
867
+
439
868
  ##
440
869
  # Create a new client object for GlobalNetworkEndpointGroups.
441
870
  #
@@ -447,6 +876,11 @@ module Google
447
876
  # supported by that API version, and the corresponding gem is available, the
448
877
  # appropriate versioned client will be returned.
449
878
  #
879
+ # Raises an exception if the currently installed versioned client gem for the
880
+ # given API version does not support the GlobalNetworkEndpointGroups service.
881
+ # You can determine whether the method will succeed by calling
882
+ # {Google::Cloud::Compute.global_network_endpoint_groups_available?}.
883
+ #
450
884
  # ## About GlobalNetworkEndpointGroups
451
885
  #
452
886
  # The GlobalNetworkEndpointGroups API.
@@ -466,6 +900,34 @@ module Google
466
900
  service_module.const_get(:Rest).const_get(:Client).new(&block)
467
901
  end
468
902
 
903
+ ##
904
+ # Determines whether the GlobalNetworkEndpointGroups service is supported by the current client.
905
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_network_endpoint_groups}.
906
+ # If false, that method will raise an exception. This could happen if the given
907
+ # API version does not exist or does not support the GlobalNetworkEndpointGroups service,
908
+ # or if the versioned client gem needs an update to support the GlobalNetworkEndpointGroups service.
909
+ #
910
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
911
+ # Defaults to `:v1`.
912
+ # @return [boolean] Whether the service is available.
913
+ #
914
+ def self.global_network_endpoint_groups_available? version: :v1
915
+ require "google/cloud/compute/#{version.to_s.downcase}"
916
+ package_name = Google::Cloud::Compute
917
+ .constants
918
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
919
+ .first
920
+ return false unless package_name
921
+ service_module = Google::Cloud::Compute.const_get package_name
922
+ return false unless service_module.const_defined? :GlobalNetworkEndpointGroups
923
+ service_module = service_module.const_get :GlobalNetworkEndpointGroups
924
+ return false unless service_module.const_defined? :Rest
925
+ service_module = service_module.const_get :Rest
926
+ service_module.const_defined? :Client
927
+ rescue ::LoadError
928
+ false
929
+ end
930
+
469
931
  ##
470
932
  # Create a new client object for GlobalOperations.
471
933
  #
@@ -477,6 +939,11 @@ module Google
477
939
  # supported by that API version, and the corresponding gem is available, the
478
940
  # appropriate versioned client will be returned.
479
941
  #
942
+ # Raises an exception if the currently installed versioned client gem for the
943
+ # given API version does not support the GlobalOperations service.
944
+ # You can determine whether the method will succeed by calling
945
+ # {Google::Cloud::Compute.global_operations_available?}.
946
+ #
480
947
  # ## About GlobalOperations
481
948
  #
482
949
  # The GlobalOperations API.
@@ -496,6 +963,34 @@ module Google
496
963
  service_module.const_get(:Rest).const_get(:Client).new(&block)
497
964
  end
498
965
 
966
+ ##
967
+ # Determines whether the GlobalOperations service is supported by the current client.
968
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_operations}.
969
+ # If false, that method will raise an exception. This could happen if the given
970
+ # API version does not exist or does not support the GlobalOperations service,
971
+ # or if the versioned client gem needs an update to support the GlobalOperations service.
972
+ #
973
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
974
+ # Defaults to `:v1`.
975
+ # @return [boolean] Whether the service is available.
976
+ #
977
+ def self.global_operations_available? version: :v1
978
+ require "google/cloud/compute/#{version.to_s.downcase}"
979
+ package_name = Google::Cloud::Compute
980
+ .constants
981
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
982
+ .first
983
+ return false unless package_name
984
+ service_module = Google::Cloud::Compute.const_get package_name
985
+ return false unless service_module.const_defined? :GlobalOperations
986
+ service_module = service_module.const_get :GlobalOperations
987
+ return false unless service_module.const_defined? :Rest
988
+ service_module = service_module.const_get :Rest
989
+ service_module.const_defined? :Client
990
+ rescue ::LoadError
991
+ false
992
+ end
993
+
499
994
  ##
500
995
  # Create a new client object for GlobalOrganizationOperations.
501
996
  #
@@ -507,6 +1002,11 @@ module Google
507
1002
  # supported by that API version, and the corresponding gem is available, the
508
1003
  # appropriate versioned client will be returned.
509
1004
  #
1005
+ # Raises an exception if the currently installed versioned client gem for the
1006
+ # given API version does not support the GlobalOrganizationOperations service.
1007
+ # You can determine whether the method will succeed by calling
1008
+ # {Google::Cloud::Compute.global_organization_operations_available?}.
1009
+ #
510
1010
  # ## About GlobalOrganizationOperations
511
1011
  #
512
1012
  # The GlobalOrganizationOperations API.
@@ -526,6 +1026,34 @@ module Google
526
1026
  service_module.const_get(:Rest).const_get(:Client).new(&block)
527
1027
  end
528
1028
 
1029
+ ##
1030
+ # Determines whether the GlobalOrganizationOperations service is supported by the current client.
1031
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_organization_operations}.
1032
+ # If false, that method will raise an exception. This could happen if the given
1033
+ # API version does not exist or does not support the GlobalOrganizationOperations service,
1034
+ # or if the versioned client gem needs an update to support the GlobalOrganizationOperations service.
1035
+ #
1036
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1037
+ # Defaults to `:v1`.
1038
+ # @return [boolean] Whether the service is available.
1039
+ #
1040
+ def self.global_organization_operations_available? version: :v1
1041
+ require "google/cloud/compute/#{version.to_s.downcase}"
1042
+ package_name = Google::Cloud::Compute
1043
+ .constants
1044
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1045
+ .first
1046
+ return false unless package_name
1047
+ service_module = Google::Cloud::Compute.const_get package_name
1048
+ return false unless service_module.const_defined? :GlobalOrganizationOperations
1049
+ service_module = service_module.const_get :GlobalOrganizationOperations
1050
+ return false unless service_module.const_defined? :Rest
1051
+ service_module = service_module.const_get :Rest
1052
+ service_module.const_defined? :Client
1053
+ rescue ::LoadError
1054
+ false
1055
+ end
1056
+
529
1057
  ##
530
1058
  # Create a new client object for GlobalPublicDelegatedPrefixes.
531
1059
  #
@@ -537,6 +1065,11 @@ module Google
537
1065
  # supported by that API version, and the corresponding gem is available, the
538
1066
  # appropriate versioned client will be returned.
539
1067
  #
1068
+ # Raises an exception if the currently installed versioned client gem for the
1069
+ # given API version does not support the GlobalPublicDelegatedPrefixes service.
1070
+ # You can determine whether the method will succeed by calling
1071
+ # {Google::Cloud::Compute.global_public_delegated_prefixes_available?}.
1072
+ #
540
1073
  # ## About GlobalPublicDelegatedPrefixes
541
1074
  #
542
1075
  # The GlobalPublicDelegatedPrefixes API.
@@ -556,6 +1089,34 @@ module Google
556
1089
  service_module.const_get(:Rest).const_get(:Client).new(&block)
557
1090
  end
558
1091
 
1092
+ ##
1093
+ # Determines whether the GlobalPublicDelegatedPrefixes service is supported by the current client.
1094
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.global_public_delegated_prefixes}.
1095
+ # If false, that method will raise an exception. This could happen if the given
1096
+ # API version does not exist or does not support the GlobalPublicDelegatedPrefixes service,
1097
+ # or if the versioned client gem needs an update to support the GlobalPublicDelegatedPrefixes service.
1098
+ #
1099
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1100
+ # Defaults to `:v1`.
1101
+ # @return [boolean] Whether the service is available.
1102
+ #
1103
+ def self.global_public_delegated_prefixes_available? version: :v1
1104
+ require "google/cloud/compute/#{version.to_s.downcase}"
1105
+ package_name = Google::Cloud::Compute
1106
+ .constants
1107
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1108
+ .first
1109
+ return false unless package_name
1110
+ service_module = Google::Cloud::Compute.const_get package_name
1111
+ return false unless service_module.const_defined? :GlobalPublicDelegatedPrefixes
1112
+ service_module = service_module.const_get :GlobalPublicDelegatedPrefixes
1113
+ return false unless service_module.const_defined? :Rest
1114
+ service_module = service_module.const_get :Rest
1115
+ service_module.const_defined? :Client
1116
+ rescue ::LoadError
1117
+ false
1118
+ end
1119
+
559
1120
  ##
560
1121
  # Create a new client object for HealthChecks.
561
1122
  #
@@ -567,6 +1128,11 @@ module Google
567
1128
  # supported by that API version, and the corresponding gem is available, the
568
1129
  # appropriate versioned client will be returned.
569
1130
  #
1131
+ # Raises an exception if the currently installed versioned client gem for the
1132
+ # given API version does not support the HealthChecks service.
1133
+ # You can determine whether the method will succeed by calling
1134
+ # {Google::Cloud::Compute.health_checks_available?}.
1135
+ #
570
1136
  # ## About HealthChecks
571
1137
  #
572
1138
  # The HealthChecks API.
@@ -586,6 +1152,34 @@ module Google
586
1152
  service_module.const_get(:Rest).const_get(:Client).new(&block)
587
1153
  end
588
1154
 
1155
+ ##
1156
+ # Determines whether the HealthChecks service is supported by the current client.
1157
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.health_checks}.
1158
+ # If false, that method will raise an exception. This could happen if the given
1159
+ # API version does not exist or does not support the HealthChecks service,
1160
+ # or if the versioned client gem needs an update to support the HealthChecks service.
1161
+ #
1162
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1163
+ # Defaults to `:v1`.
1164
+ # @return [boolean] Whether the service is available.
1165
+ #
1166
+ def self.health_checks_available? version: :v1
1167
+ require "google/cloud/compute/#{version.to_s.downcase}"
1168
+ package_name = Google::Cloud::Compute
1169
+ .constants
1170
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1171
+ .first
1172
+ return false unless package_name
1173
+ service_module = Google::Cloud::Compute.const_get package_name
1174
+ return false unless service_module.const_defined? :HealthChecks
1175
+ service_module = service_module.const_get :HealthChecks
1176
+ return false unless service_module.const_defined? :Rest
1177
+ service_module = service_module.const_get :Rest
1178
+ service_module.const_defined? :Client
1179
+ rescue ::LoadError
1180
+ false
1181
+ end
1182
+
589
1183
  ##
590
1184
  # Create a new client object for ImageFamilyViews.
591
1185
  #
@@ -597,6 +1191,11 @@ module Google
597
1191
  # supported by that API version, and the corresponding gem is available, the
598
1192
  # appropriate versioned client will be returned.
599
1193
  #
1194
+ # Raises an exception if the currently installed versioned client gem for the
1195
+ # given API version does not support the ImageFamilyViews service.
1196
+ # You can determine whether the method will succeed by calling
1197
+ # {Google::Cloud::Compute.image_family_views_available?}.
1198
+ #
600
1199
  # ## About ImageFamilyViews
601
1200
  #
602
1201
  # The ImageFamilyViews API.
@@ -616,6 +1215,34 @@ module Google
616
1215
  service_module.const_get(:Rest).const_get(:Client).new(&block)
617
1216
  end
618
1217
 
1218
+ ##
1219
+ # Determines whether the ImageFamilyViews service is supported by the current client.
1220
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.image_family_views}.
1221
+ # If false, that method will raise an exception. This could happen if the given
1222
+ # API version does not exist or does not support the ImageFamilyViews service,
1223
+ # or if the versioned client gem needs an update to support the ImageFamilyViews service.
1224
+ #
1225
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1226
+ # Defaults to `:v1`.
1227
+ # @return [boolean] Whether the service is available.
1228
+ #
1229
+ def self.image_family_views_available? version: :v1
1230
+ require "google/cloud/compute/#{version.to_s.downcase}"
1231
+ package_name = Google::Cloud::Compute
1232
+ .constants
1233
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1234
+ .first
1235
+ return false unless package_name
1236
+ service_module = Google::Cloud::Compute.const_get package_name
1237
+ return false unless service_module.const_defined? :ImageFamilyViews
1238
+ service_module = service_module.const_get :ImageFamilyViews
1239
+ return false unless service_module.const_defined? :Rest
1240
+ service_module = service_module.const_get :Rest
1241
+ service_module.const_defined? :Client
1242
+ rescue ::LoadError
1243
+ false
1244
+ end
1245
+
619
1246
  ##
620
1247
  # Create a new client object for Images.
621
1248
  #
@@ -627,6 +1254,11 @@ module Google
627
1254
  # supported by that API version, and the corresponding gem is available, the
628
1255
  # appropriate versioned client will be returned.
629
1256
  #
1257
+ # Raises an exception if the currently installed versioned client gem for the
1258
+ # given API version does not support the Images service.
1259
+ # You can determine whether the method will succeed by calling
1260
+ # {Google::Cloud::Compute.images_available?}.
1261
+ #
630
1262
  # ## About Images
631
1263
  #
632
1264
  # The Images API.
@@ -647,15 +1279,48 @@ module Google
647
1279
  end
648
1280
 
649
1281
  ##
650
- # Create a new client object for InstanceGroupManagerResizeRequests.
1282
+ # Determines whether the Images service is supported by the current client.
1283
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.images}.
1284
+ # If false, that method will raise an exception. This could happen if the given
1285
+ # API version does not exist or does not support the Images service,
1286
+ # or if the versioned client gem needs an update to support the Images service.
651
1287
  #
652
- # By default, this returns an instance of
653
- # [Google::Cloud::Compute::V1::InstanceGroupManagerResizeRequests::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-InstanceGroupManagerResizeRequests-Rest-Client)
654
- # for a REST client for version V1 of the API.
655
- # However, you can specify a different API version by passing it in the
656
- # `version` parameter. If the InstanceGroupManagerResizeRequests service is
657
- # supported by that API version, and the corresponding gem is available, the
658
- # appropriate versioned client will be returned.
1288
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1289
+ # Defaults to `:v1`.
1290
+ # @return [boolean] Whether the service is available.
1291
+ #
1292
+ def self.images_available? version: :v1
1293
+ require "google/cloud/compute/#{version.to_s.downcase}"
1294
+ package_name = Google::Cloud::Compute
1295
+ .constants
1296
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1297
+ .first
1298
+ return false unless package_name
1299
+ service_module = Google::Cloud::Compute.const_get package_name
1300
+ return false unless service_module.const_defined? :Images
1301
+ service_module = service_module.const_get :Images
1302
+ return false unless service_module.const_defined? :Rest
1303
+ service_module = service_module.const_get :Rest
1304
+ service_module.const_defined? :Client
1305
+ rescue ::LoadError
1306
+ false
1307
+ end
1308
+
1309
+ ##
1310
+ # Create a new client object for InstanceGroupManagerResizeRequests.
1311
+ #
1312
+ # By default, this returns an instance of
1313
+ # [Google::Cloud::Compute::V1::InstanceGroupManagerResizeRequests::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-InstanceGroupManagerResizeRequests-Rest-Client)
1314
+ # for a REST client for version V1 of the API.
1315
+ # However, you can specify a different API version by passing it in the
1316
+ # `version` parameter. If the InstanceGroupManagerResizeRequests service is
1317
+ # supported by that API version, and the corresponding gem is available, the
1318
+ # appropriate versioned client will be returned.
1319
+ #
1320
+ # Raises an exception if the currently installed versioned client gem for the
1321
+ # given API version does not support the InstanceGroupManagerResizeRequests service.
1322
+ # You can determine whether the method will succeed by calling
1323
+ # {Google::Cloud::Compute.instance_group_manager_resize_requests_available?}.
659
1324
  #
660
1325
  # ## About InstanceGroupManagerResizeRequests
661
1326
  #
@@ -676,6 +1341,34 @@ module Google
676
1341
  service_module.const_get(:Rest).const_get(:Client).new(&block)
677
1342
  end
678
1343
 
1344
+ ##
1345
+ # Determines whether the InstanceGroupManagerResizeRequests service is supported by the current client.
1346
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instance_group_manager_resize_requests}.
1347
+ # If false, that method will raise an exception. This could happen if the given
1348
+ # API version does not exist or does not support the InstanceGroupManagerResizeRequests service,
1349
+ # or if the versioned client gem needs an update to support the InstanceGroupManagerResizeRequests service.
1350
+ #
1351
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1352
+ # Defaults to `:v1`.
1353
+ # @return [boolean] Whether the service is available.
1354
+ #
1355
+ def self.instance_group_manager_resize_requests_available? version: :v1
1356
+ require "google/cloud/compute/#{version.to_s.downcase}"
1357
+ package_name = Google::Cloud::Compute
1358
+ .constants
1359
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1360
+ .first
1361
+ return false unless package_name
1362
+ service_module = Google::Cloud::Compute.const_get package_name
1363
+ return false unless service_module.const_defined? :InstanceGroupManagerResizeRequests
1364
+ service_module = service_module.const_get :InstanceGroupManagerResizeRequests
1365
+ return false unless service_module.const_defined? :Rest
1366
+ service_module = service_module.const_get :Rest
1367
+ service_module.const_defined? :Client
1368
+ rescue ::LoadError
1369
+ false
1370
+ end
1371
+
679
1372
  ##
680
1373
  # Create a new client object for InstanceGroupManagers.
681
1374
  #
@@ -687,6 +1380,11 @@ module Google
687
1380
  # supported by that API version, and the corresponding gem is available, the
688
1381
  # appropriate versioned client will be returned.
689
1382
  #
1383
+ # Raises an exception if the currently installed versioned client gem for the
1384
+ # given API version does not support the InstanceGroupManagers service.
1385
+ # You can determine whether the method will succeed by calling
1386
+ # {Google::Cloud::Compute.instance_group_managers_available?}.
1387
+ #
690
1388
  # ## About InstanceGroupManagers
691
1389
  #
692
1390
  # The InstanceGroupManagers API.
@@ -706,6 +1404,34 @@ module Google
706
1404
  service_module.const_get(:Rest).const_get(:Client).new(&block)
707
1405
  end
708
1406
 
1407
+ ##
1408
+ # Determines whether the InstanceGroupManagers service is supported by the current client.
1409
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instance_group_managers}.
1410
+ # If false, that method will raise an exception. This could happen if the given
1411
+ # API version does not exist or does not support the InstanceGroupManagers service,
1412
+ # or if the versioned client gem needs an update to support the InstanceGroupManagers service.
1413
+ #
1414
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1415
+ # Defaults to `:v1`.
1416
+ # @return [boolean] Whether the service is available.
1417
+ #
1418
+ def self.instance_group_managers_available? version: :v1
1419
+ require "google/cloud/compute/#{version.to_s.downcase}"
1420
+ package_name = Google::Cloud::Compute
1421
+ .constants
1422
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1423
+ .first
1424
+ return false unless package_name
1425
+ service_module = Google::Cloud::Compute.const_get package_name
1426
+ return false unless service_module.const_defined? :InstanceGroupManagers
1427
+ service_module = service_module.const_get :InstanceGroupManagers
1428
+ return false unless service_module.const_defined? :Rest
1429
+ service_module = service_module.const_get :Rest
1430
+ service_module.const_defined? :Client
1431
+ rescue ::LoadError
1432
+ false
1433
+ end
1434
+
709
1435
  ##
710
1436
  # Create a new client object for InstanceGroups.
711
1437
  #
@@ -717,6 +1443,11 @@ module Google
717
1443
  # supported by that API version, and the corresponding gem is available, the
718
1444
  # appropriate versioned client will be returned.
719
1445
  #
1446
+ # Raises an exception if the currently installed versioned client gem for the
1447
+ # given API version does not support the InstanceGroups service.
1448
+ # You can determine whether the method will succeed by calling
1449
+ # {Google::Cloud::Compute.instance_groups_available?}.
1450
+ #
720
1451
  # ## About InstanceGroups
721
1452
  #
722
1453
  # The InstanceGroups API.
@@ -736,6 +1467,34 @@ module Google
736
1467
  service_module.const_get(:Rest).const_get(:Client).new(&block)
737
1468
  end
738
1469
 
1470
+ ##
1471
+ # Determines whether the InstanceGroups service is supported by the current client.
1472
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instance_groups}.
1473
+ # If false, that method will raise an exception. This could happen if the given
1474
+ # API version does not exist or does not support the InstanceGroups service,
1475
+ # or if the versioned client gem needs an update to support the InstanceGroups service.
1476
+ #
1477
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1478
+ # Defaults to `:v1`.
1479
+ # @return [boolean] Whether the service is available.
1480
+ #
1481
+ def self.instance_groups_available? version: :v1
1482
+ require "google/cloud/compute/#{version.to_s.downcase}"
1483
+ package_name = Google::Cloud::Compute
1484
+ .constants
1485
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1486
+ .first
1487
+ return false unless package_name
1488
+ service_module = Google::Cloud::Compute.const_get package_name
1489
+ return false unless service_module.const_defined? :InstanceGroups
1490
+ service_module = service_module.const_get :InstanceGroups
1491
+ return false unless service_module.const_defined? :Rest
1492
+ service_module = service_module.const_get :Rest
1493
+ service_module.const_defined? :Client
1494
+ rescue ::LoadError
1495
+ false
1496
+ end
1497
+
739
1498
  ##
740
1499
  # Create a new client object for InstanceSettingsService.
741
1500
  #
@@ -747,6 +1506,11 @@ module Google
747
1506
  # supported by that API version, and the corresponding gem is available, the
748
1507
  # appropriate versioned client will be returned.
749
1508
  #
1509
+ # Raises an exception if the currently installed versioned client gem for the
1510
+ # given API version does not support the InstanceSettingsService service.
1511
+ # You can determine whether the method will succeed by calling
1512
+ # {Google::Cloud::Compute.instance_settings_service_available?}.
1513
+ #
750
1514
  # ## About InstanceSettingsService
751
1515
  #
752
1516
  # The InstanceSettings API.
@@ -766,6 +1530,34 @@ module Google
766
1530
  service_module.const_get(:Rest).const_get(:Client).new(&block)
767
1531
  end
768
1532
 
1533
+ ##
1534
+ # Determines whether the InstanceSettingsService service is supported by the current client.
1535
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instance_settings_service}.
1536
+ # If false, that method will raise an exception. This could happen if the given
1537
+ # API version does not exist or does not support the InstanceSettingsService service,
1538
+ # or if the versioned client gem needs an update to support the InstanceSettingsService service.
1539
+ #
1540
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1541
+ # Defaults to `:v1`.
1542
+ # @return [boolean] Whether the service is available.
1543
+ #
1544
+ def self.instance_settings_service_available? version: :v1
1545
+ require "google/cloud/compute/#{version.to_s.downcase}"
1546
+ package_name = Google::Cloud::Compute
1547
+ .constants
1548
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1549
+ .first
1550
+ return false unless package_name
1551
+ service_module = Google::Cloud::Compute.const_get package_name
1552
+ return false unless service_module.const_defined? :InstanceSettingsService
1553
+ service_module = service_module.const_get :InstanceSettingsService
1554
+ return false unless service_module.const_defined? :Rest
1555
+ service_module = service_module.const_get :Rest
1556
+ service_module.const_defined? :Client
1557
+ rescue ::LoadError
1558
+ false
1559
+ end
1560
+
769
1561
  ##
770
1562
  # Create a new client object for InstanceTemplates.
771
1563
  #
@@ -777,6 +1569,11 @@ module Google
777
1569
  # supported by that API version, and the corresponding gem is available, the
778
1570
  # appropriate versioned client will be returned.
779
1571
  #
1572
+ # Raises an exception if the currently installed versioned client gem for the
1573
+ # given API version does not support the InstanceTemplates service.
1574
+ # You can determine whether the method will succeed by calling
1575
+ # {Google::Cloud::Compute.instance_templates_available?}.
1576
+ #
780
1577
  # ## About InstanceTemplates
781
1578
  #
782
1579
  # The InstanceTemplates API.
@@ -796,6 +1593,34 @@ module Google
796
1593
  service_module.const_get(:Rest).const_get(:Client).new(&block)
797
1594
  end
798
1595
 
1596
+ ##
1597
+ # Determines whether the InstanceTemplates service is supported by the current client.
1598
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instance_templates}.
1599
+ # If false, that method will raise an exception. This could happen if the given
1600
+ # API version does not exist or does not support the InstanceTemplates service,
1601
+ # or if the versioned client gem needs an update to support the InstanceTemplates service.
1602
+ #
1603
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1604
+ # Defaults to `:v1`.
1605
+ # @return [boolean] Whether the service is available.
1606
+ #
1607
+ def self.instance_templates_available? version: :v1
1608
+ require "google/cloud/compute/#{version.to_s.downcase}"
1609
+ package_name = Google::Cloud::Compute
1610
+ .constants
1611
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1612
+ .first
1613
+ return false unless package_name
1614
+ service_module = Google::Cloud::Compute.const_get package_name
1615
+ return false unless service_module.const_defined? :InstanceTemplates
1616
+ service_module = service_module.const_get :InstanceTemplates
1617
+ return false unless service_module.const_defined? :Rest
1618
+ service_module = service_module.const_get :Rest
1619
+ service_module.const_defined? :Client
1620
+ rescue ::LoadError
1621
+ false
1622
+ end
1623
+
799
1624
  ##
800
1625
  # Create a new client object for Instances.
801
1626
  #
@@ -807,6 +1632,11 @@ module Google
807
1632
  # supported by that API version, and the corresponding gem is available, the
808
1633
  # appropriate versioned client will be returned.
809
1634
  #
1635
+ # Raises an exception if the currently installed versioned client gem for the
1636
+ # given API version does not support the Instances service.
1637
+ # You can determine whether the method will succeed by calling
1638
+ # {Google::Cloud::Compute.instances_available?}.
1639
+ #
810
1640
  # ## About Instances
811
1641
  #
812
1642
  # The Instances API.
@@ -826,6 +1656,34 @@ module Google
826
1656
  service_module.const_get(:Rest).const_get(:Client).new(&block)
827
1657
  end
828
1658
 
1659
+ ##
1660
+ # Determines whether the Instances service is supported by the current client.
1661
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instances}.
1662
+ # If false, that method will raise an exception. This could happen if the given
1663
+ # API version does not exist or does not support the Instances service,
1664
+ # or if the versioned client gem needs an update to support the Instances service.
1665
+ #
1666
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1667
+ # Defaults to `:v1`.
1668
+ # @return [boolean] Whether the service is available.
1669
+ #
1670
+ def self.instances_available? version: :v1
1671
+ require "google/cloud/compute/#{version.to_s.downcase}"
1672
+ package_name = Google::Cloud::Compute
1673
+ .constants
1674
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1675
+ .first
1676
+ return false unless package_name
1677
+ service_module = Google::Cloud::Compute.const_get package_name
1678
+ return false unless service_module.const_defined? :Instances
1679
+ service_module = service_module.const_get :Instances
1680
+ return false unless service_module.const_defined? :Rest
1681
+ service_module = service_module.const_get :Rest
1682
+ service_module.const_defined? :Client
1683
+ rescue ::LoadError
1684
+ false
1685
+ end
1686
+
829
1687
  ##
830
1688
  # Create a new client object for InstantSnapshots.
831
1689
  #
@@ -837,6 +1695,11 @@ module Google
837
1695
  # supported by that API version, and the corresponding gem is available, the
838
1696
  # appropriate versioned client will be returned.
839
1697
  #
1698
+ # Raises an exception if the currently installed versioned client gem for the
1699
+ # given API version does not support the InstantSnapshots service.
1700
+ # You can determine whether the method will succeed by calling
1701
+ # {Google::Cloud::Compute.instant_snapshots_available?}.
1702
+ #
840
1703
  # ## About InstantSnapshots
841
1704
  #
842
1705
  # The InstantSnapshots API.
@@ -856,6 +1719,34 @@ module Google
856
1719
  service_module.const_get(:Rest).const_get(:Client).new(&block)
857
1720
  end
858
1721
 
1722
+ ##
1723
+ # Determines whether the InstantSnapshots service is supported by the current client.
1724
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.instant_snapshots}.
1725
+ # If false, that method will raise an exception. This could happen if the given
1726
+ # API version does not exist or does not support the InstantSnapshots service,
1727
+ # or if the versioned client gem needs an update to support the InstantSnapshots service.
1728
+ #
1729
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1730
+ # Defaults to `:v1`.
1731
+ # @return [boolean] Whether the service is available.
1732
+ #
1733
+ def self.instant_snapshots_available? version: :v1
1734
+ require "google/cloud/compute/#{version.to_s.downcase}"
1735
+ package_name = Google::Cloud::Compute
1736
+ .constants
1737
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1738
+ .first
1739
+ return false unless package_name
1740
+ service_module = Google::Cloud::Compute.const_get package_name
1741
+ return false unless service_module.const_defined? :InstantSnapshots
1742
+ service_module = service_module.const_get :InstantSnapshots
1743
+ return false unless service_module.const_defined? :Rest
1744
+ service_module = service_module.const_get :Rest
1745
+ service_module.const_defined? :Client
1746
+ rescue ::LoadError
1747
+ false
1748
+ end
1749
+
859
1750
  ##
860
1751
  # Create a new client object for InterconnectAttachments.
861
1752
  #
@@ -867,6 +1758,11 @@ module Google
867
1758
  # supported by that API version, and the corresponding gem is available, the
868
1759
  # appropriate versioned client will be returned.
869
1760
  #
1761
+ # Raises an exception if the currently installed versioned client gem for the
1762
+ # given API version does not support the InterconnectAttachments service.
1763
+ # You can determine whether the method will succeed by calling
1764
+ # {Google::Cloud::Compute.interconnect_attachments_available?}.
1765
+ #
870
1766
  # ## About InterconnectAttachments
871
1767
  #
872
1768
  # The InterconnectAttachments API.
@@ -886,6 +1782,34 @@ module Google
886
1782
  service_module.const_get(:Rest).const_get(:Client).new(&block)
887
1783
  end
888
1784
 
1785
+ ##
1786
+ # Determines whether the InterconnectAttachments service is supported by the current client.
1787
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.interconnect_attachments}.
1788
+ # If false, that method will raise an exception. This could happen if the given
1789
+ # API version does not exist or does not support the InterconnectAttachments service,
1790
+ # or if the versioned client gem needs an update to support the InterconnectAttachments service.
1791
+ #
1792
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1793
+ # Defaults to `:v1`.
1794
+ # @return [boolean] Whether the service is available.
1795
+ #
1796
+ def self.interconnect_attachments_available? version: :v1
1797
+ require "google/cloud/compute/#{version.to_s.downcase}"
1798
+ package_name = Google::Cloud::Compute
1799
+ .constants
1800
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1801
+ .first
1802
+ return false unless package_name
1803
+ service_module = Google::Cloud::Compute.const_get package_name
1804
+ return false unless service_module.const_defined? :InterconnectAttachments
1805
+ service_module = service_module.const_get :InterconnectAttachments
1806
+ return false unless service_module.const_defined? :Rest
1807
+ service_module = service_module.const_get :Rest
1808
+ service_module.const_defined? :Client
1809
+ rescue ::LoadError
1810
+ false
1811
+ end
1812
+
889
1813
  ##
890
1814
  # Create a new client object for InterconnectLocations.
891
1815
  #
@@ -897,6 +1821,11 @@ module Google
897
1821
  # supported by that API version, and the corresponding gem is available, the
898
1822
  # appropriate versioned client will be returned.
899
1823
  #
1824
+ # Raises an exception if the currently installed versioned client gem for the
1825
+ # given API version does not support the InterconnectLocations service.
1826
+ # You can determine whether the method will succeed by calling
1827
+ # {Google::Cloud::Compute.interconnect_locations_available?}.
1828
+ #
900
1829
  # ## About InterconnectLocations
901
1830
  #
902
1831
  # The InterconnectLocations API.
@@ -916,6 +1845,34 @@ module Google
916
1845
  service_module.const_get(:Rest).const_get(:Client).new(&block)
917
1846
  end
918
1847
 
1848
+ ##
1849
+ # Determines whether the InterconnectLocations service is supported by the current client.
1850
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.interconnect_locations}.
1851
+ # If false, that method will raise an exception. This could happen if the given
1852
+ # API version does not exist or does not support the InterconnectLocations service,
1853
+ # or if the versioned client gem needs an update to support the InterconnectLocations service.
1854
+ #
1855
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1856
+ # Defaults to `:v1`.
1857
+ # @return [boolean] Whether the service is available.
1858
+ #
1859
+ def self.interconnect_locations_available? version: :v1
1860
+ require "google/cloud/compute/#{version.to_s.downcase}"
1861
+ package_name = Google::Cloud::Compute
1862
+ .constants
1863
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1864
+ .first
1865
+ return false unless package_name
1866
+ service_module = Google::Cloud::Compute.const_get package_name
1867
+ return false unless service_module.const_defined? :InterconnectLocations
1868
+ service_module = service_module.const_get :InterconnectLocations
1869
+ return false unless service_module.const_defined? :Rest
1870
+ service_module = service_module.const_get :Rest
1871
+ service_module.const_defined? :Client
1872
+ rescue ::LoadError
1873
+ false
1874
+ end
1875
+
919
1876
  ##
920
1877
  # Create a new client object for InterconnectRemoteLocations.
921
1878
  #
@@ -927,6 +1884,11 @@ module Google
927
1884
  # supported by that API version, and the corresponding gem is available, the
928
1885
  # appropriate versioned client will be returned.
929
1886
  #
1887
+ # Raises an exception if the currently installed versioned client gem for the
1888
+ # given API version does not support the InterconnectRemoteLocations service.
1889
+ # You can determine whether the method will succeed by calling
1890
+ # {Google::Cloud::Compute.interconnect_remote_locations_available?}.
1891
+ #
930
1892
  # ## About InterconnectRemoteLocations
931
1893
  #
932
1894
  # The InterconnectRemoteLocations API.
@@ -946,6 +1908,34 @@ module Google
946
1908
  service_module.const_get(:Rest).const_get(:Client).new(&block)
947
1909
  end
948
1910
 
1911
+ ##
1912
+ # Determines whether the InterconnectRemoteLocations service is supported by the current client.
1913
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.interconnect_remote_locations}.
1914
+ # If false, that method will raise an exception. This could happen if the given
1915
+ # API version does not exist or does not support the InterconnectRemoteLocations service,
1916
+ # or if the versioned client gem needs an update to support the InterconnectRemoteLocations service.
1917
+ #
1918
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1919
+ # Defaults to `:v1`.
1920
+ # @return [boolean] Whether the service is available.
1921
+ #
1922
+ def self.interconnect_remote_locations_available? version: :v1
1923
+ require "google/cloud/compute/#{version.to_s.downcase}"
1924
+ package_name = Google::Cloud::Compute
1925
+ .constants
1926
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1927
+ .first
1928
+ return false unless package_name
1929
+ service_module = Google::Cloud::Compute.const_get package_name
1930
+ return false unless service_module.const_defined? :InterconnectRemoteLocations
1931
+ service_module = service_module.const_get :InterconnectRemoteLocations
1932
+ return false unless service_module.const_defined? :Rest
1933
+ service_module = service_module.const_get :Rest
1934
+ service_module.const_defined? :Client
1935
+ rescue ::LoadError
1936
+ false
1937
+ end
1938
+
949
1939
  ##
950
1940
  # Create a new client object for Interconnects.
951
1941
  #
@@ -957,6 +1947,11 @@ module Google
957
1947
  # supported by that API version, and the corresponding gem is available, the
958
1948
  # appropriate versioned client will be returned.
959
1949
  #
1950
+ # Raises an exception if the currently installed versioned client gem for the
1951
+ # given API version does not support the Interconnects service.
1952
+ # You can determine whether the method will succeed by calling
1953
+ # {Google::Cloud::Compute.interconnects_available?}.
1954
+ #
960
1955
  # ## About Interconnects
961
1956
  #
962
1957
  # The Interconnects API.
@@ -976,6 +1971,34 @@ module Google
976
1971
  service_module.const_get(:Rest).const_get(:Client).new(&block)
977
1972
  end
978
1973
 
1974
+ ##
1975
+ # Determines whether the Interconnects service is supported by the current client.
1976
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.interconnects}.
1977
+ # If false, that method will raise an exception. This could happen if the given
1978
+ # API version does not exist or does not support the Interconnects service,
1979
+ # or if the versioned client gem needs an update to support the Interconnects service.
1980
+ #
1981
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
1982
+ # Defaults to `:v1`.
1983
+ # @return [boolean] Whether the service is available.
1984
+ #
1985
+ def self.interconnects_available? version: :v1
1986
+ require "google/cloud/compute/#{version.to_s.downcase}"
1987
+ package_name = Google::Cloud::Compute
1988
+ .constants
1989
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1990
+ .first
1991
+ return false unless package_name
1992
+ service_module = Google::Cloud::Compute.const_get package_name
1993
+ return false unless service_module.const_defined? :Interconnects
1994
+ service_module = service_module.const_get :Interconnects
1995
+ return false unless service_module.const_defined? :Rest
1996
+ service_module = service_module.const_get :Rest
1997
+ service_module.const_defined? :Client
1998
+ rescue ::LoadError
1999
+ false
2000
+ end
2001
+
979
2002
  ##
980
2003
  # Create a new client object for LicenseCodes.
981
2004
  #
@@ -987,6 +2010,11 @@ module Google
987
2010
  # supported by that API version, and the corresponding gem is available, the
988
2011
  # appropriate versioned client will be returned.
989
2012
  #
2013
+ # Raises an exception if the currently installed versioned client gem for the
2014
+ # given API version does not support the LicenseCodes service.
2015
+ # You can determine whether the method will succeed by calling
2016
+ # {Google::Cloud::Compute.license_codes_available?}.
2017
+ #
990
2018
  # ## About LicenseCodes
991
2019
  #
992
2020
  # The LicenseCodes API.
@@ -1006,6 +2034,34 @@ module Google
1006
2034
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1007
2035
  end
1008
2036
 
2037
+ ##
2038
+ # Determines whether the LicenseCodes service is supported by the current client.
2039
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.license_codes}.
2040
+ # If false, that method will raise an exception. This could happen if the given
2041
+ # API version does not exist or does not support the LicenseCodes service,
2042
+ # or if the versioned client gem needs an update to support the LicenseCodes service.
2043
+ #
2044
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2045
+ # Defaults to `:v1`.
2046
+ # @return [boolean] Whether the service is available.
2047
+ #
2048
+ def self.license_codes_available? version: :v1
2049
+ require "google/cloud/compute/#{version.to_s.downcase}"
2050
+ package_name = Google::Cloud::Compute
2051
+ .constants
2052
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2053
+ .first
2054
+ return false unless package_name
2055
+ service_module = Google::Cloud::Compute.const_get package_name
2056
+ return false unless service_module.const_defined? :LicenseCodes
2057
+ service_module = service_module.const_get :LicenseCodes
2058
+ return false unless service_module.const_defined? :Rest
2059
+ service_module = service_module.const_get :Rest
2060
+ service_module.const_defined? :Client
2061
+ rescue ::LoadError
2062
+ false
2063
+ end
2064
+
1009
2065
  ##
1010
2066
  # Create a new client object for Licenses.
1011
2067
  #
@@ -1017,6 +2073,11 @@ module Google
1017
2073
  # supported by that API version, and the corresponding gem is available, the
1018
2074
  # appropriate versioned client will be returned.
1019
2075
  #
2076
+ # Raises an exception if the currently installed versioned client gem for the
2077
+ # given API version does not support the Licenses service.
2078
+ # You can determine whether the method will succeed by calling
2079
+ # {Google::Cloud::Compute.licenses_available?}.
2080
+ #
1020
2081
  # ## About Licenses
1021
2082
  #
1022
2083
  # The Licenses API.
@@ -1036,6 +2097,34 @@ module Google
1036
2097
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1037
2098
  end
1038
2099
 
2100
+ ##
2101
+ # Determines whether the Licenses service is supported by the current client.
2102
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.licenses}.
2103
+ # If false, that method will raise an exception. This could happen if the given
2104
+ # API version does not exist or does not support the Licenses service,
2105
+ # or if the versioned client gem needs an update to support the Licenses service.
2106
+ #
2107
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2108
+ # Defaults to `:v1`.
2109
+ # @return [boolean] Whether the service is available.
2110
+ #
2111
+ def self.licenses_available? version: :v1
2112
+ require "google/cloud/compute/#{version.to_s.downcase}"
2113
+ package_name = Google::Cloud::Compute
2114
+ .constants
2115
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2116
+ .first
2117
+ return false unless package_name
2118
+ service_module = Google::Cloud::Compute.const_get package_name
2119
+ return false unless service_module.const_defined? :Licenses
2120
+ service_module = service_module.const_get :Licenses
2121
+ return false unless service_module.const_defined? :Rest
2122
+ service_module = service_module.const_get :Rest
2123
+ service_module.const_defined? :Client
2124
+ rescue ::LoadError
2125
+ false
2126
+ end
2127
+
1039
2128
  ##
1040
2129
  # Create a new client object for MachineImages.
1041
2130
  #
@@ -1047,6 +2136,11 @@ module Google
1047
2136
  # supported by that API version, and the corresponding gem is available, the
1048
2137
  # appropriate versioned client will be returned.
1049
2138
  #
2139
+ # Raises an exception if the currently installed versioned client gem for the
2140
+ # given API version does not support the MachineImages service.
2141
+ # You can determine whether the method will succeed by calling
2142
+ # {Google::Cloud::Compute.machine_images_available?}.
2143
+ #
1050
2144
  # ## About MachineImages
1051
2145
  #
1052
2146
  # The MachineImages API.
@@ -1066,6 +2160,34 @@ module Google
1066
2160
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1067
2161
  end
1068
2162
 
2163
+ ##
2164
+ # Determines whether the MachineImages service is supported by the current client.
2165
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.machine_images}.
2166
+ # If false, that method will raise an exception. This could happen if the given
2167
+ # API version does not exist or does not support the MachineImages service,
2168
+ # or if the versioned client gem needs an update to support the MachineImages service.
2169
+ #
2170
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2171
+ # Defaults to `:v1`.
2172
+ # @return [boolean] Whether the service is available.
2173
+ #
2174
+ def self.machine_images_available? version: :v1
2175
+ require "google/cloud/compute/#{version.to_s.downcase}"
2176
+ package_name = Google::Cloud::Compute
2177
+ .constants
2178
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2179
+ .first
2180
+ return false unless package_name
2181
+ service_module = Google::Cloud::Compute.const_get package_name
2182
+ return false unless service_module.const_defined? :MachineImages
2183
+ service_module = service_module.const_get :MachineImages
2184
+ return false unless service_module.const_defined? :Rest
2185
+ service_module = service_module.const_get :Rest
2186
+ service_module.const_defined? :Client
2187
+ rescue ::LoadError
2188
+ false
2189
+ end
2190
+
1069
2191
  ##
1070
2192
  # Create a new client object for MachineTypes.
1071
2193
  #
@@ -1077,6 +2199,11 @@ module Google
1077
2199
  # supported by that API version, and the corresponding gem is available, the
1078
2200
  # appropriate versioned client will be returned.
1079
2201
  #
2202
+ # Raises an exception if the currently installed versioned client gem for the
2203
+ # given API version does not support the MachineTypes service.
2204
+ # You can determine whether the method will succeed by calling
2205
+ # {Google::Cloud::Compute.machine_types_available?}.
2206
+ #
1080
2207
  # ## About MachineTypes
1081
2208
  #
1082
2209
  # The MachineTypes API.
@@ -1096,6 +2223,34 @@ module Google
1096
2223
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1097
2224
  end
1098
2225
 
2226
+ ##
2227
+ # Determines whether the MachineTypes service is supported by the current client.
2228
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.machine_types}.
2229
+ # If false, that method will raise an exception. This could happen if the given
2230
+ # API version does not exist or does not support the MachineTypes service,
2231
+ # or if the versioned client gem needs an update to support the MachineTypes service.
2232
+ #
2233
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2234
+ # Defaults to `:v1`.
2235
+ # @return [boolean] Whether the service is available.
2236
+ #
2237
+ def self.machine_types_available? version: :v1
2238
+ require "google/cloud/compute/#{version.to_s.downcase}"
2239
+ package_name = Google::Cloud::Compute
2240
+ .constants
2241
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2242
+ .first
2243
+ return false unless package_name
2244
+ service_module = Google::Cloud::Compute.const_get package_name
2245
+ return false unless service_module.const_defined? :MachineTypes
2246
+ service_module = service_module.const_get :MachineTypes
2247
+ return false unless service_module.const_defined? :Rest
2248
+ service_module = service_module.const_get :Rest
2249
+ service_module.const_defined? :Client
2250
+ rescue ::LoadError
2251
+ false
2252
+ end
2253
+
1099
2254
  ##
1100
2255
  # Create a new client object for NetworkAttachments.
1101
2256
  #
@@ -1107,6 +2262,11 @@ module Google
1107
2262
  # supported by that API version, and the corresponding gem is available, the
1108
2263
  # appropriate versioned client will be returned.
1109
2264
  #
2265
+ # Raises an exception if the currently installed versioned client gem for the
2266
+ # given API version does not support the NetworkAttachments service.
2267
+ # You can determine whether the method will succeed by calling
2268
+ # {Google::Cloud::Compute.network_attachments_available?}.
2269
+ #
1110
2270
  # ## About NetworkAttachments
1111
2271
  #
1112
2272
  # The NetworkAttachments API.
@@ -1126,6 +2286,34 @@ module Google
1126
2286
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1127
2287
  end
1128
2288
 
2289
+ ##
2290
+ # Determines whether the NetworkAttachments service is supported by the current client.
2291
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.network_attachments}.
2292
+ # If false, that method will raise an exception. This could happen if the given
2293
+ # API version does not exist or does not support the NetworkAttachments service,
2294
+ # or if the versioned client gem needs an update to support the NetworkAttachments service.
2295
+ #
2296
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2297
+ # Defaults to `:v1`.
2298
+ # @return [boolean] Whether the service is available.
2299
+ #
2300
+ def self.network_attachments_available? version: :v1
2301
+ require "google/cloud/compute/#{version.to_s.downcase}"
2302
+ package_name = Google::Cloud::Compute
2303
+ .constants
2304
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2305
+ .first
2306
+ return false unless package_name
2307
+ service_module = Google::Cloud::Compute.const_get package_name
2308
+ return false unless service_module.const_defined? :NetworkAttachments
2309
+ service_module = service_module.const_get :NetworkAttachments
2310
+ return false unless service_module.const_defined? :Rest
2311
+ service_module = service_module.const_get :Rest
2312
+ service_module.const_defined? :Client
2313
+ rescue ::LoadError
2314
+ false
2315
+ end
2316
+
1129
2317
  ##
1130
2318
  # Create a new client object for NetworkEdgeSecurityServices.
1131
2319
  #
@@ -1137,6 +2325,11 @@ module Google
1137
2325
  # supported by that API version, and the corresponding gem is available, the
1138
2326
  # appropriate versioned client will be returned.
1139
2327
  #
2328
+ # Raises an exception if the currently installed versioned client gem for the
2329
+ # given API version does not support the NetworkEdgeSecurityServices service.
2330
+ # You can determine whether the method will succeed by calling
2331
+ # {Google::Cloud::Compute.network_edge_security_services_available?}.
2332
+ #
1140
2333
  # ## About NetworkEdgeSecurityServices
1141
2334
  #
1142
2335
  # The NetworkEdgeSecurityServices API.
@@ -1156,6 +2349,34 @@ module Google
1156
2349
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1157
2350
  end
1158
2351
 
2352
+ ##
2353
+ # Determines whether the NetworkEdgeSecurityServices service is supported by the current client.
2354
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.network_edge_security_services}.
2355
+ # If false, that method will raise an exception. This could happen if the given
2356
+ # API version does not exist or does not support the NetworkEdgeSecurityServices service,
2357
+ # or if the versioned client gem needs an update to support the NetworkEdgeSecurityServices service.
2358
+ #
2359
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2360
+ # Defaults to `:v1`.
2361
+ # @return [boolean] Whether the service is available.
2362
+ #
2363
+ def self.network_edge_security_services_available? version: :v1
2364
+ require "google/cloud/compute/#{version.to_s.downcase}"
2365
+ package_name = Google::Cloud::Compute
2366
+ .constants
2367
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2368
+ .first
2369
+ return false unless package_name
2370
+ service_module = Google::Cloud::Compute.const_get package_name
2371
+ return false unless service_module.const_defined? :NetworkEdgeSecurityServices
2372
+ service_module = service_module.const_get :NetworkEdgeSecurityServices
2373
+ return false unless service_module.const_defined? :Rest
2374
+ service_module = service_module.const_get :Rest
2375
+ service_module.const_defined? :Client
2376
+ rescue ::LoadError
2377
+ false
2378
+ end
2379
+
1159
2380
  ##
1160
2381
  # Create a new client object for NetworkEndpointGroups.
1161
2382
  #
@@ -1167,6 +2388,11 @@ module Google
1167
2388
  # supported by that API version, and the corresponding gem is available, the
1168
2389
  # appropriate versioned client will be returned.
1169
2390
  #
2391
+ # Raises an exception if the currently installed versioned client gem for the
2392
+ # given API version does not support the NetworkEndpointGroups service.
2393
+ # You can determine whether the method will succeed by calling
2394
+ # {Google::Cloud::Compute.network_endpoint_groups_available?}.
2395
+ #
1170
2396
  # ## About NetworkEndpointGroups
1171
2397
  #
1172
2398
  # The NetworkEndpointGroups API.
@@ -1186,6 +2412,34 @@ module Google
1186
2412
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1187
2413
  end
1188
2414
 
2415
+ ##
2416
+ # Determines whether the NetworkEndpointGroups service is supported by the current client.
2417
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.network_endpoint_groups}.
2418
+ # If false, that method will raise an exception. This could happen if the given
2419
+ # API version does not exist or does not support the NetworkEndpointGroups service,
2420
+ # or if the versioned client gem needs an update to support the NetworkEndpointGroups service.
2421
+ #
2422
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2423
+ # Defaults to `:v1`.
2424
+ # @return [boolean] Whether the service is available.
2425
+ #
2426
+ def self.network_endpoint_groups_available? version: :v1
2427
+ require "google/cloud/compute/#{version.to_s.downcase}"
2428
+ package_name = Google::Cloud::Compute
2429
+ .constants
2430
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2431
+ .first
2432
+ return false unless package_name
2433
+ service_module = Google::Cloud::Compute.const_get package_name
2434
+ return false unless service_module.const_defined? :NetworkEndpointGroups
2435
+ service_module = service_module.const_get :NetworkEndpointGroups
2436
+ return false unless service_module.const_defined? :Rest
2437
+ service_module = service_module.const_get :Rest
2438
+ service_module.const_defined? :Client
2439
+ rescue ::LoadError
2440
+ false
2441
+ end
2442
+
1189
2443
  ##
1190
2444
  # Create a new client object for NetworkFirewallPolicies.
1191
2445
  #
@@ -1197,6 +2451,11 @@ module Google
1197
2451
  # supported by that API version, and the corresponding gem is available, the
1198
2452
  # appropriate versioned client will be returned.
1199
2453
  #
2454
+ # Raises an exception if the currently installed versioned client gem for the
2455
+ # given API version does not support the NetworkFirewallPolicies service.
2456
+ # You can determine whether the method will succeed by calling
2457
+ # {Google::Cloud::Compute.network_firewall_policies_available?}.
2458
+ #
1200
2459
  # ## About NetworkFirewallPolicies
1201
2460
  #
1202
2461
  # The NetworkFirewallPolicies API.
@@ -1217,7 +2476,35 @@ module Google
1217
2476
  end
1218
2477
 
1219
2478
  ##
1220
- # Create a new client object for NetworkProfiles.
2479
+ # Determines whether the NetworkFirewallPolicies service is supported by the current client.
2480
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.network_firewall_policies}.
2481
+ # If false, that method will raise an exception. This could happen if the given
2482
+ # API version does not exist or does not support the NetworkFirewallPolicies service,
2483
+ # or if the versioned client gem needs an update to support the NetworkFirewallPolicies service.
2484
+ #
2485
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2486
+ # Defaults to `:v1`.
2487
+ # @return [boolean] Whether the service is available.
2488
+ #
2489
+ def self.network_firewall_policies_available? version: :v1
2490
+ require "google/cloud/compute/#{version.to_s.downcase}"
2491
+ package_name = Google::Cloud::Compute
2492
+ .constants
2493
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2494
+ .first
2495
+ return false unless package_name
2496
+ service_module = Google::Cloud::Compute.const_get package_name
2497
+ return false unless service_module.const_defined? :NetworkFirewallPolicies
2498
+ service_module = service_module.const_get :NetworkFirewallPolicies
2499
+ return false unless service_module.const_defined? :Rest
2500
+ service_module = service_module.const_get :Rest
2501
+ service_module.const_defined? :Client
2502
+ rescue ::LoadError
2503
+ false
2504
+ end
2505
+
2506
+ ##
2507
+ # Create a new client object for NetworkProfiles.
1221
2508
  #
1222
2509
  # By default, this returns an instance of
1223
2510
  # [Google::Cloud::Compute::V1::NetworkProfiles::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-NetworkProfiles-Rest-Client)
@@ -1227,6 +2514,11 @@ module Google
1227
2514
  # supported by that API version, and the corresponding gem is available, the
1228
2515
  # appropriate versioned client will be returned.
1229
2516
  #
2517
+ # Raises an exception if the currently installed versioned client gem for the
2518
+ # given API version does not support the NetworkProfiles service.
2519
+ # You can determine whether the method will succeed by calling
2520
+ # {Google::Cloud::Compute.network_profiles_available?}.
2521
+ #
1230
2522
  # ## About NetworkProfiles
1231
2523
  #
1232
2524
  # The NetworkProfiles API.
@@ -1246,6 +2538,34 @@ module Google
1246
2538
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1247
2539
  end
1248
2540
 
2541
+ ##
2542
+ # Determines whether the NetworkProfiles service is supported by the current client.
2543
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.network_profiles}.
2544
+ # If false, that method will raise an exception. This could happen if the given
2545
+ # API version does not exist or does not support the NetworkProfiles service,
2546
+ # or if the versioned client gem needs an update to support the NetworkProfiles service.
2547
+ #
2548
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2549
+ # Defaults to `:v1`.
2550
+ # @return [boolean] Whether the service is available.
2551
+ #
2552
+ def self.network_profiles_available? version: :v1
2553
+ require "google/cloud/compute/#{version.to_s.downcase}"
2554
+ package_name = Google::Cloud::Compute
2555
+ .constants
2556
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2557
+ .first
2558
+ return false unless package_name
2559
+ service_module = Google::Cloud::Compute.const_get package_name
2560
+ return false unless service_module.const_defined? :NetworkProfiles
2561
+ service_module = service_module.const_get :NetworkProfiles
2562
+ return false unless service_module.const_defined? :Rest
2563
+ service_module = service_module.const_get :Rest
2564
+ service_module.const_defined? :Client
2565
+ rescue ::LoadError
2566
+ false
2567
+ end
2568
+
1249
2569
  ##
1250
2570
  # Create a new client object for Networks.
1251
2571
  #
@@ -1257,6 +2577,11 @@ module Google
1257
2577
  # supported by that API version, and the corresponding gem is available, the
1258
2578
  # appropriate versioned client will be returned.
1259
2579
  #
2580
+ # Raises an exception if the currently installed versioned client gem for the
2581
+ # given API version does not support the Networks service.
2582
+ # You can determine whether the method will succeed by calling
2583
+ # {Google::Cloud::Compute.networks_available?}.
2584
+ #
1260
2585
  # ## About Networks
1261
2586
  #
1262
2587
  # The Networks API.
@@ -1276,6 +2601,34 @@ module Google
1276
2601
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1277
2602
  end
1278
2603
 
2604
+ ##
2605
+ # Determines whether the Networks service is supported by the current client.
2606
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.networks}.
2607
+ # If false, that method will raise an exception. This could happen if the given
2608
+ # API version does not exist or does not support the Networks service,
2609
+ # or if the versioned client gem needs an update to support the Networks service.
2610
+ #
2611
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2612
+ # Defaults to `:v1`.
2613
+ # @return [boolean] Whether the service is available.
2614
+ #
2615
+ def self.networks_available? version: :v1
2616
+ require "google/cloud/compute/#{version.to_s.downcase}"
2617
+ package_name = Google::Cloud::Compute
2618
+ .constants
2619
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2620
+ .first
2621
+ return false unless package_name
2622
+ service_module = Google::Cloud::Compute.const_get package_name
2623
+ return false unless service_module.const_defined? :Networks
2624
+ service_module = service_module.const_get :Networks
2625
+ return false unless service_module.const_defined? :Rest
2626
+ service_module = service_module.const_get :Rest
2627
+ service_module.const_defined? :Client
2628
+ rescue ::LoadError
2629
+ false
2630
+ end
2631
+
1279
2632
  ##
1280
2633
  # Create a new client object for NodeGroups.
1281
2634
  #
@@ -1287,6 +2640,11 @@ module Google
1287
2640
  # supported by that API version, and the corresponding gem is available, the
1288
2641
  # appropriate versioned client will be returned.
1289
2642
  #
2643
+ # Raises an exception if the currently installed versioned client gem for the
2644
+ # given API version does not support the NodeGroups service.
2645
+ # You can determine whether the method will succeed by calling
2646
+ # {Google::Cloud::Compute.node_groups_available?}.
2647
+ #
1290
2648
  # ## About NodeGroups
1291
2649
  #
1292
2650
  # The NodeGroups API.
@@ -1306,6 +2664,34 @@ module Google
1306
2664
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1307
2665
  end
1308
2666
 
2667
+ ##
2668
+ # Determines whether the NodeGroups service is supported by the current client.
2669
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.node_groups}.
2670
+ # If false, that method will raise an exception. This could happen if the given
2671
+ # API version does not exist or does not support the NodeGroups service,
2672
+ # or if the versioned client gem needs an update to support the NodeGroups service.
2673
+ #
2674
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2675
+ # Defaults to `:v1`.
2676
+ # @return [boolean] Whether the service is available.
2677
+ #
2678
+ def self.node_groups_available? version: :v1
2679
+ require "google/cloud/compute/#{version.to_s.downcase}"
2680
+ package_name = Google::Cloud::Compute
2681
+ .constants
2682
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2683
+ .first
2684
+ return false unless package_name
2685
+ service_module = Google::Cloud::Compute.const_get package_name
2686
+ return false unless service_module.const_defined? :NodeGroups
2687
+ service_module = service_module.const_get :NodeGroups
2688
+ return false unless service_module.const_defined? :Rest
2689
+ service_module = service_module.const_get :Rest
2690
+ service_module.const_defined? :Client
2691
+ rescue ::LoadError
2692
+ false
2693
+ end
2694
+
1309
2695
  ##
1310
2696
  # Create a new client object for NodeTemplates.
1311
2697
  #
@@ -1317,6 +2703,11 @@ module Google
1317
2703
  # supported by that API version, and the corresponding gem is available, the
1318
2704
  # appropriate versioned client will be returned.
1319
2705
  #
2706
+ # Raises an exception if the currently installed versioned client gem for the
2707
+ # given API version does not support the NodeTemplates service.
2708
+ # You can determine whether the method will succeed by calling
2709
+ # {Google::Cloud::Compute.node_templates_available?}.
2710
+ #
1320
2711
  # ## About NodeTemplates
1321
2712
  #
1322
2713
  # The NodeTemplates API.
@@ -1336,6 +2727,34 @@ module Google
1336
2727
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1337
2728
  end
1338
2729
 
2730
+ ##
2731
+ # Determines whether the NodeTemplates service is supported by the current client.
2732
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.node_templates}.
2733
+ # If false, that method will raise an exception. This could happen if the given
2734
+ # API version does not exist or does not support the NodeTemplates service,
2735
+ # or if the versioned client gem needs an update to support the NodeTemplates service.
2736
+ #
2737
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2738
+ # Defaults to `:v1`.
2739
+ # @return [boolean] Whether the service is available.
2740
+ #
2741
+ def self.node_templates_available? version: :v1
2742
+ require "google/cloud/compute/#{version.to_s.downcase}"
2743
+ package_name = Google::Cloud::Compute
2744
+ .constants
2745
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2746
+ .first
2747
+ return false unless package_name
2748
+ service_module = Google::Cloud::Compute.const_get package_name
2749
+ return false unless service_module.const_defined? :NodeTemplates
2750
+ service_module = service_module.const_get :NodeTemplates
2751
+ return false unless service_module.const_defined? :Rest
2752
+ service_module = service_module.const_get :Rest
2753
+ service_module.const_defined? :Client
2754
+ rescue ::LoadError
2755
+ false
2756
+ end
2757
+
1339
2758
  ##
1340
2759
  # Create a new client object for NodeTypes.
1341
2760
  #
@@ -1347,6 +2766,11 @@ module Google
1347
2766
  # supported by that API version, and the corresponding gem is available, the
1348
2767
  # appropriate versioned client will be returned.
1349
2768
  #
2769
+ # Raises an exception if the currently installed versioned client gem for the
2770
+ # given API version does not support the NodeTypes service.
2771
+ # You can determine whether the method will succeed by calling
2772
+ # {Google::Cloud::Compute.node_types_available?}.
2773
+ #
1350
2774
  # ## About NodeTypes
1351
2775
  #
1352
2776
  # The NodeTypes API.
@@ -1366,6 +2790,34 @@ module Google
1366
2790
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1367
2791
  end
1368
2792
 
2793
+ ##
2794
+ # Determines whether the NodeTypes service is supported by the current client.
2795
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.node_types}.
2796
+ # If false, that method will raise an exception. This could happen if the given
2797
+ # API version does not exist or does not support the NodeTypes service,
2798
+ # or if the versioned client gem needs an update to support the NodeTypes service.
2799
+ #
2800
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2801
+ # Defaults to `:v1`.
2802
+ # @return [boolean] Whether the service is available.
2803
+ #
2804
+ def self.node_types_available? version: :v1
2805
+ require "google/cloud/compute/#{version.to_s.downcase}"
2806
+ package_name = Google::Cloud::Compute
2807
+ .constants
2808
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2809
+ .first
2810
+ return false unless package_name
2811
+ service_module = Google::Cloud::Compute.const_get package_name
2812
+ return false unless service_module.const_defined? :NodeTypes
2813
+ service_module = service_module.const_get :NodeTypes
2814
+ return false unless service_module.const_defined? :Rest
2815
+ service_module = service_module.const_get :Rest
2816
+ service_module.const_defined? :Client
2817
+ rescue ::LoadError
2818
+ false
2819
+ end
2820
+
1369
2821
  ##
1370
2822
  # Create a new client object for PacketMirrorings.
1371
2823
  #
@@ -1377,6 +2829,11 @@ module Google
1377
2829
  # supported by that API version, and the corresponding gem is available, the
1378
2830
  # appropriate versioned client will be returned.
1379
2831
  #
2832
+ # Raises an exception if the currently installed versioned client gem for the
2833
+ # given API version does not support the PacketMirrorings service.
2834
+ # You can determine whether the method will succeed by calling
2835
+ # {Google::Cloud::Compute.packet_mirrorings_available?}.
2836
+ #
1380
2837
  # ## About PacketMirrorings
1381
2838
  #
1382
2839
  # The PacketMirrorings API.
@@ -1396,6 +2853,34 @@ module Google
1396
2853
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1397
2854
  end
1398
2855
 
2856
+ ##
2857
+ # Determines whether the PacketMirrorings service is supported by the current client.
2858
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.packet_mirrorings}.
2859
+ # If false, that method will raise an exception. This could happen if the given
2860
+ # API version does not exist or does not support the PacketMirrorings service,
2861
+ # or if the versioned client gem needs an update to support the PacketMirrorings service.
2862
+ #
2863
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2864
+ # Defaults to `:v1`.
2865
+ # @return [boolean] Whether the service is available.
2866
+ #
2867
+ def self.packet_mirrorings_available? version: :v1
2868
+ require "google/cloud/compute/#{version.to_s.downcase}"
2869
+ package_name = Google::Cloud::Compute
2870
+ .constants
2871
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2872
+ .first
2873
+ return false unless package_name
2874
+ service_module = Google::Cloud::Compute.const_get package_name
2875
+ return false unless service_module.const_defined? :PacketMirrorings
2876
+ service_module = service_module.const_get :PacketMirrorings
2877
+ return false unless service_module.const_defined? :Rest
2878
+ service_module = service_module.const_get :Rest
2879
+ service_module.const_defined? :Client
2880
+ rescue ::LoadError
2881
+ false
2882
+ end
2883
+
1399
2884
  ##
1400
2885
  # Create a new client object for Projects.
1401
2886
  #
@@ -1407,6 +2892,11 @@ module Google
1407
2892
  # supported by that API version, and the corresponding gem is available, the
1408
2893
  # appropriate versioned client will be returned.
1409
2894
  #
2895
+ # Raises an exception if the currently installed versioned client gem for the
2896
+ # given API version does not support the Projects service.
2897
+ # You can determine whether the method will succeed by calling
2898
+ # {Google::Cloud::Compute.projects_available?}.
2899
+ #
1410
2900
  # ## About Projects
1411
2901
  #
1412
2902
  # The Projects API.
@@ -1426,6 +2916,34 @@ module Google
1426
2916
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1427
2917
  end
1428
2918
 
2919
+ ##
2920
+ # Determines whether the Projects service is supported by the current client.
2921
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.projects}.
2922
+ # If false, that method will raise an exception. This could happen if the given
2923
+ # API version does not exist or does not support the Projects service,
2924
+ # or if the versioned client gem needs an update to support the Projects service.
2925
+ #
2926
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2927
+ # Defaults to `:v1`.
2928
+ # @return [boolean] Whether the service is available.
2929
+ #
2930
+ def self.projects_available? version: :v1
2931
+ require "google/cloud/compute/#{version.to_s.downcase}"
2932
+ package_name = Google::Cloud::Compute
2933
+ .constants
2934
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2935
+ .first
2936
+ return false unless package_name
2937
+ service_module = Google::Cloud::Compute.const_get package_name
2938
+ return false unless service_module.const_defined? :Projects
2939
+ service_module = service_module.const_get :Projects
2940
+ return false unless service_module.const_defined? :Rest
2941
+ service_module = service_module.const_get :Rest
2942
+ service_module.const_defined? :Client
2943
+ rescue ::LoadError
2944
+ false
2945
+ end
2946
+
1429
2947
  ##
1430
2948
  # Create a new client object for PublicAdvertisedPrefixes.
1431
2949
  #
@@ -1437,6 +2955,11 @@ module Google
1437
2955
  # supported by that API version, and the corresponding gem is available, the
1438
2956
  # appropriate versioned client will be returned.
1439
2957
  #
2958
+ # Raises an exception if the currently installed versioned client gem for the
2959
+ # given API version does not support the PublicAdvertisedPrefixes service.
2960
+ # You can determine whether the method will succeed by calling
2961
+ # {Google::Cloud::Compute.public_advertised_prefixes_available?}.
2962
+ #
1440
2963
  # ## About PublicAdvertisedPrefixes
1441
2964
  #
1442
2965
  # The PublicAdvertisedPrefixes API.
@@ -1456,6 +2979,34 @@ module Google
1456
2979
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1457
2980
  end
1458
2981
 
2982
+ ##
2983
+ # Determines whether the PublicAdvertisedPrefixes service is supported by the current client.
2984
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.public_advertised_prefixes}.
2985
+ # If false, that method will raise an exception. This could happen if the given
2986
+ # API version does not exist or does not support the PublicAdvertisedPrefixes service,
2987
+ # or if the versioned client gem needs an update to support the PublicAdvertisedPrefixes service.
2988
+ #
2989
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
2990
+ # Defaults to `:v1`.
2991
+ # @return [boolean] Whether the service is available.
2992
+ #
2993
+ def self.public_advertised_prefixes_available? version: :v1
2994
+ require "google/cloud/compute/#{version.to_s.downcase}"
2995
+ package_name = Google::Cloud::Compute
2996
+ .constants
2997
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2998
+ .first
2999
+ return false unless package_name
3000
+ service_module = Google::Cloud::Compute.const_get package_name
3001
+ return false unless service_module.const_defined? :PublicAdvertisedPrefixes
3002
+ service_module = service_module.const_get :PublicAdvertisedPrefixes
3003
+ return false unless service_module.const_defined? :Rest
3004
+ service_module = service_module.const_get :Rest
3005
+ service_module.const_defined? :Client
3006
+ rescue ::LoadError
3007
+ false
3008
+ end
3009
+
1459
3010
  ##
1460
3011
  # Create a new client object for PublicDelegatedPrefixes.
1461
3012
  #
@@ -1467,6 +3018,11 @@ module Google
1467
3018
  # supported by that API version, and the corresponding gem is available, the
1468
3019
  # appropriate versioned client will be returned.
1469
3020
  #
3021
+ # Raises an exception if the currently installed versioned client gem for the
3022
+ # given API version does not support the PublicDelegatedPrefixes service.
3023
+ # You can determine whether the method will succeed by calling
3024
+ # {Google::Cloud::Compute.public_delegated_prefixes_available?}.
3025
+ #
1470
3026
  # ## About PublicDelegatedPrefixes
1471
3027
  #
1472
3028
  # The PublicDelegatedPrefixes API.
@@ -1486,6 +3042,34 @@ module Google
1486
3042
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1487
3043
  end
1488
3044
 
3045
+ ##
3046
+ # Determines whether the PublicDelegatedPrefixes service is supported by the current client.
3047
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.public_delegated_prefixes}.
3048
+ # If false, that method will raise an exception. This could happen if the given
3049
+ # API version does not exist or does not support the PublicDelegatedPrefixes service,
3050
+ # or if the versioned client gem needs an update to support the PublicDelegatedPrefixes service.
3051
+ #
3052
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3053
+ # Defaults to `:v1`.
3054
+ # @return [boolean] Whether the service is available.
3055
+ #
3056
+ def self.public_delegated_prefixes_available? version: :v1
3057
+ require "google/cloud/compute/#{version.to_s.downcase}"
3058
+ package_name = Google::Cloud::Compute
3059
+ .constants
3060
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3061
+ .first
3062
+ return false unless package_name
3063
+ service_module = Google::Cloud::Compute.const_get package_name
3064
+ return false unless service_module.const_defined? :PublicDelegatedPrefixes
3065
+ service_module = service_module.const_get :PublicDelegatedPrefixes
3066
+ return false unless service_module.const_defined? :Rest
3067
+ service_module = service_module.const_get :Rest
3068
+ service_module.const_defined? :Client
3069
+ rescue ::LoadError
3070
+ false
3071
+ end
3072
+
1489
3073
  ##
1490
3074
  # Create a new client object for RegionAutoscalers.
1491
3075
  #
@@ -1497,6 +3081,11 @@ module Google
1497
3081
  # supported by that API version, and the corresponding gem is available, the
1498
3082
  # appropriate versioned client will be returned.
1499
3083
  #
3084
+ # Raises an exception if the currently installed versioned client gem for the
3085
+ # given API version does not support the RegionAutoscalers service.
3086
+ # You can determine whether the method will succeed by calling
3087
+ # {Google::Cloud::Compute.region_autoscalers_available?}.
3088
+ #
1500
3089
  # ## About RegionAutoscalers
1501
3090
  #
1502
3091
  # The RegionAutoscalers API.
@@ -1516,6 +3105,34 @@ module Google
1516
3105
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1517
3106
  end
1518
3107
 
3108
+ ##
3109
+ # Determines whether the RegionAutoscalers service is supported by the current client.
3110
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_autoscalers}.
3111
+ # If false, that method will raise an exception. This could happen if the given
3112
+ # API version does not exist or does not support the RegionAutoscalers service,
3113
+ # or if the versioned client gem needs an update to support the RegionAutoscalers service.
3114
+ #
3115
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3116
+ # Defaults to `:v1`.
3117
+ # @return [boolean] Whether the service is available.
3118
+ #
3119
+ def self.region_autoscalers_available? version: :v1
3120
+ require "google/cloud/compute/#{version.to_s.downcase}"
3121
+ package_name = Google::Cloud::Compute
3122
+ .constants
3123
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3124
+ .first
3125
+ return false unless package_name
3126
+ service_module = Google::Cloud::Compute.const_get package_name
3127
+ return false unless service_module.const_defined? :RegionAutoscalers
3128
+ service_module = service_module.const_get :RegionAutoscalers
3129
+ return false unless service_module.const_defined? :Rest
3130
+ service_module = service_module.const_get :Rest
3131
+ service_module.const_defined? :Client
3132
+ rescue ::LoadError
3133
+ false
3134
+ end
3135
+
1519
3136
  ##
1520
3137
  # Create a new client object for RegionBackendServices.
1521
3138
  #
@@ -1527,6 +3144,11 @@ module Google
1527
3144
  # supported by that API version, and the corresponding gem is available, the
1528
3145
  # appropriate versioned client will be returned.
1529
3146
  #
3147
+ # Raises an exception if the currently installed versioned client gem for the
3148
+ # given API version does not support the RegionBackendServices service.
3149
+ # You can determine whether the method will succeed by calling
3150
+ # {Google::Cloud::Compute.region_backend_services_available?}.
3151
+ #
1530
3152
  # ## About RegionBackendServices
1531
3153
  #
1532
3154
  # The RegionBackendServices API.
@@ -1546,6 +3168,34 @@ module Google
1546
3168
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1547
3169
  end
1548
3170
 
3171
+ ##
3172
+ # Determines whether the RegionBackendServices service is supported by the current client.
3173
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_backend_services}.
3174
+ # If false, that method will raise an exception. This could happen if the given
3175
+ # API version does not exist or does not support the RegionBackendServices service,
3176
+ # or if the versioned client gem needs an update to support the RegionBackendServices service.
3177
+ #
3178
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3179
+ # Defaults to `:v1`.
3180
+ # @return [boolean] Whether the service is available.
3181
+ #
3182
+ def self.region_backend_services_available? version: :v1
3183
+ require "google/cloud/compute/#{version.to_s.downcase}"
3184
+ package_name = Google::Cloud::Compute
3185
+ .constants
3186
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3187
+ .first
3188
+ return false unless package_name
3189
+ service_module = Google::Cloud::Compute.const_get package_name
3190
+ return false unless service_module.const_defined? :RegionBackendServices
3191
+ service_module = service_module.const_get :RegionBackendServices
3192
+ return false unless service_module.const_defined? :Rest
3193
+ service_module = service_module.const_get :Rest
3194
+ service_module.const_defined? :Client
3195
+ rescue ::LoadError
3196
+ false
3197
+ end
3198
+
1549
3199
  ##
1550
3200
  # Create a new client object for RegionCommitments.
1551
3201
  #
@@ -1557,6 +3207,11 @@ module Google
1557
3207
  # supported by that API version, and the corresponding gem is available, the
1558
3208
  # appropriate versioned client will be returned.
1559
3209
  #
3210
+ # Raises an exception if the currently installed versioned client gem for the
3211
+ # given API version does not support the RegionCommitments service.
3212
+ # You can determine whether the method will succeed by calling
3213
+ # {Google::Cloud::Compute.region_commitments_available?}.
3214
+ #
1560
3215
  # ## About RegionCommitments
1561
3216
  #
1562
3217
  # The RegionCommitments API.
@@ -1576,6 +3231,34 @@ module Google
1576
3231
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1577
3232
  end
1578
3233
 
3234
+ ##
3235
+ # Determines whether the RegionCommitments service is supported by the current client.
3236
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_commitments}.
3237
+ # If false, that method will raise an exception. This could happen if the given
3238
+ # API version does not exist or does not support the RegionCommitments service,
3239
+ # or if the versioned client gem needs an update to support the RegionCommitments service.
3240
+ #
3241
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3242
+ # Defaults to `:v1`.
3243
+ # @return [boolean] Whether the service is available.
3244
+ #
3245
+ def self.region_commitments_available? version: :v1
3246
+ require "google/cloud/compute/#{version.to_s.downcase}"
3247
+ package_name = Google::Cloud::Compute
3248
+ .constants
3249
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3250
+ .first
3251
+ return false unless package_name
3252
+ service_module = Google::Cloud::Compute.const_get package_name
3253
+ return false unless service_module.const_defined? :RegionCommitments
3254
+ service_module = service_module.const_get :RegionCommitments
3255
+ return false unless service_module.const_defined? :Rest
3256
+ service_module = service_module.const_get :Rest
3257
+ service_module.const_defined? :Client
3258
+ rescue ::LoadError
3259
+ false
3260
+ end
3261
+
1579
3262
  ##
1580
3263
  # Create a new client object for RegionDiskTypes.
1581
3264
  #
@@ -1587,6 +3270,11 @@ module Google
1587
3270
  # supported by that API version, and the corresponding gem is available, the
1588
3271
  # appropriate versioned client will be returned.
1589
3272
  #
3273
+ # Raises an exception if the currently installed versioned client gem for the
3274
+ # given API version does not support the RegionDiskTypes service.
3275
+ # You can determine whether the method will succeed by calling
3276
+ # {Google::Cloud::Compute.region_disk_types_available?}.
3277
+ #
1590
3278
  # ## About RegionDiskTypes
1591
3279
  #
1592
3280
  # The RegionDiskTypes API.
@@ -1606,6 +3294,34 @@ module Google
1606
3294
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1607
3295
  end
1608
3296
 
3297
+ ##
3298
+ # Determines whether the RegionDiskTypes service is supported by the current client.
3299
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_disk_types}.
3300
+ # If false, that method will raise an exception. This could happen if the given
3301
+ # API version does not exist or does not support the RegionDiskTypes service,
3302
+ # or if the versioned client gem needs an update to support the RegionDiskTypes service.
3303
+ #
3304
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3305
+ # Defaults to `:v1`.
3306
+ # @return [boolean] Whether the service is available.
3307
+ #
3308
+ def self.region_disk_types_available? version: :v1
3309
+ require "google/cloud/compute/#{version.to_s.downcase}"
3310
+ package_name = Google::Cloud::Compute
3311
+ .constants
3312
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3313
+ .first
3314
+ return false unless package_name
3315
+ service_module = Google::Cloud::Compute.const_get package_name
3316
+ return false unless service_module.const_defined? :RegionDiskTypes
3317
+ service_module = service_module.const_get :RegionDiskTypes
3318
+ return false unless service_module.const_defined? :Rest
3319
+ service_module = service_module.const_get :Rest
3320
+ service_module.const_defined? :Client
3321
+ rescue ::LoadError
3322
+ false
3323
+ end
3324
+
1609
3325
  ##
1610
3326
  # Create a new client object for RegionDisks.
1611
3327
  #
@@ -1617,6 +3333,11 @@ module Google
1617
3333
  # supported by that API version, and the corresponding gem is available, the
1618
3334
  # appropriate versioned client will be returned.
1619
3335
  #
3336
+ # Raises an exception if the currently installed versioned client gem for the
3337
+ # given API version does not support the RegionDisks service.
3338
+ # You can determine whether the method will succeed by calling
3339
+ # {Google::Cloud::Compute.region_disks_available?}.
3340
+ #
1620
3341
  # ## About RegionDisks
1621
3342
  #
1622
3343
  # The RegionDisks API.
@@ -1636,6 +3357,34 @@ module Google
1636
3357
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1637
3358
  end
1638
3359
 
3360
+ ##
3361
+ # Determines whether the RegionDisks service is supported by the current client.
3362
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_disks}.
3363
+ # If false, that method will raise an exception. This could happen if the given
3364
+ # API version does not exist or does not support the RegionDisks service,
3365
+ # or if the versioned client gem needs an update to support the RegionDisks service.
3366
+ #
3367
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3368
+ # Defaults to `:v1`.
3369
+ # @return [boolean] Whether the service is available.
3370
+ #
3371
+ def self.region_disks_available? version: :v1
3372
+ require "google/cloud/compute/#{version.to_s.downcase}"
3373
+ package_name = Google::Cloud::Compute
3374
+ .constants
3375
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3376
+ .first
3377
+ return false unless package_name
3378
+ service_module = Google::Cloud::Compute.const_get package_name
3379
+ return false unless service_module.const_defined? :RegionDisks
3380
+ service_module = service_module.const_get :RegionDisks
3381
+ return false unless service_module.const_defined? :Rest
3382
+ service_module = service_module.const_get :Rest
3383
+ service_module.const_defined? :Client
3384
+ rescue ::LoadError
3385
+ false
3386
+ end
3387
+
1639
3388
  ##
1640
3389
  # Create a new client object for RegionHealthCheckServices.
1641
3390
  #
@@ -1647,6 +3396,11 @@ module Google
1647
3396
  # supported by that API version, and the corresponding gem is available, the
1648
3397
  # appropriate versioned client will be returned.
1649
3398
  #
3399
+ # Raises an exception if the currently installed versioned client gem for the
3400
+ # given API version does not support the RegionHealthCheckServices service.
3401
+ # You can determine whether the method will succeed by calling
3402
+ # {Google::Cloud::Compute.region_health_check_services_available?}.
3403
+ #
1650
3404
  # ## About RegionHealthCheckServices
1651
3405
  #
1652
3406
  # The RegionHealthCheckServices API.
@@ -1666,6 +3420,34 @@ module Google
1666
3420
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1667
3421
  end
1668
3422
 
3423
+ ##
3424
+ # Determines whether the RegionHealthCheckServices service is supported by the current client.
3425
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_health_check_services}.
3426
+ # If false, that method will raise an exception. This could happen if the given
3427
+ # API version does not exist or does not support the RegionHealthCheckServices service,
3428
+ # or if the versioned client gem needs an update to support the RegionHealthCheckServices service.
3429
+ #
3430
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3431
+ # Defaults to `:v1`.
3432
+ # @return [boolean] Whether the service is available.
3433
+ #
3434
+ def self.region_health_check_services_available? version: :v1
3435
+ require "google/cloud/compute/#{version.to_s.downcase}"
3436
+ package_name = Google::Cloud::Compute
3437
+ .constants
3438
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3439
+ .first
3440
+ return false unless package_name
3441
+ service_module = Google::Cloud::Compute.const_get package_name
3442
+ return false unless service_module.const_defined? :RegionHealthCheckServices
3443
+ service_module = service_module.const_get :RegionHealthCheckServices
3444
+ return false unless service_module.const_defined? :Rest
3445
+ service_module = service_module.const_get :Rest
3446
+ service_module.const_defined? :Client
3447
+ rescue ::LoadError
3448
+ false
3449
+ end
3450
+
1669
3451
  ##
1670
3452
  # Create a new client object for RegionHealthChecks.
1671
3453
  #
@@ -1677,6 +3459,11 @@ module Google
1677
3459
  # supported by that API version, and the corresponding gem is available, the
1678
3460
  # appropriate versioned client will be returned.
1679
3461
  #
3462
+ # Raises an exception if the currently installed versioned client gem for the
3463
+ # given API version does not support the RegionHealthChecks service.
3464
+ # You can determine whether the method will succeed by calling
3465
+ # {Google::Cloud::Compute.region_health_checks_available?}.
3466
+ #
1680
3467
  # ## About RegionHealthChecks
1681
3468
  #
1682
3469
  # The RegionHealthChecks API.
@@ -1696,6 +3483,34 @@ module Google
1696
3483
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1697
3484
  end
1698
3485
 
3486
+ ##
3487
+ # Determines whether the RegionHealthChecks service is supported by the current client.
3488
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_health_checks}.
3489
+ # If false, that method will raise an exception. This could happen if the given
3490
+ # API version does not exist or does not support the RegionHealthChecks service,
3491
+ # or if the versioned client gem needs an update to support the RegionHealthChecks service.
3492
+ #
3493
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3494
+ # Defaults to `:v1`.
3495
+ # @return [boolean] Whether the service is available.
3496
+ #
3497
+ def self.region_health_checks_available? version: :v1
3498
+ require "google/cloud/compute/#{version.to_s.downcase}"
3499
+ package_name = Google::Cloud::Compute
3500
+ .constants
3501
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3502
+ .first
3503
+ return false unless package_name
3504
+ service_module = Google::Cloud::Compute.const_get package_name
3505
+ return false unless service_module.const_defined? :RegionHealthChecks
3506
+ service_module = service_module.const_get :RegionHealthChecks
3507
+ return false unless service_module.const_defined? :Rest
3508
+ service_module = service_module.const_get :Rest
3509
+ service_module.const_defined? :Client
3510
+ rescue ::LoadError
3511
+ false
3512
+ end
3513
+
1699
3514
  ##
1700
3515
  # Create a new client object for RegionInstanceGroupManagers.
1701
3516
  #
@@ -1707,6 +3522,11 @@ module Google
1707
3522
  # supported by that API version, and the corresponding gem is available, the
1708
3523
  # appropriate versioned client will be returned.
1709
3524
  #
3525
+ # Raises an exception if the currently installed versioned client gem for the
3526
+ # given API version does not support the RegionInstanceGroupManagers service.
3527
+ # You can determine whether the method will succeed by calling
3528
+ # {Google::Cloud::Compute.region_instance_group_managers_available?}.
3529
+ #
1710
3530
  # ## About RegionInstanceGroupManagers
1711
3531
  #
1712
3532
  # The RegionInstanceGroupManagers API.
@@ -1726,6 +3546,34 @@ module Google
1726
3546
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1727
3547
  end
1728
3548
 
3549
+ ##
3550
+ # Determines whether the RegionInstanceGroupManagers service is supported by the current client.
3551
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_instance_group_managers}.
3552
+ # If false, that method will raise an exception. This could happen if the given
3553
+ # API version does not exist or does not support the RegionInstanceGroupManagers service,
3554
+ # or if the versioned client gem needs an update to support the RegionInstanceGroupManagers service.
3555
+ #
3556
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3557
+ # Defaults to `:v1`.
3558
+ # @return [boolean] Whether the service is available.
3559
+ #
3560
+ def self.region_instance_group_managers_available? version: :v1
3561
+ require "google/cloud/compute/#{version.to_s.downcase}"
3562
+ package_name = Google::Cloud::Compute
3563
+ .constants
3564
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3565
+ .first
3566
+ return false unless package_name
3567
+ service_module = Google::Cloud::Compute.const_get package_name
3568
+ return false unless service_module.const_defined? :RegionInstanceGroupManagers
3569
+ service_module = service_module.const_get :RegionInstanceGroupManagers
3570
+ return false unless service_module.const_defined? :Rest
3571
+ service_module = service_module.const_get :Rest
3572
+ service_module.const_defined? :Client
3573
+ rescue ::LoadError
3574
+ false
3575
+ end
3576
+
1729
3577
  ##
1730
3578
  # Create a new client object for RegionInstanceGroups.
1731
3579
  #
@@ -1737,6 +3585,11 @@ module Google
1737
3585
  # supported by that API version, and the corresponding gem is available, the
1738
3586
  # appropriate versioned client will be returned.
1739
3587
  #
3588
+ # Raises an exception if the currently installed versioned client gem for the
3589
+ # given API version does not support the RegionInstanceGroups service.
3590
+ # You can determine whether the method will succeed by calling
3591
+ # {Google::Cloud::Compute.region_instance_groups_available?}.
3592
+ #
1740
3593
  # ## About RegionInstanceGroups
1741
3594
  #
1742
3595
  # The RegionInstanceGroups API.
@@ -1756,6 +3609,34 @@ module Google
1756
3609
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1757
3610
  end
1758
3611
 
3612
+ ##
3613
+ # Determines whether the RegionInstanceGroups service is supported by the current client.
3614
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_instance_groups}.
3615
+ # If false, that method will raise an exception. This could happen if the given
3616
+ # API version does not exist or does not support the RegionInstanceGroups service,
3617
+ # or if the versioned client gem needs an update to support the RegionInstanceGroups service.
3618
+ #
3619
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3620
+ # Defaults to `:v1`.
3621
+ # @return [boolean] Whether the service is available.
3622
+ #
3623
+ def self.region_instance_groups_available? version: :v1
3624
+ require "google/cloud/compute/#{version.to_s.downcase}"
3625
+ package_name = Google::Cloud::Compute
3626
+ .constants
3627
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3628
+ .first
3629
+ return false unless package_name
3630
+ service_module = Google::Cloud::Compute.const_get package_name
3631
+ return false unless service_module.const_defined? :RegionInstanceGroups
3632
+ service_module = service_module.const_get :RegionInstanceGroups
3633
+ return false unless service_module.const_defined? :Rest
3634
+ service_module = service_module.const_get :Rest
3635
+ service_module.const_defined? :Client
3636
+ rescue ::LoadError
3637
+ false
3638
+ end
3639
+
1759
3640
  ##
1760
3641
  # Create a new client object for RegionInstanceTemplates.
1761
3642
  #
@@ -1767,6 +3648,11 @@ module Google
1767
3648
  # supported by that API version, and the corresponding gem is available, the
1768
3649
  # appropriate versioned client will be returned.
1769
3650
  #
3651
+ # Raises an exception if the currently installed versioned client gem for the
3652
+ # given API version does not support the RegionInstanceTemplates service.
3653
+ # You can determine whether the method will succeed by calling
3654
+ # {Google::Cloud::Compute.region_instance_templates_available?}.
3655
+ #
1770
3656
  # ## About RegionInstanceTemplates
1771
3657
  #
1772
3658
  # The RegionInstanceTemplates API.
@@ -1787,15 +3673,48 @@ module Google
1787
3673
  end
1788
3674
 
1789
3675
  ##
1790
- # Create a new client object for RegionInstances.
3676
+ # Determines whether the RegionInstanceTemplates service is supported by the current client.
3677
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_instance_templates}.
3678
+ # If false, that method will raise an exception. This could happen if the given
3679
+ # API version does not exist or does not support the RegionInstanceTemplates service,
3680
+ # or if the versioned client gem needs an update to support the RegionInstanceTemplates service.
1791
3681
  #
1792
- # By default, this returns an instance of
1793
- # [Google::Cloud::Compute::V1::RegionInstances::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-RegionInstances-Rest-Client)
1794
- # for a REST client for version V1 of the API.
1795
- # However, you can specify a different API version by passing it in the
1796
- # `version` parameter. If the RegionInstances service is
1797
- # supported by that API version, and the corresponding gem is available, the
1798
- # appropriate versioned client will be returned.
3682
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3683
+ # Defaults to `:v1`.
3684
+ # @return [boolean] Whether the service is available.
3685
+ #
3686
+ def self.region_instance_templates_available? version: :v1
3687
+ require "google/cloud/compute/#{version.to_s.downcase}"
3688
+ package_name = Google::Cloud::Compute
3689
+ .constants
3690
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3691
+ .first
3692
+ return false unless package_name
3693
+ service_module = Google::Cloud::Compute.const_get package_name
3694
+ return false unless service_module.const_defined? :RegionInstanceTemplates
3695
+ service_module = service_module.const_get :RegionInstanceTemplates
3696
+ return false unless service_module.const_defined? :Rest
3697
+ service_module = service_module.const_get :Rest
3698
+ service_module.const_defined? :Client
3699
+ rescue ::LoadError
3700
+ false
3701
+ end
3702
+
3703
+ ##
3704
+ # Create a new client object for RegionInstances.
3705
+ #
3706
+ # By default, this returns an instance of
3707
+ # [Google::Cloud::Compute::V1::RegionInstances::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-RegionInstances-Rest-Client)
3708
+ # for a REST client for version V1 of the API.
3709
+ # However, you can specify a different API version by passing it in the
3710
+ # `version` parameter. If the RegionInstances service is
3711
+ # supported by that API version, and the corresponding gem is available, the
3712
+ # appropriate versioned client will be returned.
3713
+ #
3714
+ # Raises an exception if the currently installed versioned client gem for the
3715
+ # given API version does not support the RegionInstances service.
3716
+ # You can determine whether the method will succeed by calling
3717
+ # {Google::Cloud::Compute.region_instances_available?}.
1799
3718
  #
1800
3719
  # ## About RegionInstances
1801
3720
  #
@@ -1816,6 +3735,34 @@ module Google
1816
3735
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1817
3736
  end
1818
3737
 
3738
+ ##
3739
+ # Determines whether the RegionInstances service is supported by the current client.
3740
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_instances}.
3741
+ # If false, that method will raise an exception. This could happen if the given
3742
+ # API version does not exist or does not support the RegionInstances service,
3743
+ # or if the versioned client gem needs an update to support the RegionInstances service.
3744
+ #
3745
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3746
+ # Defaults to `:v1`.
3747
+ # @return [boolean] Whether the service is available.
3748
+ #
3749
+ def self.region_instances_available? version: :v1
3750
+ require "google/cloud/compute/#{version.to_s.downcase}"
3751
+ package_name = Google::Cloud::Compute
3752
+ .constants
3753
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3754
+ .first
3755
+ return false unless package_name
3756
+ service_module = Google::Cloud::Compute.const_get package_name
3757
+ return false unless service_module.const_defined? :RegionInstances
3758
+ service_module = service_module.const_get :RegionInstances
3759
+ return false unless service_module.const_defined? :Rest
3760
+ service_module = service_module.const_get :Rest
3761
+ service_module.const_defined? :Client
3762
+ rescue ::LoadError
3763
+ false
3764
+ end
3765
+
1819
3766
  ##
1820
3767
  # Create a new client object for RegionInstantSnapshots.
1821
3768
  #
@@ -1827,6 +3774,11 @@ module Google
1827
3774
  # supported by that API version, and the corresponding gem is available, the
1828
3775
  # appropriate versioned client will be returned.
1829
3776
  #
3777
+ # Raises an exception if the currently installed versioned client gem for the
3778
+ # given API version does not support the RegionInstantSnapshots service.
3779
+ # You can determine whether the method will succeed by calling
3780
+ # {Google::Cloud::Compute.region_instant_snapshots_available?}.
3781
+ #
1830
3782
  # ## About RegionInstantSnapshots
1831
3783
  #
1832
3784
  # The RegionInstantSnapshots API.
@@ -1846,6 +3798,34 @@ module Google
1846
3798
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1847
3799
  end
1848
3800
 
3801
+ ##
3802
+ # Determines whether the RegionInstantSnapshots service is supported by the current client.
3803
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_instant_snapshots}.
3804
+ # If false, that method will raise an exception. This could happen if the given
3805
+ # API version does not exist or does not support the RegionInstantSnapshots service,
3806
+ # or if the versioned client gem needs an update to support the RegionInstantSnapshots service.
3807
+ #
3808
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3809
+ # Defaults to `:v1`.
3810
+ # @return [boolean] Whether the service is available.
3811
+ #
3812
+ def self.region_instant_snapshots_available? version: :v1
3813
+ require "google/cloud/compute/#{version.to_s.downcase}"
3814
+ package_name = Google::Cloud::Compute
3815
+ .constants
3816
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3817
+ .first
3818
+ return false unless package_name
3819
+ service_module = Google::Cloud::Compute.const_get package_name
3820
+ return false unless service_module.const_defined? :RegionInstantSnapshots
3821
+ service_module = service_module.const_get :RegionInstantSnapshots
3822
+ return false unless service_module.const_defined? :Rest
3823
+ service_module = service_module.const_get :Rest
3824
+ service_module.const_defined? :Client
3825
+ rescue ::LoadError
3826
+ false
3827
+ end
3828
+
1849
3829
  ##
1850
3830
  # Create a new client object for RegionNetworkEndpointGroups.
1851
3831
  #
@@ -1857,6 +3837,11 @@ module Google
1857
3837
  # supported by that API version, and the corresponding gem is available, the
1858
3838
  # appropriate versioned client will be returned.
1859
3839
  #
3840
+ # Raises an exception if the currently installed versioned client gem for the
3841
+ # given API version does not support the RegionNetworkEndpointGroups service.
3842
+ # You can determine whether the method will succeed by calling
3843
+ # {Google::Cloud::Compute.region_network_endpoint_groups_available?}.
3844
+ #
1860
3845
  # ## About RegionNetworkEndpointGroups
1861
3846
  #
1862
3847
  # The RegionNetworkEndpointGroups API.
@@ -1876,6 +3861,34 @@ module Google
1876
3861
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1877
3862
  end
1878
3863
 
3864
+ ##
3865
+ # Determines whether the RegionNetworkEndpointGroups service is supported by the current client.
3866
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_network_endpoint_groups}.
3867
+ # If false, that method will raise an exception. This could happen if the given
3868
+ # API version does not exist or does not support the RegionNetworkEndpointGroups service,
3869
+ # or if the versioned client gem needs an update to support the RegionNetworkEndpointGroups service.
3870
+ #
3871
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3872
+ # Defaults to `:v1`.
3873
+ # @return [boolean] Whether the service is available.
3874
+ #
3875
+ def self.region_network_endpoint_groups_available? version: :v1
3876
+ require "google/cloud/compute/#{version.to_s.downcase}"
3877
+ package_name = Google::Cloud::Compute
3878
+ .constants
3879
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3880
+ .first
3881
+ return false unless package_name
3882
+ service_module = Google::Cloud::Compute.const_get package_name
3883
+ return false unless service_module.const_defined? :RegionNetworkEndpointGroups
3884
+ service_module = service_module.const_get :RegionNetworkEndpointGroups
3885
+ return false unless service_module.const_defined? :Rest
3886
+ service_module = service_module.const_get :Rest
3887
+ service_module.const_defined? :Client
3888
+ rescue ::LoadError
3889
+ false
3890
+ end
3891
+
1879
3892
  ##
1880
3893
  # Create a new client object for RegionNetworkFirewallPolicies.
1881
3894
  #
@@ -1887,6 +3900,11 @@ module Google
1887
3900
  # supported by that API version, and the corresponding gem is available, the
1888
3901
  # appropriate versioned client will be returned.
1889
3902
  #
3903
+ # Raises an exception if the currently installed versioned client gem for the
3904
+ # given API version does not support the RegionNetworkFirewallPolicies service.
3905
+ # You can determine whether the method will succeed by calling
3906
+ # {Google::Cloud::Compute.region_network_firewall_policies_available?}.
3907
+ #
1890
3908
  # ## About RegionNetworkFirewallPolicies
1891
3909
  #
1892
3910
  # The RegionNetworkFirewallPolicies API.
@@ -1906,6 +3924,34 @@ module Google
1906
3924
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1907
3925
  end
1908
3926
 
3927
+ ##
3928
+ # Determines whether the RegionNetworkFirewallPolicies service is supported by the current client.
3929
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_network_firewall_policies}.
3930
+ # If false, that method will raise an exception. This could happen if the given
3931
+ # API version does not exist or does not support the RegionNetworkFirewallPolicies service,
3932
+ # or if the versioned client gem needs an update to support the RegionNetworkFirewallPolicies service.
3933
+ #
3934
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3935
+ # Defaults to `:v1`.
3936
+ # @return [boolean] Whether the service is available.
3937
+ #
3938
+ def self.region_network_firewall_policies_available? version: :v1
3939
+ require "google/cloud/compute/#{version.to_s.downcase}"
3940
+ package_name = Google::Cloud::Compute
3941
+ .constants
3942
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3943
+ .first
3944
+ return false unless package_name
3945
+ service_module = Google::Cloud::Compute.const_get package_name
3946
+ return false unless service_module.const_defined? :RegionNetworkFirewallPolicies
3947
+ service_module = service_module.const_get :RegionNetworkFirewallPolicies
3948
+ return false unless service_module.const_defined? :Rest
3949
+ service_module = service_module.const_get :Rest
3950
+ service_module.const_defined? :Client
3951
+ rescue ::LoadError
3952
+ false
3953
+ end
3954
+
1909
3955
  ##
1910
3956
  # Create a new client object for RegionNotificationEndpoints.
1911
3957
  #
@@ -1917,6 +3963,11 @@ module Google
1917
3963
  # supported by that API version, and the corresponding gem is available, the
1918
3964
  # appropriate versioned client will be returned.
1919
3965
  #
3966
+ # Raises an exception if the currently installed versioned client gem for the
3967
+ # given API version does not support the RegionNotificationEndpoints service.
3968
+ # You can determine whether the method will succeed by calling
3969
+ # {Google::Cloud::Compute.region_notification_endpoints_available?}.
3970
+ #
1920
3971
  # ## About RegionNotificationEndpoints
1921
3972
  #
1922
3973
  # The RegionNotificationEndpoints API.
@@ -1936,6 +3987,34 @@ module Google
1936
3987
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1937
3988
  end
1938
3989
 
3990
+ ##
3991
+ # Determines whether the RegionNotificationEndpoints service is supported by the current client.
3992
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_notification_endpoints}.
3993
+ # If false, that method will raise an exception. This could happen if the given
3994
+ # API version does not exist or does not support the RegionNotificationEndpoints service,
3995
+ # or if the versioned client gem needs an update to support the RegionNotificationEndpoints service.
3996
+ #
3997
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
3998
+ # Defaults to `:v1`.
3999
+ # @return [boolean] Whether the service is available.
4000
+ #
4001
+ def self.region_notification_endpoints_available? version: :v1
4002
+ require "google/cloud/compute/#{version.to_s.downcase}"
4003
+ package_name = Google::Cloud::Compute
4004
+ .constants
4005
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4006
+ .first
4007
+ return false unless package_name
4008
+ service_module = Google::Cloud::Compute.const_get package_name
4009
+ return false unless service_module.const_defined? :RegionNotificationEndpoints
4010
+ service_module = service_module.const_get :RegionNotificationEndpoints
4011
+ return false unless service_module.const_defined? :Rest
4012
+ service_module = service_module.const_get :Rest
4013
+ service_module.const_defined? :Client
4014
+ rescue ::LoadError
4015
+ false
4016
+ end
4017
+
1939
4018
  ##
1940
4019
  # Create a new client object for RegionOperations.
1941
4020
  #
@@ -1947,6 +4026,11 @@ module Google
1947
4026
  # supported by that API version, and the corresponding gem is available, the
1948
4027
  # appropriate versioned client will be returned.
1949
4028
  #
4029
+ # Raises an exception if the currently installed versioned client gem for the
4030
+ # given API version does not support the RegionOperations service.
4031
+ # You can determine whether the method will succeed by calling
4032
+ # {Google::Cloud::Compute.region_operations_available?}.
4033
+ #
1950
4034
  # ## About RegionOperations
1951
4035
  #
1952
4036
  # The RegionOperations API.
@@ -1966,6 +4050,34 @@ module Google
1966
4050
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1967
4051
  end
1968
4052
 
4053
+ ##
4054
+ # Determines whether the RegionOperations service is supported by the current client.
4055
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_operations}.
4056
+ # If false, that method will raise an exception. This could happen if the given
4057
+ # API version does not exist or does not support the RegionOperations service,
4058
+ # or if the versioned client gem needs an update to support the RegionOperations service.
4059
+ #
4060
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4061
+ # Defaults to `:v1`.
4062
+ # @return [boolean] Whether the service is available.
4063
+ #
4064
+ def self.region_operations_available? version: :v1
4065
+ require "google/cloud/compute/#{version.to_s.downcase}"
4066
+ package_name = Google::Cloud::Compute
4067
+ .constants
4068
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4069
+ .first
4070
+ return false unless package_name
4071
+ service_module = Google::Cloud::Compute.const_get package_name
4072
+ return false unless service_module.const_defined? :RegionOperations
4073
+ service_module = service_module.const_get :RegionOperations
4074
+ return false unless service_module.const_defined? :Rest
4075
+ service_module = service_module.const_get :Rest
4076
+ service_module.const_defined? :Client
4077
+ rescue ::LoadError
4078
+ false
4079
+ end
4080
+
1969
4081
  ##
1970
4082
  # Create a new client object for RegionSecurityPolicies.
1971
4083
  #
@@ -1977,6 +4089,11 @@ module Google
1977
4089
  # supported by that API version, and the corresponding gem is available, the
1978
4090
  # appropriate versioned client will be returned.
1979
4091
  #
4092
+ # Raises an exception if the currently installed versioned client gem for the
4093
+ # given API version does not support the RegionSecurityPolicies service.
4094
+ # You can determine whether the method will succeed by calling
4095
+ # {Google::Cloud::Compute.region_security_policies_available?}.
4096
+ #
1980
4097
  # ## About RegionSecurityPolicies
1981
4098
  #
1982
4099
  # The RegionSecurityPolicies API.
@@ -1996,6 +4113,34 @@ module Google
1996
4113
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1997
4114
  end
1998
4115
 
4116
+ ##
4117
+ # Determines whether the RegionSecurityPolicies service is supported by the current client.
4118
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_security_policies}.
4119
+ # If false, that method will raise an exception. This could happen if the given
4120
+ # API version does not exist or does not support the RegionSecurityPolicies service,
4121
+ # or if the versioned client gem needs an update to support the RegionSecurityPolicies service.
4122
+ #
4123
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4124
+ # Defaults to `:v1`.
4125
+ # @return [boolean] Whether the service is available.
4126
+ #
4127
+ def self.region_security_policies_available? version: :v1
4128
+ require "google/cloud/compute/#{version.to_s.downcase}"
4129
+ package_name = Google::Cloud::Compute
4130
+ .constants
4131
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4132
+ .first
4133
+ return false unless package_name
4134
+ service_module = Google::Cloud::Compute.const_get package_name
4135
+ return false unless service_module.const_defined? :RegionSecurityPolicies
4136
+ service_module = service_module.const_get :RegionSecurityPolicies
4137
+ return false unless service_module.const_defined? :Rest
4138
+ service_module = service_module.const_get :Rest
4139
+ service_module.const_defined? :Client
4140
+ rescue ::LoadError
4141
+ false
4142
+ end
4143
+
1999
4144
  ##
2000
4145
  # Create a new client object for RegionSslCertificates.
2001
4146
  #
@@ -2007,6 +4152,11 @@ module Google
2007
4152
  # supported by that API version, and the corresponding gem is available, the
2008
4153
  # appropriate versioned client will be returned.
2009
4154
  #
4155
+ # Raises an exception if the currently installed versioned client gem for the
4156
+ # given API version does not support the RegionSslCertificates service.
4157
+ # You can determine whether the method will succeed by calling
4158
+ # {Google::Cloud::Compute.region_ssl_certificates_available?}.
4159
+ #
2010
4160
  # ## About RegionSslCertificates
2011
4161
  #
2012
4162
  # The RegionSslCertificates API.
@@ -2026,6 +4176,34 @@ module Google
2026
4176
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2027
4177
  end
2028
4178
 
4179
+ ##
4180
+ # Determines whether the RegionSslCertificates service is supported by the current client.
4181
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_ssl_certificates}.
4182
+ # If false, that method will raise an exception. This could happen if the given
4183
+ # API version does not exist or does not support the RegionSslCertificates service,
4184
+ # or if the versioned client gem needs an update to support the RegionSslCertificates service.
4185
+ #
4186
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4187
+ # Defaults to `:v1`.
4188
+ # @return [boolean] Whether the service is available.
4189
+ #
4190
+ def self.region_ssl_certificates_available? version: :v1
4191
+ require "google/cloud/compute/#{version.to_s.downcase}"
4192
+ package_name = Google::Cloud::Compute
4193
+ .constants
4194
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4195
+ .first
4196
+ return false unless package_name
4197
+ service_module = Google::Cloud::Compute.const_get package_name
4198
+ return false unless service_module.const_defined? :RegionSslCertificates
4199
+ service_module = service_module.const_get :RegionSslCertificates
4200
+ return false unless service_module.const_defined? :Rest
4201
+ service_module = service_module.const_get :Rest
4202
+ service_module.const_defined? :Client
4203
+ rescue ::LoadError
4204
+ false
4205
+ end
4206
+
2029
4207
  ##
2030
4208
  # Create a new client object for RegionSslPolicies.
2031
4209
  #
@@ -2037,6 +4215,11 @@ module Google
2037
4215
  # supported by that API version, and the corresponding gem is available, the
2038
4216
  # appropriate versioned client will be returned.
2039
4217
  #
4218
+ # Raises an exception if the currently installed versioned client gem for the
4219
+ # given API version does not support the RegionSslPolicies service.
4220
+ # You can determine whether the method will succeed by calling
4221
+ # {Google::Cloud::Compute.region_ssl_policies_available?}.
4222
+ #
2040
4223
  # ## About RegionSslPolicies
2041
4224
  #
2042
4225
  # The RegionSslPolicies API.
@@ -2056,6 +4239,34 @@ module Google
2056
4239
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2057
4240
  end
2058
4241
 
4242
+ ##
4243
+ # Determines whether the RegionSslPolicies service is supported by the current client.
4244
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_ssl_policies}.
4245
+ # If false, that method will raise an exception. This could happen if the given
4246
+ # API version does not exist or does not support the RegionSslPolicies service,
4247
+ # or if the versioned client gem needs an update to support the RegionSslPolicies service.
4248
+ #
4249
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4250
+ # Defaults to `:v1`.
4251
+ # @return [boolean] Whether the service is available.
4252
+ #
4253
+ def self.region_ssl_policies_available? version: :v1
4254
+ require "google/cloud/compute/#{version.to_s.downcase}"
4255
+ package_name = Google::Cloud::Compute
4256
+ .constants
4257
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4258
+ .first
4259
+ return false unless package_name
4260
+ service_module = Google::Cloud::Compute.const_get package_name
4261
+ return false unless service_module.const_defined? :RegionSslPolicies
4262
+ service_module = service_module.const_get :RegionSslPolicies
4263
+ return false unless service_module.const_defined? :Rest
4264
+ service_module = service_module.const_get :Rest
4265
+ service_module.const_defined? :Client
4266
+ rescue ::LoadError
4267
+ false
4268
+ end
4269
+
2059
4270
  ##
2060
4271
  # Create a new client object for RegionTargetHttpProxies.
2061
4272
  #
@@ -2067,6 +4278,11 @@ module Google
2067
4278
  # supported by that API version, and the corresponding gem is available, the
2068
4279
  # appropriate versioned client will be returned.
2069
4280
  #
4281
+ # Raises an exception if the currently installed versioned client gem for the
4282
+ # given API version does not support the RegionTargetHttpProxies service.
4283
+ # You can determine whether the method will succeed by calling
4284
+ # {Google::Cloud::Compute.region_target_http_proxies_available?}.
4285
+ #
2070
4286
  # ## About RegionTargetHttpProxies
2071
4287
  #
2072
4288
  # The RegionTargetHttpProxies API.
@@ -2086,6 +4302,34 @@ module Google
2086
4302
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2087
4303
  end
2088
4304
 
4305
+ ##
4306
+ # Determines whether the RegionTargetHttpProxies service is supported by the current client.
4307
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_target_http_proxies}.
4308
+ # If false, that method will raise an exception. This could happen if the given
4309
+ # API version does not exist or does not support the RegionTargetHttpProxies service,
4310
+ # or if the versioned client gem needs an update to support the RegionTargetHttpProxies service.
4311
+ #
4312
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4313
+ # Defaults to `:v1`.
4314
+ # @return [boolean] Whether the service is available.
4315
+ #
4316
+ def self.region_target_http_proxies_available? version: :v1
4317
+ require "google/cloud/compute/#{version.to_s.downcase}"
4318
+ package_name = Google::Cloud::Compute
4319
+ .constants
4320
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4321
+ .first
4322
+ return false unless package_name
4323
+ service_module = Google::Cloud::Compute.const_get package_name
4324
+ return false unless service_module.const_defined? :RegionTargetHttpProxies
4325
+ service_module = service_module.const_get :RegionTargetHttpProxies
4326
+ return false unless service_module.const_defined? :Rest
4327
+ service_module = service_module.const_get :Rest
4328
+ service_module.const_defined? :Client
4329
+ rescue ::LoadError
4330
+ false
4331
+ end
4332
+
2089
4333
  ##
2090
4334
  # Create a new client object for RegionTargetHttpsProxies.
2091
4335
  #
@@ -2097,6 +4341,11 @@ module Google
2097
4341
  # supported by that API version, and the corresponding gem is available, the
2098
4342
  # appropriate versioned client will be returned.
2099
4343
  #
4344
+ # Raises an exception if the currently installed versioned client gem for the
4345
+ # given API version does not support the RegionTargetHttpsProxies service.
4346
+ # You can determine whether the method will succeed by calling
4347
+ # {Google::Cloud::Compute.region_target_https_proxies_available?}.
4348
+ #
2100
4349
  # ## About RegionTargetHttpsProxies
2101
4350
  #
2102
4351
  # The RegionTargetHttpsProxies API.
@@ -2116,6 +4365,34 @@ module Google
2116
4365
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2117
4366
  end
2118
4367
 
4368
+ ##
4369
+ # Determines whether the RegionTargetHttpsProxies service is supported by the current client.
4370
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_target_https_proxies}.
4371
+ # If false, that method will raise an exception. This could happen if the given
4372
+ # API version does not exist or does not support the RegionTargetHttpsProxies service,
4373
+ # or if the versioned client gem needs an update to support the RegionTargetHttpsProxies service.
4374
+ #
4375
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4376
+ # Defaults to `:v1`.
4377
+ # @return [boolean] Whether the service is available.
4378
+ #
4379
+ def self.region_target_https_proxies_available? version: :v1
4380
+ require "google/cloud/compute/#{version.to_s.downcase}"
4381
+ package_name = Google::Cloud::Compute
4382
+ .constants
4383
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4384
+ .first
4385
+ return false unless package_name
4386
+ service_module = Google::Cloud::Compute.const_get package_name
4387
+ return false unless service_module.const_defined? :RegionTargetHttpsProxies
4388
+ service_module = service_module.const_get :RegionTargetHttpsProxies
4389
+ return false unless service_module.const_defined? :Rest
4390
+ service_module = service_module.const_get :Rest
4391
+ service_module.const_defined? :Client
4392
+ rescue ::LoadError
4393
+ false
4394
+ end
4395
+
2119
4396
  ##
2120
4397
  # Create a new client object for RegionTargetTcpProxies.
2121
4398
  #
@@ -2127,6 +4404,11 @@ module Google
2127
4404
  # supported by that API version, and the corresponding gem is available, the
2128
4405
  # appropriate versioned client will be returned.
2129
4406
  #
4407
+ # Raises an exception if the currently installed versioned client gem for the
4408
+ # given API version does not support the RegionTargetTcpProxies service.
4409
+ # You can determine whether the method will succeed by calling
4410
+ # {Google::Cloud::Compute.region_target_tcp_proxies_available?}.
4411
+ #
2130
4412
  # ## About RegionTargetTcpProxies
2131
4413
  #
2132
4414
  # The RegionTargetTcpProxies API.
@@ -2146,6 +4428,34 @@ module Google
2146
4428
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2147
4429
  end
2148
4430
 
4431
+ ##
4432
+ # Determines whether the RegionTargetTcpProxies service is supported by the current client.
4433
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_target_tcp_proxies}.
4434
+ # If false, that method will raise an exception. This could happen if the given
4435
+ # API version does not exist or does not support the RegionTargetTcpProxies service,
4436
+ # or if the versioned client gem needs an update to support the RegionTargetTcpProxies service.
4437
+ #
4438
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4439
+ # Defaults to `:v1`.
4440
+ # @return [boolean] Whether the service is available.
4441
+ #
4442
+ def self.region_target_tcp_proxies_available? version: :v1
4443
+ require "google/cloud/compute/#{version.to_s.downcase}"
4444
+ package_name = Google::Cloud::Compute
4445
+ .constants
4446
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4447
+ .first
4448
+ return false unless package_name
4449
+ service_module = Google::Cloud::Compute.const_get package_name
4450
+ return false unless service_module.const_defined? :RegionTargetTcpProxies
4451
+ service_module = service_module.const_get :RegionTargetTcpProxies
4452
+ return false unless service_module.const_defined? :Rest
4453
+ service_module = service_module.const_get :Rest
4454
+ service_module.const_defined? :Client
4455
+ rescue ::LoadError
4456
+ false
4457
+ end
4458
+
2149
4459
  ##
2150
4460
  # Create a new client object for RegionUrlMaps.
2151
4461
  #
@@ -2157,6 +4467,11 @@ module Google
2157
4467
  # supported by that API version, and the corresponding gem is available, the
2158
4468
  # appropriate versioned client will be returned.
2159
4469
  #
4470
+ # Raises an exception if the currently installed versioned client gem for the
4471
+ # given API version does not support the RegionUrlMaps service.
4472
+ # You can determine whether the method will succeed by calling
4473
+ # {Google::Cloud::Compute.region_url_maps_available?}.
4474
+ #
2160
4475
  # ## About RegionUrlMaps
2161
4476
  #
2162
4477
  # The RegionUrlMaps API.
@@ -2176,6 +4491,34 @@ module Google
2176
4491
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2177
4492
  end
2178
4493
 
4494
+ ##
4495
+ # Determines whether the RegionUrlMaps service is supported by the current client.
4496
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_url_maps}.
4497
+ # If false, that method will raise an exception. This could happen if the given
4498
+ # API version does not exist or does not support the RegionUrlMaps service,
4499
+ # or if the versioned client gem needs an update to support the RegionUrlMaps service.
4500
+ #
4501
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4502
+ # Defaults to `:v1`.
4503
+ # @return [boolean] Whether the service is available.
4504
+ #
4505
+ def self.region_url_maps_available? version: :v1
4506
+ require "google/cloud/compute/#{version.to_s.downcase}"
4507
+ package_name = Google::Cloud::Compute
4508
+ .constants
4509
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4510
+ .first
4511
+ return false unless package_name
4512
+ service_module = Google::Cloud::Compute.const_get package_name
4513
+ return false unless service_module.const_defined? :RegionUrlMaps
4514
+ service_module = service_module.const_get :RegionUrlMaps
4515
+ return false unless service_module.const_defined? :Rest
4516
+ service_module = service_module.const_get :Rest
4517
+ service_module.const_defined? :Client
4518
+ rescue ::LoadError
4519
+ false
4520
+ end
4521
+
2179
4522
  ##
2180
4523
  # Create a new client object for RegionZones.
2181
4524
  #
@@ -2187,6 +4530,11 @@ module Google
2187
4530
  # supported by that API version, and the corresponding gem is available, the
2188
4531
  # appropriate versioned client will be returned.
2189
4532
  #
4533
+ # Raises an exception if the currently installed versioned client gem for the
4534
+ # given API version does not support the RegionZones service.
4535
+ # You can determine whether the method will succeed by calling
4536
+ # {Google::Cloud::Compute.region_zones_available?}.
4537
+ #
2190
4538
  # ## About RegionZones
2191
4539
  #
2192
4540
  # The RegionZones API.
@@ -2206,6 +4554,34 @@ module Google
2206
4554
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2207
4555
  end
2208
4556
 
4557
+ ##
4558
+ # Determines whether the RegionZones service is supported by the current client.
4559
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.region_zones}.
4560
+ # If false, that method will raise an exception. This could happen if the given
4561
+ # API version does not exist or does not support the RegionZones service,
4562
+ # or if the versioned client gem needs an update to support the RegionZones service.
4563
+ #
4564
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4565
+ # Defaults to `:v1`.
4566
+ # @return [boolean] Whether the service is available.
4567
+ #
4568
+ def self.region_zones_available? version: :v1
4569
+ require "google/cloud/compute/#{version.to_s.downcase}"
4570
+ package_name = Google::Cloud::Compute
4571
+ .constants
4572
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4573
+ .first
4574
+ return false unless package_name
4575
+ service_module = Google::Cloud::Compute.const_get package_name
4576
+ return false unless service_module.const_defined? :RegionZones
4577
+ service_module = service_module.const_get :RegionZones
4578
+ return false unless service_module.const_defined? :Rest
4579
+ service_module = service_module.const_get :Rest
4580
+ service_module.const_defined? :Client
4581
+ rescue ::LoadError
4582
+ false
4583
+ end
4584
+
2209
4585
  ##
2210
4586
  # Create a new client object for Regions.
2211
4587
  #
@@ -2217,6 +4593,11 @@ module Google
2217
4593
  # supported by that API version, and the corresponding gem is available, the
2218
4594
  # appropriate versioned client will be returned.
2219
4595
  #
4596
+ # Raises an exception if the currently installed versioned client gem for the
4597
+ # given API version does not support the Regions service.
4598
+ # You can determine whether the method will succeed by calling
4599
+ # {Google::Cloud::Compute.regions_available?}.
4600
+ #
2220
4601
  # ## About Regions
2221
4602
  #
2222
4603
  # The Regions API.
@@ -2236,6 +4617,97 @@ module Google
2236
4617
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2237
4618
  end
2238
4619
 
4620
+ ##
4621
+ # Determines whether the Regions service is supported by the current client.
4622
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.regions}.
4623
+ # If false, that method will raise an exception. This could happen if the given
4624
+ # API version does not exist or does not support the Regions service,
4625
+ # or if the versioned client gem needs an update to support the Regions service.
4626
+ #
4627
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4628
+ # Defaults to `:v1`.
4629
+ # @return [boolean] Whether the service is available.
4630
+ #
4631
+ def self.regions_available? version: :v1
4632
+ require "google/cloud/compute/#{version.to_s.downcase}"
4633
+ package_name = Google::Cloud::Compute
4634
+ .constants
4635
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4636
+ .first
4637
+ return false unless package_name
4638
+ service_module = Google::Cloud::Compute.const_get package_name
4639
+ return false unless service_module.const_defined? :Regions
4640
+ service_module = service_module.const_get :Regions
4641
+ return false unless service_module.const_defined? :Rest
4642
+ service_module = service_module.const_get :Rest
4643
+ service_module.const_defined? :Client
4644
+ rescue ::LoadError
4645
+ false
4646
+ end
4647
+
4648
+ ##
4649
+ # Create a new client object for ReservationBlocks.
4650
+ #
4651
+ # By default, this returns an instance of
4652
+ # [Google::Cloud::Compute::V1::ReservationBlocks::Rest::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-ReservationBlocks-Rest-Client)
4653
+ # for a REST client for version V1 of the API.
4654
+ # However, you can specify a different API version by passing it in the
4655
+ # `version` parameter. If the ReservationBlocks service is
4656
+ # supported by that API version, and the corresponding gem is available, the
4657
+ # appropriate versioned client will be returned.
4658
+ #
4659
+ # Raises an exception if the currently installed versioned client gem for the
4660
+ # given API version does not support the ReservationBlocks service.
4661
+ # You can determine whether the method will succeed by calling
4662
+ # {Google::Cloud::Compute.reservation_blocks_available?}.
4663
+ #
4664
+ # ## About ReservationBlocks
4665
+ #
4666
+ # The ReservationBlocks API.
4667
+ #
4668
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4669
+ # Defaults to `:v1`.
4670
+ # @return [::Object] A client object for the specified version.
4671
+ #
4672
+ def self.reservation_blocks version: :v1, &block
4673
+ require "google/cloud/compute/#{version.to_s.downcase}"
4674
+
4675
+ package_name = Google::Cloud::Compute
4676
+ .constants
4677
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4678
+ .first
4679
+ service_module = Google::Cloud::Compute.const_get(package_name).const_get(:ReservationBlocks)
4680
+ service_module.const_get(:Rest).const_get(:Client).new(&block)
4681
+ end
4682
+
4683
+ ##
4684
+ # Determines whether the ReservationBlocks service is supported by the current client.
4685
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.reservation_blocks}.
4686
+ # If false, that method will raise an exception. This could happen if the given
4687
+ # API version does not exist or does not support the ReservationBlocks service,
4688
+ # or if the versioned client gem needs an update to support the ReservationBlocks service.
4689
+ #
4690
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4691
+ # Defaults to `:v1`.
4692
+ # @return [boolean] Whether the service is available.
4693
+ #
4694
+ def self.reservation_blocks_available? version: :v1
4695
+ require "google/cloud/compute/#{version.to_s.downcase}"
4696
+ package_name = Google::Cloud::Compute
4697
+ .constants
4698
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4699
+ .first
4700
+ return false unless package_name
4701
+ service_module = Google::Cloud::Compute.const_get package_name
4702
+ return false unless service_module.const_defined? :ReservationBlocks
4703
+ service_module = service_module.const_get :ReservationBlocks
4704
+ return false unless service_module.const_defined? :Rest
4705
+ service_module = service_module.const_get :Rest
4706
+ service_module.const_defined? :Client
4707
+ rescue ::LoadError
4708
+ false
4709
+ end
4710
+
2239
4711
  ##
2240
4712
  # Create a new client object for Reservations.
2241
4713
  #
@@ -2247,6 +4719,11 @@ module Google
2247
4719
  # supported by that API version, and the corresponding gem is available, the
2248
4720
  # appropriate versioned client will be returned.
2249
4721
  #
4722
+ # Raises an exception if the currently installed versioned client gem for the
4723
+ # given API version does not support the Reservations service.
4724
+ # You can determine whether the method will succeed by calling
4725
+ # {Google::Cloud::Compute.reservations_available?}.
4726
+ #
2250
4727
  # ## About Reservations
2251
4728
  #
2252
4729
  # The Reservations API.
@@ -2266,6 +4743,34 @@ module Google
2266
4743
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2267
4744
  end
2268
4745
 
4746
+ ##
4747
+ # Determines whether the Reservations service is supported by the current client.
4748
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.reservations}.
4749
+ # If false, that method will raise an exception. This could happen if the given
4750
+ # API version does not exist or does not support the Reservations service,
4751
+ # or if the versioned client gem needs an update to support the Reservations service.
4752
+ #
4753
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4754
+ # Defaults to `:v1`.
4755
+ # @return [boolean] Whether the service is available.
4756
+ #
4757
+ def self.reservations_available? version: :v1
4758
+ require "google/cloud/compute/#{version.to_s.downcase}"
4759
+ package_name = Google::Cloud::Compute
4760
+ .constants
4761
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4762
+ .first
4763
+ return false unless package_name
4764
+ service_module = Google::Cloud::Compute.const_get package_name
4765
+ return false unless service_module.const_defined? :Reservations
4766
+ service_module = service_module.const_get :Reservations
4767
+ return false unless service_module.const_defined? :Rest
4768
+ service_module = service_module.const_get :Rest
4769
+ service_module.const_defined? :Client
4770
+ rescue ::LoadError
4771
+ false
4772
+ end
4773
+
2269
4774
  ##
2270
4775
  # Create a new client object for ResourcePolicies.
2271
4776
  #
@@ -2277,6 +4782,11 @@ module Google
2277
4782
  # supported by that API version, and the corresponding gem is available, the
2278
4783
  # appropriate versioned client will be returned.
2279
4784
  #
4785
+ # Raises an exception if the currently installed versioned client gem for the
4786
+ # given API version does not support the ResourcePolicies service.
4787
+ # You can determine whether the method will succeed by calling
4788
+ # {Google::Cloud::Compute.resource_policies_available?}.
4789
+ #
2280
4790
  # ## About ResourcePolicies
2281
4791
  #
2282
4792
  # The ResourcePolicies API.
@@ -2296,6 +4806,34 @@ module Google
2296
4806
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2297
4807
  end
2298
4808
 
4809
+ ##
4810
+ # Determines whether the ResourcePolicies service is supported by the current client.
4811
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.resource_policies}.
4812
+ # If false, that method will raise an exception. This could happen if the given
4813
+ # API version does not exist or does not support the ResourcePolicies service,
4814
+ # or if the versioned client gem needs an update to support the ResourcePolicies service.
4815
+ #
4816
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4817
+ # Defaults to `:v1`.
4818
+ # @return [boolean] Whether the service is available.
4819
+ #
4820
+ def self.resource_policies_available? version: :v1
4821
+ require "google/cloud/compute/#{version.to_s.downcase}"
4822
+ package_name = Google::Cloud::Compute
4823
+ .constants
4824
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4825
+ .first
4826
+ return false unless package_name
4827
+ service_module = Google::Cloud::Compute.const_get package_name
4828
+ return false unless service_module.const_defined? :ResourcePolicies
4829
+ service_module = service_module.const_get :ResourcePolicies
4830
+ return false unless service_module.const_defined? :Rest
4831
+ service_module = service_module.const_get :Rest
4832
+ service_module.const_defined? :Client
4833
+ rescue ::LoadError
4834
+ false
4835
+ end
4836
+
2299
4837
  ##
2300
4838
  # Create a new client object for Routers.
2301
4839
  #
@@ -2307,6 +4845,11 @@ module Google
2307
4845
  # supported by that API version, and the corresponding gem is available, the
2308
4846
  # appropriate versioned client will be returned.
2309
4847
  #
4848
+ # Raises an exception if the currently installed versioned client gem for the
4849
+ # given API version does not support the Routers service.
4850
+ # You can determine whether the method will succeed by calling
4851
+ # {Google::Cloud::Compute.routers_available?}.
4852
+ #
2310
4853
  # ## About Routers
2311
4854
  #
2312
4855
  # The Routers API.
@@ -2326,6 +4869,34 @@ module Google
2326
4869
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2327
4870
  end
2328
4871
 
4872
+ ##
4873
+ # Determines whether the Routers service is supported by the current client.
4874
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.routers}.
4875
+ # If false, that method will raise an exception. This could happen if the given
4876
+ # API version does not exist or does not support the Routers service,
4877
+ # or if the versioned client gem needs an update to support the Routers service.
4878
+ #
4879
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4880
+ # Defaults to `:v1`.
4881
+ # @return [boolean] Whether the service is available.
4882
+ #
4883
+ def self.routers_available? version: :v1
4884
+ require "google/cloud/compute/#{version.to_s.downcase}"
4885
+ package_name = Google::Cloud::Compute
4886
+ .constants
4887
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4888
+ .first
4889
+ return false unless package_name
4890
+ service_module = Google::Cloud::Compute.const_get package_name
4891
+ return false unless service_module.const_defined? :Routers
4892
+ service_module = service_module.const_get :Routers
4893
+ return false unless service_module.const_defined? :Rest
4894
+ service_module = service_module.const_get :Rest
4895
+ service_module.const_defined? :Client
4896
+ rescue ::LoadError
4897
+ false
4898
+ end
4899
+
2329
4900
  ##
2330
4901
  # Create a new client object for Routes.
2331
4902
  #
@@ -2337,6 +4908,11 @@ module Google
2337
4908
  # supported by that API version, and the corresponding gem is available, the
2338
4909
  # appropriate versioned client will be returned.
2339
4910
  #
4911
+ # Raises an exception if the currently installed versioned client gem for the
4912
+ # given API version does not support the Routes service.
4913
+ # You can determine whether the method will succeed by calling
4914
+ # {Google::Cloud::Compute.routes_available?}.
4915
+ #
2340
4916
  # ## About Routes
2341
4917
  #
2342
4918
  # The Routes API.
@@ -2356,6 +4932,34 @@ module Google
2356
4932
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2357
4933
  end
2358
4934
 
4935
+ ##
4936
+ # Determines whether the Routes service is supported by the current client.
4937
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.routes}.
4938
+ # If false, that method will raise an exception. This could happen if the given
4939
+ # API version does not exist or does not support the Routes service,
4940
+ # or if the versioned client gem needs an update to support the Routes service.
4941
+ #
4942
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
4943
+ # Defaults to `:v1`.
4944
+ # @return [boolean] Whether the service is available.
4945
+ #
4946
+ def self.routes_available? version: :v1
4947
+ require "google/cloud/compute/#{version.to_s.downcase}"
4948
+ package_name = Google::Cloud::Compute
4949
+ .constants
4950
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
4951
+ .first
4952
+ return false unless package_name
4953
+ service_module = Google::Cloud::Compute.const_get package_name
4954
+ return false unless service_module.const_defined? :Routes
4955
+ service_module = service_module.const_get :Routes
4956
+ return false unless service_module.const_defined? :Rest
4957
+ service_module = service_module.const_get :Rest
4958
+ service_module.const_defined? :Client
4959
+ rescue ::LoadError
4960
+ false
4961
+ end
4962
+
2359
4963
  ##
2360
4964
  # Create a new client object for SecurityPolicies.
2361
4965
  #
@@ -2367,6 +4971,11 @@ module Google
2367
4971
  # supported by that API version, and the corresponding gem is available, the
2368
4972
  # appropriate versioned client will be returned.
2369
4973
  #
4974
+ # Raises an exception if the currently installed versioned client gem for the
4975
+ # given API version does not support the SecurityPolicies service.
4976
+ # You can determine whether the method will succeed by calling
4977
+ # {Google::Cloud::Compute.security_policies_available?}.
4978
+ #
2370
4979
  # ## About SecurityPolicies
2371
4980
  #
2372
4981
  # The SecurityPolicies API.
@@ -2386,6 +4995,34 @@ module Google
2386
4995
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2387
4996
  end
2388
4997
 
4998
+ ##
4999
+ # Determines whether the SecurityPolicies service is supported by the current client.
5000
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.security_policies}.
5001
+ # If false, that method will raise an exception. This could happen if the given
5002
+ # API version does not exist or does not support the SecurityPolicies service,
5003
+ # or if the versioned client gem needs an update to support the SecurityPolicies service.
5004
+ #
5005
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5006
+ # Defaults to `:v1`.
5007
+ # @return [boolean] Whether the service is available.
5008
+ #
5009
+ def self.security_policies_available? version: :v1
5010
+ require "google/cloud/compute/#{version.to_s.downcase}"
5011
+ package_name = Google::Cloud::Compute
5012
+ .constants
5013
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5014
+ .first
5015
+ return false unless package_name
5016
+ service_module = Google::Cloud::Compute.const_get package_name
5017
+ return false unless service_module.const_defined? :SecurityPolicies
5018
+ service_module = service_module.const_get :SecurityPolicies
5019
+ return false unless service_module.const_defined? :Rest
5020
+ service_module = service_module.const_get :Rest
5021
+ service_module.const_defined? :Client
5022
+ rescue ::LoadError
5023
+ false
5024
+ end
5025
+
2389
5026
  ##
2390
5027
  # Create a new client object for ServiceAttachments.
2391
5028
  #
@@ -2397,6 +5034,11 @@ module Google
2397
5034
  # supported by that API version, and the corresponding gem is available, the
2398
5035
  # appropriate versioned client will be returned.
2399
5036
  #
5037
+ # Raises an exception if the currently installed versioned client gem for the
5038
+ # given API version does not support the ServiceAttachments service.
5039
+ # You can determine whether the method will succeed by calling
5040
+ # {Google::Cloud::Compute.service_attachments_available?}.
5041
+ #
2400
5042
  # ## About ServiceAttachments
2401
5043
  #
2402
5044
  # The ServiceAttachments API.
@@ -2416,6 +5058,34 @@ module Google
2416
5058
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2417
5059
  end
2418
5060
 
5061
+ ##
5062
+ # Determines whether the ServiceAttachments service is supported by the current client.
5063
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.service_attachments}.
5064
+ # If false, that method will raise an exception. This could happen if the given
5065
+ # API version does not exist or does not support the ServiceAttachments service,
5066
+ # or if the versioned client gem needs an update to support the ServiceAttachments service.
5067
+ #
5068
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5069
+ # Defaults to `:v1`.
5070
+ # @return [boolean] Whether the service is available.
5071
+ #
5072
+ def self.service_attachments_available? version: :v1
5073
+ require "google/cloud/compute/#{version.to_s.downcase}"
5074
+ package_name = Google::Cloud::Compute
5075
+ .constants
5076
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5077
+ .first
5078
+ return false unless package_name
5079
+ service_module = Google::Cloud::Compute.const_get package_name
5080
+ return false unless service_module.const_defined? :ServiceAttachments
5081
+ service_module = service_module.const_get :ServiceAttachments
5082
+ return false unless service_module.const_defined? :Rest
5083
+ service_module = service_module.const_get :Rest
5084
+ service_module.const_defined? :Client
5085
+ rescue ::LoadError
5086
+ false
5087
+ end
5088
+
2419
5089
  ##
2420
5090
  # Create a new client object for SnapshotSettingsService.
2421
5091
  #
@@ -2427,23 +5097,56 @@ module Google
2427
5097
  # supported by that API version, and the corresponding gem is available, the
2428
5098
  # appropriate versioned client will be returned.
2429
5099
  #
5100
+ # Raises an exception if the currently installed versioned client gem for the
5101
+ # given API version does not support the SnapshotSettingsService service.
5102
+ # You can determine whether the method will succeed by calling
5103
+ # {Google::Cloud::Compute.snapshot_settings_service_available?}.
5104
+ #
2430
5105
  # ## About SnapshotSettingsService
2431
5106
  #
2432
5107
  # The SnapshotSettings API.
2433
5108
  #
2434
5109
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
2435
5110
  # Defaults to `:v1`.
2436
- # @return [::Object] A client object for the specified version.
5111
+ # @return [::Object] A client object for the specified version.
5112
+ #
5113
+ def self.snapshot_settings_service version: :v1, &block
5114
+ require "google/cloud/compute/#{version.to_s.downcase}"
5115
+
5116
+ package_name = Google::Cloud::Compute
5117
+ .constants
5118
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5119
+ .first
5120
+ service_module = Google::Cloud::Compute.const_get(package_name).const_get(:SnapshotSettingsService)
5121
+ service_module.const_get(:Rest).const_get(:Client).new(&block)
5122
+ end
5123
+
5124
+ ##
5125
+ # Determines whether the SnapshotSettingsService service is supported by the current client.
5126
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.snapshot_settings_service}.
5127
+ # If false, that method will raise an exception. This could happen if the given
5128
+ # API version does not exist or does not support the SnapshotSettingsService service,
5129
+ # or if the versioned client gem needs an update to support the SnapshotSettingsService service.
5130
+ #
5131
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5132
+ # Defaults to `:v1`.
5133
+ # @return [boolean] Whether the service is available.
2437
5134
  #
2438
- def self.snapshot_settings_service version: :v1, &block
5135
+ def self.snapshot_settings_service_available? version: :v1
2439
5136
  require "google/cloud/compute/#{version.to_s.downcase}"
2440
-
2441
5137
  package_name = Google::Cloud::Compute
2442
5138
  .constants
2443
5139
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2444
5140
  .first
2445
- service_module = Google::Cloud::Compute.const_get(package_name).const_get(:SnapshotSettingsService)
2446
- service_module.const_get(:Rest).const_get(:Client).new(&block)
5141
+ return false unless package_name
5142
+ service_module = Google::Cloud::Compute.const_get package_name
5143
+ return false unless service_module.const_defined? :SnapshotSettingsService
5144
+ service_module = service_module.const_get :SnapshotSettingsService
5145
+ return false unless service_module.const_defined? :Rest
5146
+ service_module = service_module.const_get :Rest
5147
+ service_module.const_defined? :Client
5148
+ rescue ::LoadError
5149
+ false
2447
5150
  end
2448
5151
 
2449
5152
  ##
@@ -2457,6 +5160,11 @@ module Google
2457
5160
  # supported by that API version, and the corresponding gem is available, the
2458
5161
  # appropriate versioned client will be returned.
2459
5162
  #
5163
+ # Raises an exception if the currently installed versioned client gem for the
5164
+ # given API version does not support the Snapshots service.
5165
+ # You can determine whether the method will succeed by calling
5166
+ # {Google::Cloud::Compute.snapshots_available?}.
5167
+ #
2460
5168
  # ## About Snapshots
2461
5169
  #
2462
5170
  # The Snapshots API.
@@ -2476,6 +5184,34 @@ module Google
2476
5184
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2477
5185
  end
2478
5186
 
5187
+ ##
5188
+ # Determines whether the Snapshots service is supported by the current client.
5189
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.snapshots}.
5190
+ # If false, that method will raise an exception. This could happen if the given
5191
+ # API version does not exist or does not support the Snapshots service,
5192
+ # or if the versioned client gem needs an update to support the Snapshots service.
5193
+ #
5194
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5195
+ # Defaults to `:v1`.
5196
+ # @return [boolean] Whether the service is available.
5197
+ #
5198
+ def self.snapshots_available? version: :v1
5199
+ require "google/cloud/compute/#{version.to_s.downcase}"
5200
+ package_name = Google::Cloud::Compute
5201
+ .constants
5202
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5203
+ .first
5204
+ return false unless package_name
5205
+ service_module = Google::Cloud::Compute.const_get package_name
5206
+ return false unless service_module.const_defined? :Snapshots
5207
+ service_module = service_module.const_get :Snapshots
5208
+ return false unless service_module.const_defined? :Rest
5209
+ service_module = service_module.const_get :Rest
5210
+ service_module.const_defined? :Client
5211
+ rescue ::LoadError
5212
+ false
5213
+ end
5214
+
2479
5215
  ##
2480
5216
  # Create a new client object for SslCertificates.
2481
5217
  #
@@ -2487,6 +5223,11 @@ module Google
2487
5223
  # supported by that API version, and the corresponding gem is available, the
2488
5224
  # appropriate versioned client will be returned.
2489
5225
  #
5226
+ # Raises an exception if the currently installed versioned client gem for the
5227
+ # given API version does not support the SslCertificates service.
5228
+ # You can determine whether the method will succeed by calling
5229
+ # {Google::Cloud::Compute.ssl_certificates_available?}.
5230
+ #
2490
5231
  # ## About SslCertificates
2491
5232
  #
2492
5233
  # The SslCertificates API.
@@ -2506,6 +5247,34 @@ module Google
2506
5247
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2507
5248
  end
2508
5249
 
5250
+ ##
5251
+ # Determines whether the SslCertificates service is supported by the current client.
5252
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.ssl_certificates}.
5253
+ # If false, that method will raise an exception. This could happen if the given
5254
+ # API version does not exist or does not support the SslCertificates service,
5255
+ # or if the versioned client gem needs an update to support the SslCertificates service.
5256
+ #
5257
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5258
+ # Defaults to `:v1`.
5259
+ # @return [boolean] Whether the service is available.
5260
+ #
5261
+ def self.ssl_certificates_available? version: :v1
5262
+ require "google/cloud/compute/#{version.to_s.downcase}"
5263
+ package_name = Google::Cloud::Compute
5264
+ .constants
5265
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5266
+ .first
5267
+ return false unless package_name
5268
+ service_module = Google::Cloud::Compute.const_get package_name
5269
+ return false unless service_module.const_defined? :SslCertificates
5270
+ service_module = service_module.const_get :SslCertificates
5271
+ return false unless service_module.const_defined? :Rest
5272
+ service_module = service_module.const_get :Rest
5273
+ service_module.const_defined? :Client
5274
+ rescue ::LoadError
5275
+ false
5276
+ end
5277
+
2509
5278
  ##
2510
5279
  # Create a new client object for SslPolicies.
2511
5280
  #
@@ -2517,6 +5286,11 @@ module Google
2517
5286
  # supported by that API version, and the corresponding gem is available, the
2518
5287
  # appropriate versioned client will be returned.
2519
5288
  #
5289
+ # Raises an exception if the currently installed versioned client gem for the
5290
+ # given API version does not support the SslPolicies service.
5291
+ # You can determine whether the method will succeed by calling
5292
+ # {Google::Cloud::Compute.ssl_policies_available?}.
5293
+ #
2520
5294
  # ## About SslPolicies
2521
5295
  #
2522
5296
  # The SslPolicies API.
@@ -2536,6 +5310,34 @@ module Google
2536
5310
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2537
5311
  end
2538
5312
 
5313
+ ##
5314
+ # Determines whether the SslPolicies service is supported by the current client.
5315
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.ssl_policies}.
5316
+ # If false, that method will raise an exception. This could happen if the given
5317
+ # API version does not exist or does not support the SslPolicies service,
5318
+ # or if the versioned client gem needs an update to support the SslPolicies service.
5319
+ #
5320
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5321
+ # Defaults to `:v1`.
5322
+ # @return [boolean] Whether the service is available.
5323
+ #
5324
+ def self.ssl_policies_available? version: :v1
5325
+ require "google/cloud/compute/#{version.to_s.downcase}"
5326
+ package_name = Google::Cloud::Compute
5327
+ .constants
5328
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5329
+ .first
5330
+ return false unless package_name
5331
+ service_module = Google::Cloud::Compute.const_get package_name
5332
+ return false unless service_module.const_defined? :SslPolicies
5333
+ service_module = service_module.const_get :SslPolicies
5334
+ return false unless service_module.const_defined? :Rest
5335
+ service_module = service_module.const_get :Rest
5336
+ service_module.const_defined? :Client
5337
+ rescue ::LoadError
5338
+ false
5339
+ end
5340
+
2539
5341
  ##
2540
5342
  # Create a new client object for StoragePoolTypes.
2541
5343
  #
@@ -2547,6 +5349,11 @@ module Google
2547
5349
  # supported by that API version, and the corresponding gem is available, the
2548
5350
  # appropriate versioned client will be returned.
2549
5351
  #
5352
+ # Raises an exception if the currently installed versioned client gem for the
5353
+ # given API version does not support the StoragePoolTypes service.
5354
+ # You can determine whether the method will succeed by calling
5355
+ # {Google::Cloud::Compute.storage_pool_types_available?}.
5356
+ #
2550
5357
  # ## About StoragePoolTypes
2551
5358
  #
2552
5359
  # The StoragePoolTypes API.
@@ -2566,6 +5373,34 @@ module Google
2566
5373
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2567
5374
  end
2568
5375
 
5376
+ ##
5377
+ # Determines whether the StoragePoolTypes service is supported by the current client.
5378
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.storage_pool_types}.
5379
+ # If false, that method will raise an exception. This could happen if the given
5380
+ # API version does not exist or does not support the StoragePoolTypes service,
5381
+ # or if the versioned client gem needs an update to support the StoragePoolTypes service.
5382
+ #
5383
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5384
+ # Defaults to `:v1`.
5385
+ # @return [boolean] Whether the service is available.
5386
+ #
5387
+ def self.storage_pool_types_available? version: :v1
5388
+ require "google/cloud/compute/#{version.to_s.downcase}"
5389
+ package_name = Google::Cloud::Compute
5390
+ .constants
5391
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5392
+ .first
5393
+ return false unless package_name
5394
+ service_module = Google::Cloud::Compute.const_get package_name
5395
+ return false unless service_module.const_defined? :StoragePoolTypes
5396
+ service_module = service_module.const_get :StoragePoolTypes
5397
+ return false unless service_module.const_defined? :Rest
5398
+ service_module = service_module.const_get :Rest
5399
+ service_module.const_defined? :Client
5400
+ rescue ::LoadError
5401
+ false
5402
+ end
5403
+
2569
5404
  ##
2570
5405
  # Create a new client object for StoragePools.
2571
5406
  #
@@ -2577,6 +5412,11 @@ module Google
2577
5412
  # supported by that API version, and the corresponding gem is available, the
2578
5413
  # appropriate versioned client will be returned.
2579
5414
  #
5415
+ # Raises an exception if the currently installed versioned client gem for the
5416
+ # given API version does not support the StoragePools service.
5417
+ # You can determine whether the method will succeed by calling
5418
+ # {Google::Cloud::Compute.storage_pools_available?}.
5419
+ #
2580
5420
  # ## About StoragePools
2581
5421
  #
2582
5422
  # The StoragePools API.
@@ -2596,6 +5436,34 @@ module Google
2596
5436
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2597
5437
  end
2598
5438
 
5439
+ ##
5440
+ # Determines whether the StoragePools service is supported by the current client.
5441
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.storage_pools}.
5442
+ # If false, that method will raise an exception. This could happen if the given
5443
+ # API version does not exist or does not support the StoragePools service,
5444
+ # or if the versioned client gem needs an update to support the StoragePools service.
5445
+ #
5446
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5447
+ # Defaults to `:v1`.
5448
+ # @return [boolean] Whether the service is available.
5449
+ #
5450
+ def self.storage_pools_available? version: :v1
5451
+ require "google/cloud/compute/#{version.to_s.downcase}"
5452
+ package_name = Google::Cloud::Compute
5453
+ .constants
5454
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5455
+ .first
5456
+ return false unless package_name
5457
+ service_module = Google::Cloud::Compute.const_get package_name
5458
+ return false unless service_module.const_defined? :StoragePools
5459
+ service_module = service_module.const_get :StoragePools
5460
+ return false unless service_module.const_defined? :Rest
5461
+ service_module = service_module.const_get :Rest
5462
+ service_module.const_defined? :Client
5463
+ rescue ::LoadError
5464
+ false
5465
+ end
5466
+
2599
5467
  ##
2600
5468
  # Create a new client object for Subnetworks.
2601
5469
  #
@@ -2607,6 +5475,11 @@ module Google
2607
5475
  # supported by that API version, and the corresponding gem is available, the
2608
5476
  # appropriate versioned client will be returned.
2609
5477
  #
5478
+ # Raises an exception if the currently installed versioned client gem for the
5479
+ # given API version does not support the Subnetworks service.
5480
+ # You can determine whether the method will succeed by calling
5481
+ # {Google::Cloud::Compute.subnetworks_available?}.
5482
+ #
2610
5483
  # ## About Subnetworks
2611
5484
  #
2612
5485
  # The Subnetworks API.
@@ -2626,6 +5499,34 @@ module Google
2626
5499
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2627
5500
  end
2628
5501
 
5502
+ ##
5503
+ # Determines whether the Subnetworks service is supported by the current client.
5504
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.subnetworks}.
5505
+ # If false, that method will raise an exception. This could happen if the given
5506
+ # API version does not exist or does not support the Subnetworks service,
5507
+ # or if the versioned client gem needs an update to support the Subnetworks service.
5508
+ #
5509
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5510
+ # Defaults to `:v1`.
5511
+ # @return [boolean] Whether the service is available.
5512
+ #
5513
+ def self.subnetworks_available? version: :v1
5514
+ require "google/cloud/compute/#{version.to_s.downcase}"
5515
+ package_name = Google::Cloud::Compute
5516
+ .constants
5517
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5518
+ .first
5519
+ return false unless package_name
5520
+ service_module = Google::Cloud::Compute.const_get package_name
5521
+ return false unless service_module.const_defined? :Subnetworks
5522
+ service_module = service_module.const_get :Subnetworks
5523
+ return false unless service_module.const_defined? :Rest
5524
+ service_module = service_module.const_get :Rest
5525
+ service_module.const_defined? :Client
5526
+ rescue ::LoadError
5527
+ false
5528
+ end
5529
+
2629
5530
  ##
2630
5531
  # Create a new client object for TargetGrpcProxies.
2631
5532
  #
@@ -2637,6 +5538,11 @@ module Google
2637
5538
  # supported by that API version, and the corresponding gem is available, the
2638
5539
  # appropriate versioned client will be returned.
2639
5540
  #
5541
+ # Raises an exception if the currently installed versioned client gem for the
5542
+ # given API version does not support the TargetGrpcProxies service.
5543
+ # You can determine whether the method will succeed by calling
5544
+ # {Google::Cloud::Compute.target_grpc_proxies_available?}.
5545
+ #
2640
5546
  # ## About TargetGrpcProxies
2641
5547
  #
2642
5548
  # The TargetGrpcProxies API.
@@ -2656,6 +5562,34 @@ module Google
2656
5562
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2657
5563
  end
2658
5564
 
5565
+ ##
5566
+ # Determines whether the TargetGrpcProxies service is supported by the current client.
5567
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_grpc_proxies}.
5568
+ # If false, that method will raise an exception. This could happen if the given
5569
+ # API version does not exist or does not support the TargetGrpcProxies service,
5570
+ # or if the versioned client gem needs an update to support the TargetGrpcProxies service.
5571
+ #
5572
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5573
+ # Defaults to `:v1`.
5574
+ # @return [boolean] Whether the service is available.
5575
+ #
5576
+ def self.target_grpc_proxies_available? version: :v1
5577
+ require "google/cloud/compute/#{version.to_s.downcase}"
5578
+ package_name = Google::Cloud::Compute
5579
+ .constants
5580
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5581
+ .first
5582
+ return false unless package_name
5583
+ service_module = Google::Cloud::Compute.const_get package_name
5584
+ return false unless service_module.const_defined? :TargetGrpcProxies
5585
+ service_module = service_module.const_get :TargetGrpcProxies
5586
+ return false unless service_module.const_defined? :Rest
5587
+ service_module = service_module.const_get :Rest
5588
+ service_module.const_defined? :Client
5589
+ rescue ::LoadError
5590
+ false
5591
+ end
5592
+
2659
5593
  ##
2660
5594
  # Create a new client object for TargetHttpProxies.
2661
5595
  #
@@ -2667,6 +5601,11 @@ module Google
2667
5601
  # supported by that API version, and the corresponding gem is available, the
2668
5602
  # appropriate versioned client will be returned.
2669
5603
  #
5604
+ # Raises an exception if the currently installed versioned client gem for the
5605
+ # given API version does not support the TargetHttpProxies service.
5606
+ # You can determine whether the method will succeed by calling
5607
+ # {Google::Cloud::Compute.target_http_proxies_available?}.
5608
+ #
2670
5609
  # ## About TargetHttpProxies
2671
5610
  #
2672
5611
  # The TargetHttpProxies API.
@@ -2686,6 +5625,34 @@ module Google
2686
5625
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2687
5626
  end
2688
5627
 
5628
+ ##
5629
+ # Determines whether the TargetHttpProxies service is supported by the current client.
5630
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_http_proxies}.
5631
+ # If false, that method will raise an exception. This could happen if the given
5632
+ # API version does not exist or does not support the TargetHttpProxies service,
5633
+ # or if the versioned client gem needs an update to support the TargetHttpProxies service.
5634
+ #
5635
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5636
+ # Defaults to `:v1`.
5637
+ # @return [boolean] Whether the service is available.
5638
+ #
5639
+ def self.target_http_proxies_available? version: :v1
5640
+ require "google/cloud/compute/#{version.to_s.downcase}"
5641
+ package_name = Google::Cloud::Compute
5642
+ .constants
5643
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5644
+ .first
5645
+ return false unless package_name
5646
+ service_module = Google::Cloud::Compute.const_get package_name
5647
+ return false unless service_module.const_defined? :TargetHttpProxies
5648
+ service_module = service_module.const_get :TargetHttpProxies
5649
+ return false unless service_module.const_defined? :Rest
5650
+ service_module = service_module.const_get :Rest
5651
+ service_module.const_defined? :Client
5652
+ rescue ::LoadError
5653
+ false
5654
+ end
5655
+
2689
5656
  ##
2690
5657
  # Create a new client object for TargetHttpsProxies.
2691
5658
  #
@@ -2697,6 +5664,11 @@ module Google
2697
5664
  # supported by that API version, and the corresponding gem is available, the
2698
5665
  # appropriate versioned client will be returned.
2699
5666
  #
5667
+ # Raises an exception if the currently installed versioned client gem for the
5668
+ # given API version does not support the TargetHttpsProxies service.
5669
+ # You can determine whether the method will succeed by calling
5670
+ # {Google::Cloud::Compute.target_https_proxies_available?}.
5671
+ #
2700
5672
  # ## About TargetHttpsProxies
2701
5673
  #
2702
5674
  # The TargetHttpsProxies API.
@@ -2716,6 +5688,34 @@ module Google
2716
5688
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2717
5689
  end
2718
5690
 
5691
+ ##
5692
+ # Determines whether the TargetHttpsProxies service is supported by the current client.
5693
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_https_proxies}.
5694
+ # If false, that method will raise an exception. This could happen if the given
5695
+ # API version does not exist or does not support the TargetHttpsProxies service,
5696
+ # or if the versioned client gem needs an update to support the TargetHttpsProxies service.
5697
+ #
5698
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5699
+ # Defaults to `:v1`.
5700
+ # @return [boolean] Whether the service is available.
5701
+ #
5702
+ def self.target_https_proxies_available? version: :v1
5703
+ require "google/cloud/compute/#{version.to_s.downcase}"
5704
+ package_name = Google::Cloud::Compute
5705
+ .constants
5706
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5707
+ .first
5708
+ return false unless package_name
5709
+ service_module = Google::Cloud::Compute.const_get package_name
5710
+ return false unless service_module.const_defined? :TargetHttpsProxies
5711
+ service_module = service_module.const_get :TargetHttpsProxies
5712
+ return false unless service_module.const_defined? :Rest
5713
+ service_module = service_module.const_get :Rest
5714
+ service_module.const_defined? :Client
5715
+ rescue ::LoadError
5716
+ false
5717
+ end
5718
+
2719
5719
  ##
2720
5720
  # Create a new client object for TargetInstances.
2721
5721
  #
@@ -2727,6 +5727,11 @@ module Google
2727
5727
  # supported by that API version, and the corresponding gem is available, the
2728
5728
  # appropriate versioned client will be returned.
2729
5729
  #
5730
+ # Raises an exception if the currently installed versioned client gem for the
5731
+ # given API version does not support the TargetInstances service.
5732
+ # You can determine whether the method will succeed by calling
5733
+ # {Google::Cloud::Compute.target_instances_available?}.
5734
+ #
2730
5735
  # ## About TargetInstances
2731
5736
  #
2732
5737
  # The TargetInstances API.
@@ -2746,6 +5751,34 @@ module Google
2746
5751
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2747
5752
  end
2748
5753
 
5754
+ ##
5755
+ # Determines whether the TargetInstances service is supported by the current client.
5756
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_instances}.
5757
+ # If false, that method will raise an exception. This could happen if the given
5758
+ # API version does not exist or does not support the TargetInstances service,
5759
+ # or if the versioned client gem needs an update to support the TargetInstances service.
5760
+ #
5761
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5762
+ # Defaults to `:v1`.
5763
+ # @return [boolean] Whether the service is available.
5764
+ #
5765
+ def self.target_instances_available? version: :v1
5766
+ require "google/cloud/compute/#{version.to_s.downcase}"
5767
+ package_name = Google::Cloud::Compute
5768
+ .constants
5769
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5770
+ .first
5771
+ return false unless package_name
5772
+ service_module = Google::Cloud::Compute.const_get package_name
5773
+ return false unless service_module.const_defined? :TargetInstances
5774
+ service_module = service_module.const_get :TargetInstances
5775
+ return false unless service_module.const_defined? :Rest
5776
+ service_module = service_module.const_get :Rest
5777
+ service_module.const_defined? :Client
5778
+ rescue ::LoadError
5779
+ false
5780
+ end
5781
+
2749
5782
  ##
2750
5783
  # Create a new client object for TargetPools.
2751
5784
  #
@@ -2757,6 +5790,11 @@ module Google
2757
5790
  # supported by that API version, and the corresponding gem is available, the
2758
5791
  # appropriate versioned client will be returned.
2759
5792
  #
5793
+ # Raises an exception if the currently installed versioned client gem for the
5794
+ # given API version does not support the TargetPools service.
5795
+ # You can determine whether the method will succeed by calling
5796
+ # {Google::Cloud::Compute.target_pools_available?}.
5797
+ #
2760
5798
  # ## About TargetPools
2761
5799
  #
2762
5800
  # The TargetPools API.
@@ -2776,6 +5814,34 @@ module Google
2776
5814
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2777
5815
  end
2778
5816
 
5817
+ ##
5818
+ # Determines whether the TargetPools service is supported by the current client.
5819
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_pools}.
5820
+ # If false, that method will raise an exception. This could happen if the given
5821
+ # API version does not exist or does not support the TargetPools service,
5822
+ # or if the versioned client gem needs an update to support the TargetPools service.
5823
+ #
5824
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5825
+ # Defaults to `:v1`.
5826
+ # @return [boolean] Whether the service is available.
5827
+ #
5828
+ def self.target_pools_available? version: :v1
5829
+ require "google/cloud/compute/#{version.to_s.downcase}"
5830
+ package_name = Google::Cloud::Compute
5831
+ .constants
5832
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5833
+ .first
5834
+ return false unless package_name
5835
+ service_module = Google::Cloud::Compute.const_get package_name
5836
+ return false unless service_module.const_defined? :TargetPools
5837
+ service_module = service_module.const_get :TargetPools
5838
+ return false unless service_module.const_defined? :Rest
5839
+ service_module = service_module.const_get :Rest
5840
+ service_module.const_defined? :Client
5841
+ rescue ::LoadError
5842
+ false
5843
+ end
5844
+
2779
5845
  ##
2780
5846
  # Create a new client object for TargetSslProxies.
2781
5847
  #
@@ -2787,6 +5853,11 @@ module Google
2787
5853
  # supported by that API version, and the corresponding gem is available, the
2788
5854
  # appropriate versioned client will be returned.
2789
5855
  #
5856
+ # Raises an exception if the currently installed versioned client gem for the
5857
+ # given API version does not support the TargetSslProxies service.
5858
+ # You can determine whether the method will succeed by calling
5859
+ # {Google::Cloud::Compute.target_ssl_proxies_available?}.
5860
+ #
2790
5861
  # ## About TargetSslProxies
2791
5862
  #
2792
5863
  # The TargetSslProxies API.
@@ -2806,6 +5877,34 @@ module Google
2806
5877
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2807
5878
  end
2808
5879
 
5880
+ ##
5881
+ # Determines whether the TargetSslProxies service is supported by the current client.
5882
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_ssl_proxies}.
5883
+ # If false, that method will raise an exception. This could happen if the given
5884
+ # API version does not exist or does not support the TargetSslProxies service,
5885
+ # or if the versioned client gem needs an update to support the TargetSslProxies service.
5886
+ #
5887
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5888
+ # Defaults to `:v1`.
5889
+ # @return [boolean] Whether the service is available.
5890
+ #
5891
+ def self.target_ssl_proxies_available? version: :v1
5892
+ require "google/cloud/compute/#{version.to_s.downcase}"
5893
+ package_name = Google::Cloud::Compute
5894
+ .constants
5895
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5896
+ .first
5897
+ return false unless package_name
5898
+ service_module = Google::Cloud::Compute.const_get package_name
5899
+ return false unless service_module.const_defined? :TargetSslProxies
5900
+ service_module = service_module.const_get :TargetSslProxies
5901
+ return false unless service_module.const_defined? :Rest
5902
+ service_module = service_module.const_get :Rest
5903
+ service_module.const_defined? :Client
5904
+ rescue ::LoadError
5905
+ false
5906
+ end
5907
+
2809
5908
  ##
2810
5909
  # Create a new client object for TargetTcpProxies.
2811
5910
  #
@@ -2817,6 +5916,11 @@ module Google
2817
5916
  # supported by that API version, and the corresponding gem is available, the
2818
5917
  # appropriate versioned client will be returned.
2819
5918
  #
5919
+ # Raises an exception if the currently installed versioned client gem for the
5920
+ # given API version does not support the TargetTcpProxies service.
5921
+ # You can determine whether the method will succeed by calling
5922
+ # {Google::Cloud::Compute.target_tcp_proxies_available?}.
5923
+ #
2820
5924
  # ## About TargetTcpProxies
2821
5925
  #
2822
5926
  # The TargetTcpProxies API.
@@ -2836,6 +5940,34 @@ module Google
2836
5940
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2837
5941
  end
2838
5942
 
5943
+ ##
5944
+ # Determines whether the TargetTcpProxies service is supported by the current client.
5945
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_tcp_proxies}.
5946
+ # If false, that method will raise an exception. This could happen if the given
5947
+ # API version does not exist or does not support the TargetTcpProxies service,
5948
+ # or if the versioned client gem needs an update to support the TargetTcpProxies service.
5949
+ #
5950
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
5951
+ # Defaults to `:v1`.
5952
+ # @return [boolean] Whether the service is available.
5953
+ #
5954
+ def self.target_tcp_proxies_available? version: :v1
5955
+ require "google/cloud/compute/#{version.to_s.downcase}"
5956
+ package_name = Google::Cloud::Compute
5957
+ .constants
5958
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5959
+ .first
5960
+ return false unless package_name
5961
+ service_module = Google::Cloud::Compute.const_get package_name
5962
+ return false unless service_module.const_defined? :TargetTcpProxies
5963
+ service_module = service_module.const_get :TargetTcpProxies
5964
+ return false unless service_module.const_defined? :Rest
5965
+ service_module = service_module.const_get :Rest
5966
+ service_module.const_defined? :Client
5967
+ rescue ::LoadError
5968
+ false
5969
+ end
5970
+
2839
5971
  ##
2840
5972
  # Create a new client object for TargetVpnGateways.
2841
5973
  #
@@ -2847,6 +5979,11 @@ module Google
2847
5979
  # supported by that API version, and the corresponding gem is available, the
2848
5980
  # appropriate versioned client will be returned.
2849
5981
  #
5982
+ # Raises an exception if the currently installed versioned client gem for the
5983
+ # given API version does not support the TargetVpnGateways service.
5984
+ # You can determine whether the method will succeed by calling
5985
+ # {Google::Cloud::Compute.target_vpn_gateways_available?}.
5986
+ #
2850
5987
  # ## About TargetVpnGateways
2851
5988
  #
2852
5989
  # The TargetVpnGateways API.
@@ -2866,6 +6003,34 @@ module Google
2866
6003
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2867
6004
  end
2868
6005
 
6006
+ ##
6007
+ # Determines whether the TargetVpnGateways service is supported by the current client.
6008
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_vpn_gateways}.
6009
+ # If false, that method will raise an exception. This could happen if the given
6010
+ # API version does not exist or does not support the TargetVpnGateways service,
6011
+ # or if the versioned client gem needs an update to support the TargetVpnGateways service.
6012
+ #
6013
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6014
+ # Defaults to `:v1`.
6015
+ # @return [boolean] Whether the service is available.
6016
+ #
6017
+ def self.target_vpn_gateways_available? version: :v1
6018
+ require "google/cloud/compute/#{version.to_s.downcase}"
6019
+ package_name = Google::Cloud::Compute
6020
+ .constants
6021
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6022
+ .first
6023
+ return false unless package_name
6024
+ service_module = Google::Cloud::Compute.const_get package_name
6025
+ return false unless service_module.const_defined? :TargetVpnGateways
6026
+ service_module = service_module.const_get :TargetVpnGateways
6027
+ return false unless service_module.const_defined? :Rest
6028
+ service_module = service_module.const_get :Rest
6029
+ service_module.const_defined? :Client
6030
+ rescue ::LoadError
6031
+ false
6032
+ end
6033
+
2869
6034
  ##
2870
6035
  # Create a new client object for UrlMaps.
2871
6036
  #
@@ -2877,6 +6042,11 @@ module Google
2877
6042
  # supported by that API version, and the corresponding gem is available, the
2878
6043
  # appropriate versioned client will be returned.
2879
6044
  #
6045
+ # Raises an exception if the currently installed versioned client gem for the
6046
+ # given API version does not support the UrlMaps service.
6047
+ # You can determine whether the method will succeed by calling
6048
+ # {Google::Cloud::Compute.url_maps_available?}.
6049
+ #
2880
6050
  # ## About UrlMaps
2881
6051
  #
2882
6052
  # The UrlMaps API.
@@ -2896,6 +6066,34 @@ module Google
2896
6066
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2897
6067
  end
2898
6068
 
6069
+ ##
6070
+ # Determines whether the UrlMaps service is supported by the current client.
6071
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.url_maps}.
6072
+ # If false, that method will raise an exception. This could happen if the given
6073
+ # API version does not exist or does not support the UrlMaps service,
6074
+ # or if the versioned client gem needs an update to support the UrlMaps service.
6075
+ #
6076
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6077
+ # Defaults to `:v1`.
6078
+ # @return [boolean] Whether the service is available.
6079
+ #
6080
+ def self.url_maps_available? version: :v1
6081
+ require "google/cloud/compute/#{version.to_s.downcase}"
6082
+ package_name = Google::Cloud::Compute
6083
+ .constants
6084
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6085
+ .first
6086
+ return false unless package_name
6087
+ service_module = Google::Cloud::Compute.const_get package_name
6088
+ return false unless service_module.const_defined? :UrlMaps
6089
+ service_module = service_module.const_get :UrlMaps
6090
+ return false unless service_module.const_defined? :Rest
6091
+ service_module = service_module.const_get :Rest
6092
+ service_module.const_defined? :Client
6093
+ rescue ::LoadError
6094
+ false
6095
+ end
6096
+
2899
6097
  ##
2900
6098
  # Create a new client object for VpnGateways.
2901
6099
  #
@@ -2907,6 +6105,11 @@ module Google
2907
6105
  # supported by that API version, and the corresponding gem is available, the
2908
6106
  # appropriate versioned client will be returned.
2909
6107
  #
6108
+ # Raises an exception if the currently installed versioned client gem for the
6109
+ # given API version does not support the VpnGateways service.
6110
+ # You can determine whether the method will succeed by calling
6111
+ # {Google::Cloud::Compute.vpn_gateways_available?}.
6112
+ #
2910
6113
  # ## About VpnGateways
2911
6114
  #
2912
6115
  # The VpnGateways API.
@@ -2926,6 +6129,34 @@ module Google
2926
6129
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2927
6130
  end
2928
6131
 
6132
+ ##
6133
+ # Determines whether the VpnGateways service is supported by the current client.
6134
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.vpn_gateways}.
6135
+ # If false, that method will raise an exception. This could happen if the given
6136
+ # API version does not exist or does not support the VpnGateways service,
6137
+ # or if the versioned client gem needs an update to support the VpnGateways service.
6138
+ #
6139
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6140
+ # Defaults to `:v1`.
6141
+ # @return [boolean] Whether the service is available.
6142
+ #
6143
+ def self.vpn_gateways_available? version: :v1
6144
+ require "google/cloud/compute/#{version.to_s.downcase}"
6145
+ package_name = Google::Cloud::Compute
6146
+ .constants
6147
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6148
+ .first
6149
+ return false unless package_name
6150
+ service_module = Google::Cloud::Compute.const_get package_name
6151
+ return false unless service_module.const_defined? :VpnGateways
6152
+ service_module = service_module.const_get :VpnGateways
6153
+ return false unless service_module.const_defined? :Rest
6154
+ service_module = service_module.const_get :Rest
6155
+ service_module.const_defined? :Client
6156
+ rescue ::LoadError
6157
+ false
6158
+ end
6159
+
2929
6160
  ##
2930
6161
  # Create a new client object for VpnTunnels.
2931
6162
  #
@@ -2937,6 +6168,11 @@ module Google
2937
6168
  # supported by that API version, and the corresponding gem is available, the
2938
6169
  # appropriate versioned client will be returned.
2939
6170
  #
6171
+ # Raises an exception if the currently installed versioned client gem for the
6172
+ # given API version does not support the VpnTunnels service.
6173
+ # You can determine whether the method will succeed by calling
6174
+ # {Google::Cloud::Compute.vpn_tunnels_available?}.
6175
+ #
2940
6176
  # ## About VpnTunnels
2941
6177
  #
2942
6178
  # The VpnTunnels API.
@@ -2956,6 +6192,34 @@ module Google
2956
6192
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2957
6193
  end
2958
6194
 
6195
+ ##
6196
+ # Determines whether the VpnTunnels service is supported by the current client.
6197
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.vpn_tunnels}.
6198
+ # If false, that method will raise an exception. This could happen if the given
6199
+ # API version does not exist or does not support the VpnTunnels service,
6200
+ # or if the versioned client gem needs an update to support the VpnTunnels service.
6201
+ #
6202
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6203
+ # Defaults to `:v1`.
6204
+ # @return [boolean] Whether the service is available.
6205
+ #
6206
+ def self.vpn_tunnels_available? version: :v1
6207
+ require "google/cloud/compute/#{version.to_s.downcase}"
6208
+ package_name = Google::Cloud::Compute
6209
+ .constants
6210
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6211
+ .first
6212
+ return false unless package_name
6213
+ service_module = Google::Cloud::Compute.const_get package_name
6214
+ return false unless service_module.const_defined? :VpnTunnels
6215
+ service_module = service_module.const_get :VpnTunnels
6216
+ return false unless service_module.const_defined? :Rest
6217
+ service_module = service_module.const_get :Rest
6218
+ service_module.const_defined? :Client
6219
+ rescue ::LoadError
6220
+ false
6221
+ end
6222
+
2959
6223
  ##
2960
6224
  # Create a new client object for ZoneOperations.
2961
6225
  #
@@ -2967,6 +6231,11 @@ module Google
2967
6231
  # supported by that API version, and the corresponding gem is available, the
2968
6232
  # appropriate versioned client will be returned.
2969
6233
  #
6234
+ # Raises an exception if the currently installed versioned client gem for the
6235
+ # given API version does not support the ZoneOperations service.
6236
+ # You can determine whether the method will succeed by calling
6237
+ # {Google::Cloud::Compute.zone_operations_available?}.
6238
+ #
2970
6239
  # ## About ZoneOperations
2971
6240
  #
2972
6241
  # The ZoneOperations API.
@@ -2986,6 +6255,34 @@ module Google
2986
6255
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2987
6256
  end
2988
6257
 
6258
+ ##
6259
+ # Determines whether the ZoneOperations service is supported by the current client.
6260
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.zone_operations}.
6261
+ # If false, that method will raise an exception. This could happen if the given
6262
+ # API version does not exist or does not support the ZoneOperations service,
6263
+ # or if the versioned client gem needs an update to support the ZoneOperations service.
6264
+ #
6265
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6266
+ # Defaults to `:v1`.
6267
+ # @return [boolean] Whether the service is available.
6268
+ #
6269
+ def self.zone_operations_available? version: :v1
6270
+ require "google/cloud/compute/#{version.to_s.downcase}"
6271
+ package_name = Google::Cloud::Compute
6272
+ .constants
6273
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6274
+ .first
6275
+ return false unless package_name
6276
+ service_module = Google::Cloud::Compute.const_get package_name
6277
+ return false unless service_module.const_defined? :ZoneOperations
6278
+ service_module = service_module.const_get :ZoneOperations
6279
+ return false unless service_module.const_defined? :Rest
6280
+ service_module = service_module.const_get :Rest
6281
+ service_module.const_defined? :Client
6282
+ rescue ::LoadError
6283
+ false
6284
+ end
6285
+
2989
6286
  ##
2990
6287
  # Create a new client object for Zones.
2991
6288
  #
@@ -2997,6 +6294,11 @@ module Google
2997
6294
  # supported by that API version, and the corresponding gem is available, the
2998
6295
  # appropriate versioned client will be returned.
2999
6296
  #
6297
+ # Raises an exception if the currently installed versioned client gem for the
6298
+ # given API version does not support the Zones service.
6299
+ # You can determine whether the method will succeed by calling
6300
+ # {Google::Cloud::Compute.zones_available?}.
6301
+ #
3000
6302
  # ## About Zones
3001
6303
  #
3002
6304
  # The Zones API.
@@ -3016,6 +6318,34 @@ module Google
3016
6318
  service_module.const_get(:Rest).const_get(:Client).new(&block)
3017
6319
  end
3018
6320
 
6321
+ ##
6322
+ # Determines whether the Zones service is supported by the current client.
6323
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.zones}.
6324
+ # If false, that method will raise an exception. This could happen if the given
6325
+ # API version does not exist or does not support the Zones service,
6326
+ # or if the versioned client gem needs an update to support the Zones service.
6327
+ #
6328
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
6329
+ # Defaults to `:v1`.
6330
+ # @return [boolean] Whether the service is available.
6331
+ #
6332
+ def self.zones_available? version: :v1
6333
+ require "google/cloud/compute/#{version.to_s.downcase}"
6334
+ package_name = Google::Cloud::Compute
6335
+ .constants
6336
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
6337
+ .first
6338
+ return false unless package_name
6339
+ service_module = Google::Cloud::Compute.const_get package_name
6340
+ return false unless service_module.const_defined? :Zones
6341
+ service_module = service_module.const_get :Zones
6342
+ return false unless service_module.const_defined? :Rest
6343
+ service_module = service_module.const_get :Rest
6344
+ service_module.const_defined? :Client
6345
+ rescue ::LoadError
6346
+ false
6347
+ end
6348
+
3019
6349
  ##
3020
6350
  # Configure the google-cloud-compute library.
3021
6351
  #