google-cloud-compute 1.9.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.
@@ -1216,6 +2475,34 @@ module Google
1216
2475
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1217
2476
  end
1218
2477
 
2478
+ ##
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
+
1219
2506
  ##
1220
2507
  # Create a new client object for NetworkProfiles.
1221
2508
  #
@@ -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,23 +2640,56 @@ 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.
1293
2651
  #
1294
2652
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
1295
2653
  # Defaults to `:v1`.
1296
- # @return [::Object] A client object for the specified version.
2654
+ # @return [::Object] A client object for the specified version.
2655
+ #
2656
+ def self.node_groups version: :v1, &block
2657
+ require "google/cloud/compute/#{version.to_s.downcase}"
2658
+
2659
+ package_name = Google::Cloud::Compute
2660
+ .constants
2661
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2662
+ .first
2663
+ service_module = Google::Cloud::Compute.const_get(package_name).const_get(:NodeGroups)
2664
+ service_module.const_get(:Rest).const_get(:Client).new(&block)
2665
+ end
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.
1297
2677
  #
1298
- def self.node_groups version: :v1, &block
2678
+ def self.node_groups_available? version: :v1
1299
2679
  require "google/cloud/compute/#{version.to_s.downcase}"
1300
-
1301
2680
  package_name = Google::Cloud::Compute
1302
2681
  .constants
1303
2682
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1304
2683
  .first
1305
- service_module = Google::Cloud::Compute.const_get(package_name).const_get(:NodeGroups)
1306
- service_module.const_get(:Rest).const_get(:Client).new(&block)
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
1307
2693
  end
1308
2694
 
1309
2695
  ##
@@ -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.
@@ -1786,6 +3672,34 @@ module Google
1786
3672
  service_module.const_get(:Rest).const_get(:Client).new(&block)
1787
3673
  end
1788
3674
 
3675
+ ##
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.
3681
+ #
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
+
1789
3703
  ##
1790
3704
  # Create a new client object for RegionInstances.
1791
3705
  #
@@ -1797,6 +3711,11 @@ module Google
1797
3711
  # supported by that API version, and the corresponding gem is available, the
1798
3712
  # appropriate versioned client will be returned.
1799
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?}.
3718
+ #
1800
3719
  # ## About RegionInstances
1801
3720
  #
1802
3721
  # The RegionInstances API.
@@ -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,23 +3837,56 @@ 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.
1863
3848
  #
1864
3849
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
1865
3850
  # Defaults to `:v1`.
1866
- # @return [::Object] A client object for the specified version.
3851
+ # @return [::Object] A client object for the specified version.
3852
+ #
3853
+ def self.region_network_endpoint_groups version: :v1, &block
3854
+ require "google/cloud/compute/#{version.to_s.downcase}"
3855
+
3856
+ package_name = Google::Cloud::Compute
3857
+ .constants
3858
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
3859
+ .first
3860
+ service_module = Google::Cloud::Compute.const_get(package_name).const_get(:RegionNetworkEndpointGroups)
3861
+ service_module.const_get(:Rest).const_get(:Client).new(&block)
3862
+ end
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.
1867
3874
  #
1868
- def self.region_network_endpoint_groups version: :v1, &block
3875
+ def self.region_network_endpoint_groups_available? version: :v1
1869
3876
  require "google/cloud/compute/#{version.to_s.downcase}"
1870
-
1871
3877
  package_name = Google::Cloud::Compute
1872
3878
  .constants
1873
3879
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
1874
3880
  .first
1875
- service_module = Google::Cloud::Compute.const_get(package_name).const_get(:RegionNetworkEndpointGroups)
1876
- service_module.const_get(:Rest).const_get(:Client).new(&block)
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
1877
3890
  end
1878
3891
 
1879
3892
  ##
@@ -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,34 @@ 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
+
2239
4648
  ##
2240
4649
  # Create a new client object for Reservations.
2241
4650
  #
@@ -2247,6 +4656,11 @@ module Google
2247
4656
  # supported by that API version, and the corresponding gem is available, the
2248
4657
  # appropriate versioned client will be returned.
2249
4658
  #
4659
+ # Raises an exception if the currently installed versioned client gem for the
4660
+ # given API version does not support the Reservations service.
4661
+ # You can determine whether the method will succeed by calling
4662
+ # {Google::Cloud::Compute.reservations_available?}.
4663
+ #
2250
4664
  # ## About Reservations
2251
4665
  #
2252
4666
  # The Reservations API.
