google-cloud-compute-v1 0.3.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/AUTHENTICATION.md +7 -25
  4. data/README.md +4 -4
  5. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +4 -24
  6. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +6 -34
  7. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +8 -44
  8. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +85 -42
  9. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +46 -0
  10. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +91 -66
  11. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +46 -0
  12. data/lib/google/cloud/compute/v1/compute_pb.rb +8335 -7443
  13. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +4 -24
  14. data/lib/google/cloud/compute/v1/disks/rest/client.rb +12 -60
  15. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +4 -22
  16. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +13 -63
  17. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +6 -32
  18. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +9 -49
  19. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +4 -22
  20. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +7 -33
  21. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +8 -44
  22. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +6 -30
  23. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +2 -12
  24. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +5 -27
  25. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +8 -44
  26. data/lib/google/cloud/compute/v1/image_family_views/credentials.rb +53 -0
  27. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +318 -0
  28. data/lib/google/cloud/compute/v1/image_family_views/rest/service_stub.rb +89 -0
  29. data/lib/google/cloud/compute/v1/image_family_views/rest.rb +33 -0
  30. data/lib/google/cloud/compute/v1/image_family_views.rb +44 -0
  31. data/lib/google/cloud/compute/v1/images/rest/client.rb +7 -35
  32. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +30 -150
  33. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +16 -72
  34. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +4 -22
  35. data/lib/google/cloud/compute/v1/instances/rest/client.rb +272 -197
  36. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +134 -0
  37. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +7 -39
  38. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +2 -12
  39. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +5 -27
  40. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +2 -2
  41. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +11 -29
  42. data/lib/google/cloud/compute/v1/machine_images/credentials.rb +52 -0
  43. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +777 -0
  44. data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +363 -0
  45. data/lib/google/cloud/compute/v1/machine_images/rest.rb +33 -0
  46. data/lib/google/cloud/compute/v1/machine_images.rb +44 -0
  47. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +4 -24
  48. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +10 -56
  49. data/lib/google/cloud/compute/v1/networks/rest/client.rb +14 -61
  50. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +12 -66
  51. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +6 -34
  52. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +4 -24
  53. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +7 -39
  54. data/lib/google/cloud/compute/v1/projects/rest/client.rb +15 -71
  55. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +5 -27
  56. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +7 -39
  57. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +6 -32
  58. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +9 -35
  59. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +88 -30
  60. data/lib/google/cloud/compute/v1/region_commitments/rest/service_stub.rb +48 -0
  61. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +2 -12
  62. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +10 -48
  63. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +5 -27
  64. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +6 -32
  65. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +27 -133
  66. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +5 -29
  67. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +1 -5
  68. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +4 -22
  69. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +4 -22
  70. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +3 -17
  71. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +4 -22
  72. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +5 -27
  73. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +6 -32
  74. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +2 -12
  75. data/lib/google/cloud/compute/v1/regions/rest/client.rb +4 -14
  76. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +89 -39
  77. data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +48 -0
  78. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +6 -34
  79. data/lib/google/cloud/compute/v1/routers/rest/client.rb +10 -56
  80. data/lib/google/cloud/compute/v1/routes/rest/client.rb +4 -22
  81. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +7 -39
  82. data/lib/google/cloud/compute/v1/service_attachments/credentials.rb +52 -0
  83. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +954 -0
  84. data/lib/google/cloud/compute/v1/service_attachments/rest/service_stub.rb +458 -0
  85. data/lib/google/cloud/compute/v1/service_attachments/rest.rb +33 -0
  86. data/lib/google/cloud/compute/v1/service_attachments.rb +44 -0
  87. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +79 -20
  88. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +46 -0
  89. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +6 -34
  90. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +7 -39
  91. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +11 -61
  92. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +5 -27
  93. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +9 -45
  94. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +12 -60
  95. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +6 -34
  96. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +11 -59
  97. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +8 -42
  98. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +6 -32
  99. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +6 -34
  100. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +10 -52
  101. data/lib/google/cloud/compute/v1/version.rb +1 -1
  102. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +7 -39
  103. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +6 -34
  104. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +3 -17
  105. data/lib/google/cloud/compute/v1/zones/rest/client.rb +2 -12
  106. data/lib/google/cloud/compute/v1.rb +3 -0
  107. data/proto_docs/README.md +1 -1
  108. data/proto_docs/google/api/field_behavior.rb +6 -0
  109. data/proto_docs/google/api/resource.rb +10 -71
  110. data/proto_docs/google/cloud/compute/v1/compute.rb +20013 -21099
  111. data/proto_docs/google/cloud/extended_operations.rb +51 -0
  112. metadata +34 -4