@@ -2266,6 +4680,34 @@ module Google
2266
4680
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2267
4681
  end
2268
4682
 
4683
+ ##
4684
+ # Determines whether the Reservations service is supported by the current client.
4685
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.reservations}.
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 Reservations service,
4688
+ # or if the versioned client gem needs an update to support the Reservations 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.reservations_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? :Reservations
4703
+ service_module = service_module.const_get :Reservations
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
+
2269
4711
  ##
2270
4712
  # Create a new client object for ResourcePolicies.
2271
4713
  #
@@ -2277,6 +4719,11 @@ module Google
2277
4719
  # supported by that API version, and the corresponding gem is available, the
2278
4720
  # appropriate versioned client will be returned.
2279
4721
  #
4722
+ # Raises an exception if the currently installed versioned client gem for the
4723
+ # given API version does not support the ResourcePolicies service.
4724
+ # You can determine whether the method will succeed by calling
4725
+ # {Google::Cloud::Compute.resource_policies_available?}.
4726
+ #
2280
4727
  # ## About ResourcePolicies
2281
4728
  #
2282
4729
  # The ResourcePolicies API.
@@ -2296,6 +4743,34 @@ module Google
2296
4743
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2297
4744
  end
2298
4745
 
4746
+ ##
4747
+ # Determines whether the ResourcePolicies service is supported by the current client.
4748
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.resource_policies}.
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 ResourcePolicies service,
4751
+ # or if the versioned client gem needs an update to support the ResourcePolicies 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.resource_policies_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? :ResourcePolicies
4766
+ service_module = service_module.const_get :ResourcePolicies
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
+
2299
4774
  ##
2300
4775
  # Create a new client object for Routers.
2301
4776
  #
@@ -2307,6 +4782,11 @@ module Google
2307
4782
  # supported by that API version, and the corresponding gem is available, the
2308
4783
  # appropriate versioned client will be returned.
2309
4784
  #
4785
+ # Raises an exception if the currently installed versioned client gem for the
4786
+ # given API version does not support the Routers service.
4787
+ # You can determine whether the method will succeed by calling
4788
+ # {Google::Cloud::Compute.routers_available?}.
4789
+ #
2310
4790
  # ## About Routers
2311
4791
  #
2312
4792
  # The Routers API.
@@ -2326,6 +4806,34 @@ module Google
2326
4806
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2327
4807
  end
2328
4808
 
4809
+ ##
4810
+ # Determines whether the Routers service is supported by the current client.
4811
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.routers}.
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 Routers service,
4814
+ # or if the versioned client gem needs an update to support the Routers 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.routers_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? :Routers
4829
+ service_module = service_module.const_get :Routers
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
+
2329
4837
  ##
2330
4838
  # Create a new client object for Routes.
2331
4839
  #
@@ -2337,6 +4845,11 @@ module Google
2337
4845
  # supported by that API version, and the corresponding gem is available, the
2338
4846
  # appropriate versioned client will be returned.
2339
4847
  #
4848
+ # Raises an exception if the currently installed versioned client gem for the
4849
+ # given API version does not support the Routes service.
4850
+ # You can determine whether the method will succeed by calling
4851
+ # {Google::Cloud::Compute.routes_available?}.
4852
+ #
2340
4853
  # ## About Routes
2341
4854
  #
2342
4855
  # The Routes API.
@@ -2356,6 +4869,34 @@ module Google
2356
4869
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2357
4870
  end
2358
4871
 
4872
+ ##
4873
+ # Determines whether the Routes service is supported by the current client.
4874
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.routes}.
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 Routes service,
4877
+ # or if the versioned client gem needs an update to support the Routes 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.routes_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? :Routes
4892
+ service_module = service_module.const_get :Routes
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
+
2359
4900
  ##
2360
4901
  # Create a new client object for SecurityPolicies.
2361
4902
  #
@@ -2367,6 +4908,11 @@ module Google
2367
4908
  # supported by that API version, and the corresponding gem is available, the
2368
4909
  # appropriate versioned client will be returned.
2369
4910
  #
4911
+ # Raises an exception if the currently installed versioned client gem for the
4912
+ # given API version does not support the SecurityPolicies service.
4913
+ # You can determine whether the method will succeed by calling
4914
+ # {Google::Cloud::Compute.security_policies_available?}.
4915
+ #
2370
4916
  # ## About SecurityPolicies
2371
4917
  #
2372
4918
  # The SecurityPolicies API.
@@ -2386,6 +4932,34 @@ module Google
2386
4932
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2387
4933
  end