@@ -169,23 +169,13 @@ module Google
169
169
  # the default parameter values, pass an empty Hash as a request object (see above).
170
170
  #
171
171
  # @param filter [::String]
172
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.
173
- #
174
- # For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
175
- #
176
- # You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
177
- #
178
- # To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
172
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
179
173
  # @param include_all_scopes [::Boolean]
180
174
  # Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
181
175
  # @param max_results [::Integer]
182
176
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
183
177
  # @param order_by [::String]
184
- # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
185
- #
186
- # You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
187
- #
188
- # Currently, only sorting by `name` or `creationTimestamp desc` is supported.
178
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
189
179
  # @param page_token [::String]
190
180
  # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
191
181
  # @param project [::String]
@@ -257,11 +247,7 @@ module Google
257
247
  # @param project [::String]
258
248
  # Project ID for this request.
259
249
  # @param request_id [::String]
260
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
261
- #
262
- # For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
263
- #
264
- # The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
250
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
265
251
  # @yield [result, response] Access the result along with the Faraday response object
266
252
  # @yieldparam result [::Gapic::Rest::BaseOperation]
267
253
  # @yieldparam response [::Faraday::Response]
@@ -390,11 +376,7 @@ module Google
390
376
  # @param project [::String]
391
377
  # Project ID for this request.
392
378
  # @param request_id [::String]
393
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
394
- #
395
- # For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
396
- #
397
- # The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
379
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
398
380
  # @yield [result, response] Access the result along with the Faraday response object
399
381
  # @yieldparam result [::Gapic::Rest::BaseOperation]
400
382
  # @yieldparam response [::Faraday::Response]
@@ -456,21 +438,11 @@ module Google
456
438
  # the default parameter values, pass an empty Hash as a request object (see above).
457
439
  #
458
440
  # @param filter [::String]
459
- # A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.
460
- #
461
- # For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
462
- #
463
- # You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
464
- #
465
- # To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
441
+ # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
466
442
  # @param max_results [::Integer]
467
443
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
468
444
  # @param order_by [::String]
469
- # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
470
- #
471
- # You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
472
- #
473
- # Currently, only sorting by `name` or `creationTimestamp desc` is supported.
445
+ # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
474
446
  # @param page_token [::String]
475
447
  # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
476
448
  # @param project [::String]
@@ -544,11 +516,7 @@ module Google
544
516
  # @param project [::String]
545
517
  # Project ID for this request.
546
518
  # @param request_id [::String]
547
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
548
- #
549
- # For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
550
- #
551
- # The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
519
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
552
520
  # @yield [result, response] Access the result along with the Faraday response object
553
521
  # @yieldparam result [::Gapic::Rest::BaseOperation]
554
522
  # @yieldparam response [::Faraday::Response]
@@ -616,11 +584,7 @@ module Google
616
584
  # @param project [::String]
617
585
  # Project ID for this request.
618
586
  # @param request_id [::String]
619
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
620
- #
621
- # For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
622
- #
623
- # The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
587
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
624
588
  # @yield [result, response] Access the result along with the Faraday response object
625
589
  # @yieldparam result [::Gapic::Rest::BaseOperation]
626
590
  # @yieldparam response [::Faraday::Response]
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "googleauth"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Compute
24
+ module V1
25
+ module ImageFamilyViews
26
+ # Credentials for the ImageFamilyViews API.
27
+ class Credentials < ::Google::Auth::Credentials
28
+ self.scope = [
29
+ "https://www.googleapis.com/auth/compute.readonly",
30
+ "https://www.googleapis.com/auth/compute",
31
+ "https://www.googleapis.com/auth/cloud-platform"
32
+ ]
33
+ self.env_vars = [
34
+ "COMPUTE_CREDENTIALS",
35
+ "COMPUTE_KEYFILE",
36
+ "GOOGLE_CLOUD_CREDENTIALS",
37
+ "GOOGLE_CLOUD_KEYFILE",
38
+ "GCLOUD_KEYFILE",
39
+ "COMPUTE_CREDENTIALS_JSON",
40
+ "COMPUTE_KEYFILE_JSON",
41
+ "GOOGLE_CLOUD_CREDENTIALS_JSON",
42
+ "GOOGLE_CLOUD_KEYFILE_JSON",
43
+ "GCLOUD_KEYFILE_JSON"
44
+ ]
45
+ self.paths = [
46
+ "~/.config/google_cloud/application_default_credentials.json"
47
+ ]
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,318 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/compute/v1/compute_pb"
21
+ require "google/cloud/compute/v1/image_family_views/rest/service_stub"
22
+
23
+ module Google
24
+ module Cloud
25
+ module Compute
26
+ module V1
27
+ module ImageFamilyViews
28
+ module Rest
29
+ ##
30
+ # REST client for the ImageFamilyViews service.
31
+ #
32
+ # The ImageFamilyViews API.
33
+ #
34
+ class Client
35
+ # @private
36
+ attr_reader :image_family_views_stub
37
+
38
+ ##
39
+ # Configure the ImageFamilyViews Client class.
40
+ #
41
+ # See {::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client::Configuration}
42
+ # for a description of the configuration fields.
43
+ #
44
+ # @example
45
+ #
46
+ # # Modify the configuration for all ImageFamilyViews clients
47
+ # ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.configure do |config|
48
+ # config.timeout = 10.0
49
+ # end
50
+ #
51
+ # @yield [config] Configure the Client client.
52
+ # @yieldparam config [Client::Configuration]
53
+ #
54
+ # @return [Client::Configuration]
55
+ #
56
+ def self.configure
57
+ @configure ||= begin
58
+ namespace = ["Google", "Cloud", "Compute", "V1"]
59
+ parent_config = while namespace.any?
60
+ parent_name = namespace.join "::"
61
+ parent_const = const_get parent_name
62
+ break parent_const.configure if parent_const.respond_to? :configure
63
+ namespace.pop
64
+ end
65
+ default_config = Client::Configuration.new parent_config
66
+
67
+ default_config.rpcs.get.timeout = 600.0
68
+ default_config.rpcs.get.retry_policy = {
69
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
70
+ }
71
+
72
+ default_config
73
+ end
74
+ yield @configure if block_given?
75
+ @configure
76
+ end
77
+
78
+ ##
79
+ # Configure the ImageFamilyViews Client instance.
80
+ #
81
+ # The configuration is set to the derived mode, meaning that values can be changed,
82
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
83
+ # should be made on {Client.configure}.
84
+ #
85
+ # See {::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client::Configuration}
86
+ # for a description of the configuration fields.
87
+ #
88
+ # @yield [config] Configure the Client client.
89
+ # @yieldparam config [Client::Configuration]
90
+ #
91
+ # @return [Client::Configuration]
92
+ #
93
+ def configure
94
+ yield @config if block_given?
95
+ @config
96
+ end
97
+
98
+ ##
99
+ # Create a new ImageFamilyViews REST client object.
100
+ #
101
+ # @example
102
+ #
103
+ # # Create a client using the default configuration
104
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.new
105
+ #
106
+ # # Create a client using a custom configuration
107
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.new do |config|
108
+ # config.timeout = 10.0
109
+ # end
110
+ #
111
+ # @yield [config] Configure the ImageFamilyViews client.
112
+ # @yieldparam config [Client::Configuration]
113
+ #
114
+ def initialize
115
+ # Create the configuration object
116
+ @config = Configuration.new Client.configure
117
+
118
+ # Yield the configuration if needed
119
+ yield @config if block_given?
120
+
121
+ # Create credentials
122
+ credentials = @config.credentials
123
+ credentials ||= Credentials.default scope: @config.scope
124
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
125
+ credentials = Credentials.new credentials, scope: @config.scope
126
+ end
127
+
128
+ @image_family_views_stub = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
129
+ end
130
+
131
+ # Service calls
132
+
133
+ ##
134
+ # Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.
135
+ #
136
+ # @overload get(request, options = nil)
137
+ # Pass arguments to `get` via a request object, either of type
138
+ # {::Google::Cloud::Compute::V1::GetImageFamilyViewRequest} or an equivalent Hash.
139
+ #
140
+ # @param request [::Google::Cloud::Compute::V1::GetImageFamilyViewRequest, ::Hash]
141
+ # A request object representing the call parameters. Required. To specify no
142
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
143
+ # @param options [::Gapic::CallOptions, ::Hash]
144
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
145
+ # Note: currently retry functionality is not implemented. While it is possible
146
+ # to set it using ::Gapic::CallOptions, it will not be applied
147
+ #
148
+ # @overload get(family: nil, project: nil, zone: nil)
149
+ # Pass arguments to `get` via keyword arguments. Note that at
150
+ # least one keyword argument is required. To specify no parameters, or to keep all
151
+ # the default parameter values, pass an empty Hash as a request object (see above).
152
+ #
153
+ # @param family [::String]
154
+ # Name of the image family to search for.
155
+ # @param project [::String]
156
+ # Project ID for this request.
157
+ # @param zone [::String]
158
+ # The name of the zone for this request.
159
+ # @yield [result, response] Access the result along with the Faraday response object
160
+ # @yieldparam result [::Google::Cloud::Compute::V1::ImageFamilyView]
161
+ # @yieldparam response [::Faraday::Response]
162
+ #
163
+ # @return [::Google::Cloud::Compute::V1::ImageFamilyView]
164
+ #
165
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
166
+ def get request, options = nil
167
+ raise ::ArgumentError, "request must be provided" if request.nil?
168
+
169
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetImageFamilyViewRequest
170
+
171
+ # Converts hash and nil to an options object
172
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
173
+
174
+ # Customize the options with defaults
175
+ call_metadata = @config.rpcs.get.metadata.to_h
176
+
177
+ # Set x-goog-api-client header
178
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
179
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
180
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
181
+ transports_version_send: [:rest]
182
+
183
+ options.apply_defaults timeout: @config.rpcs.get.timeout,
184
+ metadata: call_metadata
185
+
186
+ options.apply_defaults timeout: @config.timeout,
187
+ metadata: @config.metadata
188
+
189
+ @image_family_views_stub.get request, options do |result, response|
190
+ yield result, response if block_given?
191
+ return result
192
+ end
193
+ rescue ::Faraday::Error => e
194
+ gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
195
+ raise ::Google::Cloud::Error.from_error(gapic_error)
196
+ end
197
+
198
+ ##
199
+ # Configuration class for the ImageFamilyViews REST API.
200
+ #
201
+ # This class represents the configuration for ImageFamilyViews REST,
202
+ # providing control over credentials, timeouts, retry behavior, logging.
203
+ #
204
+ # Configuration can be applied globally to all clients, or to a single client
205
+ # on construction.
206
+ #
207
+ # # Examples
208
+ #
209
+ # To modify the global config, setting the timeout for all calls to 10 seconds:
210
+ #
211
+ # ::Google::Cloud::Compute::V1::ImageFamilyViews::Client.configure do |config|
212
+ # config.timeout = 10.0
213
+ # end
214
+ #
215
+ # To apply the above configuration only to a new client:
216
+ #
217
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Client.new do |config|
218
+ # config.timeout = 10.0
219
+ # end
220
+ #
221
+ # @!attribute [rw] endpoint
222
+ # The hostname or hostname:port of the service endpoint.
223
+ # Defaults to `"compute.googleapis.com"`.
224
+ # @return [::String]
225
+ # @!attribute [rw] credentials
226
+ # Credentials to send with calls. You may provide any of the following types:
227
+ # * (`String`) The path to a service account key file in JSON format
228
+ # * (`Hash`) A service account key as a Hash
229
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
230
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
231
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
232
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
233
+ # * (`nil`) indicating no credentials
234
+ # @return [::Object]
235
+ # @!attribute [rw] scope
236
+ # The OAuth scopes
237
+ # @return [::Array<::String>]
238
+ # @!attribute [rw] lib_name
239
+ # The library name as recorded in instrumentation and logging
240
+ # @return [::String]
241
+ # @!attribute [rw] lib_version
242
+ # The library version as recorded in instrumentation and logging
243
+ # @return [::String]
244
+ # @!attribute [rw] timeout
245
+ # The call timeout in seconds.
246
+ # @return [::Numeric]
247
+ # @!attribute [rw] metadata
248
+ # Additional REST headers to be sent with the call.
249
+ # @return [::Hash{::Symbol=>::String}]
250
+ #
251
+ class Configuration
252
+ extend ::Gapic::Config
253
+
254
+ config_attr :endpoint, "compute.googleapis.com", ::String
255
+ config_attr :credentials, nil do |value|
256
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
257
+ allowed.any? { |klass| klass === value }
258
+ end
259
+ config_attr :scope, nil, ::String, ::Array, nil
260
+ config_attr :lib_name, nil, ::String, nil
261
+ config_attr :lib_version, nil, ::String, nil
262
+ config_attr :timeout, nil, ::Numeric, nil
263
+ config_attr :metadata, nil, ::Hash, nil
264
+
265
+ # @private
266
+ def initialize parent_config = nil
267
+ @parent_config = parent_config unless parent_config.nil?
268
+
269
+ yield self if block_given?
270
+ end
271
+
272
+ ##
273
+ # Configurations for individual RPCs
274
+ # @return [Rpcs]
275
+ #
276
+ def rpcs
277
+ @rpcs ||= begin
278
+ parent_rpcs = nil
279
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
280
+ Rpcs.new parent_rpcs
281
+ end
282
+ end
283
+
284
+ ##
285
+ # Configuration RPC class for the ImageFamilyViews API.
286
+ #
287
+ # Includes fields providing the configuration for each RPC in this service.
288
+ # Each configuration object is of type `Gapic::Config::Method` and includes
289
+ # the following configuration fields:
290
+ #
291
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
292
+ #
293
+ # there is one other field (`retry_policy`) that can be set
294
+ # but is currently not supported for REST Gapic libraries.
295
+ #
296
+ class Rpcs
297
+ ##
298
+ # RPC-specific configuration for `get`
299
+ # @return [::Gapic::Config::Method]
300
+ #
301
+ attr_reader :get
302
+
303
+ # @private
304
+ def initialize parent_rpcs = nil
305
+ get_config = parent_rpcs.get if parent_rpcs.respond_to? :get
306
+ @get = ::Gapic::Config::Method.new get_config
307
+
308
+ yield self if block_given?
309
+ end
310
+ end
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/compute/v1/compute_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Compute
24
+ module V1
25
+ module ImageFamilyViews
26
+ module Rest
27
+ ##
28
+ # REST service stub for the ImageFamilyViews service.
29
+ # service stub contains baseline method implementations
30
+ # including transcoding, making the REST call and deserialing the response
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
39
+ end
40
+
41
+ ##
42
+ # Baseline implementation for the get REST call
43
+ #
44
+ # @param request_pb [::Google::Cloud::Compute::V1::GetImageFamilyViewRequest]
45
+ # A request object representing the call parameters. Required.
46
+ # @param options [::Gapic::CallOptions]
47
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
48
+ #
49
+ # @yield [result, response] Access the result along with the Faraday response object
50
+ # @yieldparam result [::Google::Cloud::Compute::V1::ImageFamilyView]
51
+ # @yieldparam response [::Faraday::Response]
52
+ #
53
+ # @return [::Google::Cloud::Compute::V1::ImageFamilyView]
54
+ # A result object deserialized from the server's reply
55
+ def get request_pb, options = nil
56
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
57
+
58
+ uri, _body, _query_string_params = transcode_get_request request_pb
59
+ response = @client_stub.make_get_request(
60
+ uri: uri,
61
+ options: options
62
+ )
63
+ result = ::Google::Cloud::Compute::V1::ImageFamilyView.decode_json response.body, ignore_unknown_fields: true
64
+
65
+ yield result, response if block_given?
66
+ result
67
+ end
68
+
69
+ ##
70
+ # GRPC transcoding helper method for the get REST call
71
+ #
72
+ # @param request_pb [::Google::Cloud::Compute::V1::GetImageFamilyViewRequest]
73
+ # A request object representing the call parameters. Required.
74
+ # @return [Array(String, [String, nil], Hash{String => String})]
75
+ # Uri, Body, Query string parameters
76
+ def transcode_get_request request_pb
77
+ uri = "/compute/v1/projects/#{request_pb.project}/zones/#{request_pb.zone}/imageFamilyViews/#{request_pb.family}"
78
+ body = nil
79
+ query_string_params = {}
80
+
81
+ [uri, body, query_string_params]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/compute/v1/image_family_views/rest/client"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Compute
24
+ module V1
25
+ module ImageFamilyViews
26
+ # Client for the REST transport
27
+ module Rest
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+ require "gapic/config/method"
21
+
22
+ require "google/cloud/compute/v1/version"
23
+
24
+ require "google/cloud/compute/v1/image_family_views/credentials"
25
+ require "google/cloud/compute/v1/image_family_views/rest"
26
+
27
+ module Google
28
+ module Cloud
29
+ module Compute
30
+ module V1
31
+ # To load this service and instantiate a REST client:
32
+ #
33
+ # require "google/cloud/compute/v1/image_family_views"
34
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.new
35
+ #
36
+ module ImageFamilyViews
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ helper_path = ::File.join __dir__, "image_family_views", "helpers.rb"
44
+ require "google/cloud/compute/v1/image_family_views/helpers" if ::File.file? helper_path