2388
4934
 
4935
+ ##
4936
+ # Determines whether the SecurityPolicies service is supported by the current client.
4937
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.security_policies}.
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 SecurityPolicies service,
4940
+ # or if the versioned client gem needs an update to support the SecurityPolicies 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.security_policies_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? :SecurityPolicies
4955
+ service_module = service_module.const_get :SecurityPolicies
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
+
2389
4963
  ##
2390
4964
  # Create a new client object for ServiceAttachments.
2391
4965
  #
@@ -2397,6 +4971,11 @@ module Google
2397
4971
  # supported by that API version, and the corresponding gem is available, the
2398
4972
  # appropriate versioned client will be returned.
2399
4973
  #
4974
+ # Raises an exception if the currently installed versioned client gem for the
4975
+ # given API version does not support the ServiceAttachments service.
4976
+ # You can determine whether the method will succeed by calling
4977
+ # {Google::Cloud::Compute.service_attachments_available?}.
4978
+ #
2400
4979
  # ## About ServiceAttachments
2401
4980
  #
2402
4981
  # The ServiceAttachments API.
@@ -2416,6 +4995,34 @@ module Google
2416
4995
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2417
4996
  end
2418
4997
 
4998
+ ##
4999
+ # Determines whether the ServiceAttachments service is supported by the current client.
5000
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.service_attachments}.
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 ServiceAttachments service,
5003
+ # or if the versioned client gem needs an update to support the ServiceAttachments 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.service_attachments_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? :ServiceAttachments
5018
+ service_module = service_module.const_get :ServiceAttachments
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
+
2419
5026
  ##
2420
5027
  # Create a new client object for SnapshotSettingsService.
2421
5028
  #
@@ -2427,23 +5034,56 @@ module Google
2427
5034
  # supported by that API version, and the corresponding gem is available, the
2428
5035
  # appropriate versioned client will be returned.
2429
5036
  #
5037
+ # Raises an exception if the currently installed versioned client gem for the
5038
+ # given API version does not support the SnapshotSettingsService service.
5039
+ # You can determine whether the method will succeed by calling
5040
+ # {Google::Cloud::Compute.snapshot_settings_service_available?}.
5041
+ #
2430
5042
  # ## About SnapshotSettingsService
2431
5043
  #
2432
5044
  # The SnapshotSettings API.
2433
5045
  #
2434
5046
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
2435
5047
  # Defaults to `:v1`.
2436
- # @return [::Object] A client object for the specified version.
5048
+ # @return [::Object] A client object for the specified version.
5049
+ #
5050
+ def self.snapshot_settings_service version: :v1, &block
5051
+ require "google/cloud/compute/#{version.to_s.downcase}"
5052
+
5053
+ package_name = Google::Cloud::Compute
5054
+ .constants
5055
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5056
+ .first
5057
+ service_module = Google::Cloud::Compute.const_get(package_name).const_get(:SnapshotSettingsService)
5058
+ service_module.const_get(:Rest).const_get(:Client).new(&block)
5059
+ end
5060
+
5061
+ ##
5062
+ # Determines whether the SnapshotSettingsService service is supported by the current client.
5063
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.snapshot_settings_service}.
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 SnapshotSettingsService service,
5066
+ # or if the versioned client gem needs an update to support the SnapshotSettingsService 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.
2437
5071
  #
2438
- def self.snapshot_settings_service version: :v1, &block
5072
+ def self.snapshot_settings_service_available? version: :v1
2439
5073
  require "google/cloud/compute/#{version.to_s.downcase}"
2440
-
2441
5074
  package_name = Google::Cloud::Compute
2442
5075
  .constants
2443
5076
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
2444
5077
  .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)
5078
+ return false unless package_name
5079
+ service_module = Google::Cloud::Compute.const_get package_name
5080
+ return false unless service_module.const_defined? :SnapshotSettingsService
5081
+ service_module = service_module.const_get :SnapshotSettingsService
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
2447
5087
  end
2448
5088
 
2449
5089
  ##
@@ -2457,6 +5097,11 @@ module Google
2457
5097
  # supported by that API version, and the corresponding gem is available, the
2458
5098
  # appropriate versioned client will be returned.
2459
5099
  #
5100
+ # Raises an exception if the currently installed versioned client gem for the
5101
+ # given API version does not support the Snapshots service.
5102
+ # You can determine whether the method will succeed by calling
5103
+ # {Google::Cloud::Compute.snapshots_available?}.
5104
+ #
2460
5105
  # ## About Snapshots
2461
5106
  #
2462
5107
  # The Snapshots API.
@@ -2476,6 +5121,34 @@ module Google
2476
5121
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2477
5122
  end
2478
5123
 
5124
+ ##
5125
+ # Determines whether the Snapshots service is supported by the current client.
5126
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.snapshots}.
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 Snapshots service,
5129
+ # or if the versioned client gem needs an update to support the Snapshots 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.
5134
+ #
5135
+ def self.snapshots_available? version: :v1
5136
+ require "google/cloud/compute/#{version.to_s.downcase}"
5137
+ package_name = Google::Cloud::Compute
5138
+ .constants
5139
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
5140
+ .first
5141
+ return false unless package_name
5142
+ service_module = Google::Cloud::Compute.const_get package_name
5143
+ return false unless service_module.const_defined? :Snapshots
5144
+ service_module = service_module.const_get :Snapshots
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
5150
+ end
5151
+
2479
5152
  ##
2480
5153
  # Create a new client object for SslCertificates.
2481
5154
  #
@@ -2487,6 +5160,11 @@ module Google
2487
5160
  # supported by that API version, and the corresponding gem is available, the
2488
5161
  # appropriate versioned client will be returned.
2489
5162
  #
5163
+ # Raises an exception if the currently installed versioned client gem for the
5164
+ # given API version does not support the SslCertificates service.
5165
+ # You can determine whether the method will succeed by calling
5166
+ # {Google::Cloud::Compute.ssl_certificates_available?}.
5167
+ #
2490
5168
  # ## About SslCertificates
2491
5169
  #
2492
5170
  # The SslCertificates API.
@@ -2506,6 +5184,34 @@ module Google
2506
5184
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2507
5185
  end
2508
5186
 
5187
+ ##
5188
+ # Determines whether the SslCertificates service is supported by the current client.
5189
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.ssl_certificates}.
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 SslCertificates service,
5192
+ # or if the versioned client gem needs an update to support the SslCertificates 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.ssl_certificates_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? :SslCertificates
5207
+ service_module = service_module.const_get :SslCertificates
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
+
2509
5215
  ##
2510
5216
  # Create a new client object for SslPolicies.
2511
5217
  #
@@ -2517,6 +5223,11 @@ module Google
2517
5223
  # supported by that API version, and the corresponding gem is available, the
2518
5224
  # appropriate versioned client will be returned.
2519
5225
  #
5226
+ # Raises an exception if the currently installed versioned client gem for the
5227
+ # given API version does not support the SslPolicies service.
5228
+ # You can determine whether the method will succeed by calling
5229
+ # {Google::Cloud::Compute.ssl_policies_available?}.
5230
+ #
2520
5231
  # ## About SslPolicies
2521
5232
  #
2522
5233
  # The SslPolicies API.
@@ -2536,6 +5247,34 @@ module Google
2536
5247
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2537
5248
  end
2538
5249
 
5250
+ ##
5251
+ # Determines whether the SslPolicies service is supported by the current client.
5252
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.ssl_policies}.
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 SslPolicies service,
5255
+ # or if the versioned client gem needs an update to support the SslPolicies 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_policies_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? :SslPolicies
5270
+ service_module = service_module.const_get :SslPolicies
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
+
2539
5278
  ##
2540
5279
  # Create a new client object for StoragePoolTypes.
2541
5280
  #
@@ -2547,6 +5286,11 @@ module Google
2547
5286
  # supported by that API version, and the corresponding gem is available, the
2548
5287
  # appropriate versioned client will be returned.
2549
5288
  #
5289
+ # Raises an exception if the currently installed versioned client gem for the
5290
+ # given API version does not support the StoragePoolTypes service.
5291
+ # You can determine whether the method will succeed by calling
5292
+ # {Google::Cloud::Compute.storage_pool_types_available?}.
5293
+ #
2550
5294
  # ## About StoragePoolTypes
2551
5295
  #
2552
5296
  # The StoragePoolTypes API.
@@ -2566,6 +5310,34 @@ module Google
2566
5310
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2567
5311
  end
2568
5312
 
5313
+ ##
5314
+ # Determines whether the StoragePoolTypes service is supported by the current client.
5315
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.storage_pool_types}.
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 StoragePoolTypes service,
5318
+ # or if the versioned client gem needs an update to support the StoragePoolTypes 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.storage_pool_types_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? :StoragePoolTypes
5333
+ service_module = service_module.const_get :StoragePoolTypes
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
+
2569
5341
  ##
2570
5342
  # Create a new client object for StoragePools.
2571
5343
  #
@@ -2577,6 +5349,11 @@ module Google
2577
5349
  # supported by that API version, and the corresponding gem is available, the
2578
5350
  # appropriate versioned client will be returned.
2579
5351
  #
5352
+ # Raises an exception if the currently installed versioned client gem for the
5353
+ # given API version does not support the StoragePools service.
5354
+ # You can determine whether the method will succeed by calling
5355
+ # {Google::Cloud::Compute.storage_pools_available?}.
5356
+ #
2580
5357
  # ## About StoragePools
2581
5358
  #
2582
5359
  # The StoragePools API.
@@ -2596,6 +5373,34 @@ module Google
2596
5373
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2597
5374
  end
2598
5375
 
5376
+ ##
5377
+ # Determines whether the StoragePools service is supported by the current client.
5378
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.storage_pools}.
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 StoragePools service,
5381
+ # or if the versioned client gem needs an update to support the StoragePools 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_pools_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? :StoragePools
5396
+ service_module = service_module.const_get :StoragePools
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
+
2599
5404
  ##
2600
5405
  # Create a new client object for Subnetworks.
2601
5406
  #
@@ -2607,6 +5412,11 @@ module Google
2607
5412
  # supported by that API version, and the corresponding gem is available, the
2608
5413
  # appropriate versioned client will be returned.
2609
5414
  #
5415
+ # Raises an exception if the currently installed versioned client gem for the
5416
+ # given API version does not support the Subnetworks service.
5417
+ # You can determine whether the method will succeed by calling
5418
+ # {Google::Cloud::Compute.subnetworks_available?}.
5419
+ #
2610
5420
  # ## About Subnetworks
2611
5421
  #
2612
5422
  # The Subnetworks API.
@@ -2626,6 +5436,34 @@ module Google
2626
5436
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2627
5437
  end
2628
5438
 
5439
+ ##
5440
+ # Determines whether the Subnetworks service is supported by the current client.
5441
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.subnetworks}.
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 Subnetworks service,
5444
+ # or if the versioned client gem needs an update to support the Subnetworks 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.subnetworks_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? :Subnetworks
5459
+ service_module = service_module.const_get :Subnetworks
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
+
2629
5467
  ##
2630
5468
  # Create a new client object for TargetGrpcProxies.
2631
5469
  #
@@ -2637,6 +5475,11 @@ module Google
2637
5475
  # supported by that API version, and the corresponding gem is available, the
2638
5476
  # appropriate versioned client will be returned.
2639
5477
  #
5478
+ # Raises an exception if the currently installed versioned client gem for the
5479
+ # given API version does not support the TargetGrpcProxies service.
5480
+ # You can determine whether the method will succeed by calling
5481
+ # {Google::Cloud::Compute.target_grpc_proxies_available?}.
5482
+ #
2640
5483
  # ## About TargetGrpcProxies
2641
5484
  #
2642
5485
  # The TargetGrpcProxies API.
@@ -2656,6 +5499,34 @@ module Google
2656
5499
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2657
5500
  end
2658
5501
 
5502
+ ##
5503
+ # Determines whether the TargetGrpcProxies service is supported by the current client.
5504
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_grpc_proxies}.
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 TargetGrpcProxies service,
5507
+ # or if the versioned client gem needs an update to support the TargetGrpcProxies 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.target_grpc_proxies_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? :TargetGrpcProxies
5522
+ service_module = service_module.const_get :TargetGrpcProxies
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
+
2659
5530
  ##
2660
5531
  # Create a new client object for TargetHttpProxies.
2661
5532
  #
@@ -2667,6 +5538,11 @@ module Google
2667
5538
  # supported by that API version, and the corresponding gem is available, the
2668
5539
  # appropriate versioned client will be returned.
2669
5540
  #
5541
+ # Raises an exception if the currently installed versioned client gem for the
5542
+ # given API version does not support the TargetHttpProxies service.
5543
+ # You can determine whether the method will succeed by calling
5544
+ # {Google::Cloud::Compute.target_http_proxies_available?}.
5545
+ #
2670
5546
  # ## About TargetHttpProxies
2671
5547
  #
2672
5548
  # The TargetHttpProxies API.
@@ -2686,6 +5562,34 @@ module Google
2686
5562
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2687
5563
  end
2688
5564
 
5565
+ ##
5566
+ # Determines whether the TargetHttpProxies service is supported by the current client.
5567
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_http_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 TargetHttpProxies service,
5570
+ # or if the versioned client gem needs an update to support the TargetHttpProxies 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_http_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? :TargetHttpProxies
5585
+ service_module = service_module.const_get :TargetHttpProxies
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
+
2689
5593
  ##
2690
5594
  # Create a new client object for TargetHttpsProxies.
2691
5595
  #
@@ -2697,6 +5601,11 @@ module Google
2697
5601
  # supported by that API version, and the corresponding gem is available, the
2698
5602
  # appropriate versioned client will be returned.
2699
5603
  #
5604
+ # Raises an exception if the currently installed versioned client gem for the
5605
+ # given API version does not support the TargetHttpsProxies service.
5606
+ # You can determine whether the method will succeed by calling
5607
+ # {Google::Cloud::Compute.target_https_proxies_available?}.
5608
+ #
2700
5609
  # ## About TargetHttpsProxies
2701
5610
  #
2702
5611
  # The TargetHttpsProxies API.
@@ -2716,6 +5625,34 @@ module Google
2716
5625
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2717
5626
  end
2718
5627
 
5628
+ ##
5629
+ # Determines whether the TargetHttpsProxies service is supported by the current client.
5630
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_https_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 TargetHttpsProxies service,
5633
+ # or if the versioned client gem needs an update to support the TargetHttpsProxies 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_https_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? :TargetHttpsProxies
5648
+ service_module = service_module.const_get :TargetHttpsProxies
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
+
2719
5656
  ##
2720
5657
  # Create a new client object for TargetInstances.
2721
5658
  #
@@ -2727,6 +5664,11 @@ module Google
2727
5664
  # supported by that API version, and the corresponding gem is available, the
2728
5665
  # appropriate versioned client will be returned.
2729
5666
  #
5667
+ # Raises an exception if the currently installed versioned client gem for the
5668
+ # given API version does not support the TargetInstances service.
5669
+ # You can determine whether the method will succeed by calling
5670
+ # {Google::Cloud::Compute.target_instances_available?}.
5671
+ #
2730
5672
  # ## About TargetInstances
2731
5673
  #
2732
5674
  # The TargetInstances API.
@@ -2746,6 +5688,34 @@ module Google
2746
5688
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2747
5689
  end
2748
5690
 
5691
+ ##
5692
+ # Determines whether the TargetInstances service is supported by the current client.
5693
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_instances}.
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 TargetInstances service,
5696
+ # or if the versioned client gem needs an update to support the TargetInstances 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_instances_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? :TargetInstances
5711
+ service_module = service_module.const_get :TargetInstances
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
+
2749
5719
  ##
2750
5720
  # Create a new client object for TargetPools.
2751
5721
  #
@@ -2757,6 +5727,11 @@ module Google
2757
5727
  # supported by that API version, and the corresponding gem is available, the
2758
5728
  # appropriate versioned client will be returned.
2759
5729
  #
5730
+ # Raises an exception if the currently installed versioned client gem for the
5731
+ # given API version does not support the TargetPools service.
5732
+ # You can determine whether the method will succeed by calling
5733
+ # {Google::Cloud::Compute.target_pools_available?}.
5734
+ #
2760
5735
  # ## About TargetPools
2761
5736
  #
2762
5737
  # The TargetPools API.
@@ -2776,6 +5751,34 @@ module Google
2776
5751
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2777
5752
  end
2778
5753
 
5754
+ ##
5755
+ # Determines whether the TargetPools service is supported by the current client.
5756
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_pools}.
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 TargetPools service,
5759
+ # or if the versioned client gem needs an update to support the TargetPools 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_pools_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? :TargetPools
5774
+ service_module = service_module.const_get :TargetPools
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
+
2779
5782
  ##
2780
5783
  # Create a new client object for TargetSslProxies.
2781
5784
  #
@@ -2787,6 +5790,11 @@ module Google
2787
5790
  # supported by that API version, and the corresponding gem is available, the
2788
5791
  # appropriate versioned client will be returned.
2789
5792
  #
5793
+ # Raises an exception if the currently installed versioned client gem for the
5794
+ # given API version does not support the TargetSslProxies service.
5795
+ # You can determine whether the method will succeed by calling
5796
+ # {Google::Cloud::Compute.target_ssl_proxies_available?}.
5797
+ #
2790
5798
  # ## About TargetSslProxies
2791
5799
  #
2792
5800
  # The TargetSslProxies API.
@@ -2806,6 +5814,34 @@ module Google
2806
5814
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2807
5815
  end
2808
5816
 
5817
+ ##
5818
+ # Determines whether the TargetSslProxies service is supported by the current client.
5819
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_ssl_proxies}.
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 TargetSslProxies service,
5822
+ # or if the versioned client gem needs an update to support the TargetSslProxies 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_ssl_proxies_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? :TargetSslProxies
5837
+ service_module = service_module.const_get :TargetSslProxies
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
+
2809
5845
  ##
2810
5846
  # Create a new client object for TargetTcpProxies.
2811
5847
  #
@@ -2817,6 +5853,11 @@ module Google
2817
5853
  # supported by that API version, and the corresponding gem is available, the
2818
5854
  # appropriate versioned client will be returned.
2819
5855
  #
5856
+ # Raises an exception if the currently installed versioned client gem for the
5857
+ # given API version does not support the TargetTcpProxies service.
5858
+ # You can determine whether the method will succeed by calling
5859
+ # {Google::Cloud::Compute.target_tcp_proxies_available?}.
5860
+ #
2820
5861
  # ## About TargetTcpProxies
2821
5862
  #
2822
5863
  # The TargetTcpProxies API.
@@ -2836,6 +5877,34 @@ module Google
2836
5877
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2837
5878
  end
2838
5879
 
5880
+ ##
5881
+ # Determines whether the TargetTcpProxies service is supported by the current client.
5882
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_tcp_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 TargetTcpProxies service,
5885
+ # or if the versioned client gem needs an update to support the TargetTcpProxies 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_tcp_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? :TargetTcpProxies
5900
+ service_module = service_module.const_get :TargetTcpProxies
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
+
2839
5908
  ##
2840
5909
  # Create a new client object for TargetVpnGateways.
2841
5910
  #
@@ -2847,6 +5916,11 @@ module Google
2847
5916
  # supported by that API version, and the corresponding gem is available, the
2848
5917
  # appropriate versioned client will be returned.
2849
5918
  #
5919
+ # Raises an exception if the currently installed versioned client gem for the
5920
+ # given API version does not support the TargetVpnGateways service.
5921
+ # You can determine whether the method will succeed by calling
5922
+ # {Google::Cloud::Compute.target_vpn_gateways_available?}.
5923
+ #
2850
5924
  # ## About TargetVpnGateways
2851
5925
  #
2852
5926
  # The TargetVpnGateways API.
@@ -2866,6 +5940,34 @@ module Google
2866
5940
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2867
5941
  end
2868
5942
 
5943
+ ##
5944
+ # Determines whether the TargetVpnGateways service is supported by the current client.
5945
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.target_vpn_gateways}.
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 TargetVpnGateways service,
5948
+ # or if the versioned client gem needs an update to support the TargetVpnGateways 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_vpn_gateways_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? :TargetVpnGateways
5963
+ service_module = service_module.const_get :TargetVpnGateways
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
+
2869
5971
  ##
2870
5972
  # Create a new client object for UrlMaps.
2871
5973
  #
@@ -2877,6 +5979,11 @@ module Google
2877
5979
  # supported by that API version, and the corresponding gem is available, the
2878
5980
  # appropriate versioned client will be returned.
2879
5981
  #
5982
+ # Raises an exception if the currently installed versioned client gem for the
5983
+ # given API version does not support the UrlMaps service.
5984
+ # You can determine whether the method will succeed by calling
5985
+ # {Google::Cloud::Compute.url_maps_available?}.
5986
+ #
2880
5987
  # ## About UrlMaps
2881
5988
  #
2882
5989
  # The UrlMaps API.
@@ -2896,6 +6003,34 @@ module Google
2896
6003
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2897
6004
  end
2898
6005
 
6006
+ ##
6007
+ # Determines whether the UrlMaps service is supported by the current client.
6008
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.url_maps}.
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 UrlMaps service,
6011
+ # or if the versioned client gem needs an update to support the UrlMaps 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.url_maps_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? :UrlMaps
6026
+ service_module = service_module.const_get :UrlMaps
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
+
2899
6034
  ##
2900
6035
  # Create a new client object for VpnGateways.
2901
6036
  #
@@ -2907,6 +6042,11 @@ module Google
2907
6042
  # supported by that API version, and the corresponding gem is available, the
2908
6043
  # appropriate versioned client will be returned.
2909
6044
  #
6045
+ # Raises an exception if the currently installed versioned client gem for the
6046
+ # given API version does not support the VpnGateways service.
6047
+ # You can determine whether the method will succeed by calling
6048
+ # {Google::Cloud::Compute.vpn_gateways_available?}.
6049
+ #
2910
6050
  # ## About VpnGateways
2911
6051
  #
2912
6052
  # The VpnGateways API.
@@ -2926,6 +6066,34 @@ module Google
2926
6066
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2927
6067
  end
2928
6068
 
6069
+ ##
6070
+ # Determines whether the VpnGateways service is supported by the current client.
6071
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.vpn_gateways}.
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 VpnGateways service,
6074
+ # or if the versioned client gem needs an update to support the VpnGateways 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.vpn_gateways_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? :VpnGateways
6089
+ service_module = service_module.const_get :VpnGateways
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
+
2929
6097
  ##
2930
6098
  # Create a new client object for VpnTunnels.
2931
6099
  #
@@ -2937,6 +6105,11 @@ module Google
2937
6105
  # supported by that API version, and the corresponding gem is available, the
2938
6106
  # appropriate versioned client will be returned.
2939
6107
  #
6108
+ # Raises an exception if the currently installed versioned client gem for the
6109
+ # given API version does not support the VpnTunnels service.
6110
+ # You can determine whether the method will succeed by calling
6111
+ # {Google::Cloud::Compute.vpn_tunnels_available?}.
6112
+ #
2940
6113
  # ## About VpnTunnels
2941
6114
  #
2942
6115
  # The VpnTunnels API.
@@ -2956,6 +6129,34 @@ module Google
2956
6129
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2957
6130
  end
2958
6131
 
6132
+ ##
6133
+ # Determines whether the VpnTunnels service is supported by the current client.
6134
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.vpn_tunnels}.
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 VpnTunnels service,
6137
+ # or if the versioned client gem needs an update to support the VpnTunnels 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_tunnels_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? :VpnTunnels
6152
+ service_module = service_module.const_get :VpnTunnels
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
+
2959
6160
  ##
2960
6161
  # Create a new client object for ZoneOperations.
2961
6162
  #
@@ -2967,6 +6168,11 @@ module Google
2967
6168
  # supported by that API version, and the corresponding gem is available, the
2968
6169
  # appropriate versioned client will be returned.
2969
6170
  #
6171
+ # Raises an exception if the currently installed versioned client gem for the
6172
+ # given API version does not support the ZoneOperations service.
6173
+ # You can determine whether the method will succeed by calling
6174
+ # {Google::Cloud::Compute.zone_operations_available?}.
6175
+ #
2970
6176
  # ## About ZoneOperations
2971
6177
  #
2972
6178
  # The ZoneOperations API.
@@ -2986,6 +6192,34 @@ module Google
2986
6192
  service_module.const_get(:Rest).const_get(:Client).new(&block)
2987
6193
  end
2988
6194
 
6195
+ ##
6196
+ # Determines whether the ZoneOperations service is supported by the current client.
6197
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.zone_operations}.
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 ZoneOperations service,
6200
+ # or if the versioned client gem needs an update to support the ZoneOperations 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.zone_operations_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? :ZoneOperations
6215
+ service_module = service_module.const_get :ZoneOperations
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
+
2989
6223
  ##
2990
6224
  # Create a new client object for Zones.
2991
6225
  #
@@ -2997,6 +6231,11 @@ module Google
2997
6231
  # supported by that API version, and the corresponding gem is available, the
2998
6232
  # appropriate versioned client will be returned.
2999
6233
  #
6234
+ # Raises an exception if the currently installed versioned client gem for the
6235
+ # given API version does not support the Zones service.
6236
+ # You can determine whether the method will succeed by calling
6237
+ # {Google::Cloud::Compute.zones_available?}.
6238
+ #
3000
6239
  # ## About Zones
3001
6240
  #
3002
6241
  # The Zones API.
@@ -3016,6 +6255,34 @@ module Google
3016
6255
  service_module.const_get(:Rest).const_get(:Client).new(&block)
3017
6256
  end
3018
6257
 
6258
+ ##
6259
+ # Determines whether the Zones service is supported by the current client.
6260
+ # If true, you can retrieve a client object by calling {Google::Cloud::Compute.zones}.
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 Zones service,
6263
+ # or if the versioned client gem needs an update to support the Zones 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.zones_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? :Zones
6278
+ service_module = service_module.const_get :Zones
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
+
3019
6286
  ##
3020
6287
  # Configure the google-cloud-compute library.
3021
6288
  #