google-cloud-compute-v1 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +4 -24
  3. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +6 -34
  4. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +8 -44
  5. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +8 -42
  6. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +14 -66
  7. data/lib/google/cloud/compute/v1/compute_pb.rb +8137 -7777
  8. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +4 -24
  9. data/lib/google/cloud/compute/v1/disks/rest/client.rb +11 -59
  10. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +4 -22
  11. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +13 -63
  12. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +6 -32
  13. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +9 -49
  14. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +4 -22
  15. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +7 -33
  16. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +8 -44
  17. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +6 -30
  18. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +2 -12
  19. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +5 -27
  20. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +8 -44
  21. data/lib/google/cloud/compute/v1/image_family_views/credentials.rb +53 -0
  22. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +313 -0
  23. data/lib/google/cloud/compute/v1/image_family_views/rest/service_stub.rb +89 -0
  24. data/lib/google/cloud/compute/v1/image_family_views/rest.rb +33 -0
  25. data/lib/google/cloud/compute/v1/image_family_views.rb +44 -0
  26. data/lib/google/cloud/compute/v1/images/rest/client.rb +7 -35
  27. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +30 -150
  28. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +16 -72
  29. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +4 -22
  30. data/lib/google/cloud/compute/v1/instances/rest/client.rb +111 -194
  31. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +43 -0
  32. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +7 -39
  33. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +2 -12
  34. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +5 -27
  35. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +2 -2
  36. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +11 -29
  37. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +4 -24
  38. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +10 -56
  39. data/lib/google/cloud/compute/v1/networks/rest/client.rb +12 -60
  40. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +12 -66
  41. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +6 -34
  42. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +4 -24
  43. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +7 -39
  44. data/lib/google/cloud/compute/v1/projects/rest/client.rb +13 -69
  45. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +5 -27
  46. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +7 -39
  47. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +6 -32
  48. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +9 -35
  49. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +6 -30
  50. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +2 -12
  51. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +9 -47
  52. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +5 -27
  53. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +6 -32
  54. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +27 -133
  55. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +5 -29
  56. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +1 -5
  57. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +4 -22
  58. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +4 -22
  59. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +3 -17
  60. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +4 -22
  61. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +5 -27
  62. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +6 -32
  63. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +2 -12
  64. data/lib/google/cloud/compute/v1/regions/rest/client.rb +2 -12
  65. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +7 -39
  66. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +6 -34
  67. data/lib/google/cloud/compute/v1/routers/rest/client.rb +10 -56
  68. data/lib/google/cloud/compute/v1/routes/rest/client.rb +4 -22
  69. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +7 -39
  70. data/lib/google/cloud/compute/v1/service_attachments/credentials.rb +52 -0
  71. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +924 -0
  72. data/lib/google/cloud/compute/v1/service_attachments/rest/service_stub.rb +458 -0
  73. data/lib/google/cloud/compute/v1/service_attachments/rest.rb +33 -0
  74. data/lib/google/cloud/compute/v1/service_attachments.rb +44 -0
  75. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +4 -20
  76. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +6 -34
  77. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +7 -39
  78. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +11 -61
  79. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +5 -27
  80. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +9 -45
  81. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +12 -60
  82. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +6 -34
  83. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +11 -59
  84. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +8 -42
  85. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +6 -32
  86. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +6 -34
  87. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +10 -52
  88. data/lib/google/cloud/compute/v1/version.rb +1 -1
  89. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +7 -39
  90. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +6 -34
  91. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +3 -17
  92. data/lib/google/cloud/compute/v1/zones/rest/client.rb +2 -12
  93. data/lib/google/cloud/compute/v1.rb +2 -0
  94. data/proto_docs/google/api/field_behavior.rb +6 -0
  95. data/proto_docs/google/cloud/compute/v1/compute.rb +18905 -21502
  96. data/proto_docs/google/cloud/extended_operations.rb +51 -0
  97. metadata +30 -3
@@ -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, 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 `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. 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, 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 `<`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. 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,313 @@
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
68
+ end
69
+ yield @configure if block_given?
70
+ @configure
71
+ end
72
+
73
+ ##
74
+ # Configure the ImageFamilyViews Client instance.
75
+ #
76
+ # The configuration is set to the derived mode, meaning that values can be changed,
77
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
78
+ # should be made on {Client.configure}.
79
+ #
80
+ # See {::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client::Configuration}
81
+ # for a description of the configuration fields.
82
+ #
83
+ # @yield [config] Configure the Client client.
84
+ # @yieldparam config [Client::Configuration]
85
+ #
86
+ # @return [Client::Configuration]
87
+ #
88
+ def configure
89
+ yield @config if block_given?
90
+ @config
91
+ end
92
+
93
+ ##
94
+ # Create a new ImageFamilyViews REST client object.
95
+ #
96
+ # @example
97
+ #
98
+ # # Create a client using the default configuration
99
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.new
100
+ #
101
+ # # Create a client using a custom configuration
102
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::Client.new do |config|
103
+ # config.timeout = 10.0
104
+ # end
105
+ #
106
+ # @yield [config] Configure the ImageFamilyViews client.
107
+ # @yieldparam config [Client::Configuration]
108
+ #
109
+ def initialize
110
+ # Create the configuration object
111
+ @config = Configuration.new Client.configure
112
+
113
+ # Yield the configuration if needed
114
+ yield @config if block_given?
115
+
116
+ # Create credentials
117
+ credentials = @config.credentials
118
+ credentials ||= Credentials.default scope: @config.scope
119
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
120
+ credentials = Credentials.new credentials, scope: @config.scope
121
+ end
122
+
123
+ @image_family_views_stub = ::Google::Cloud::Compute::V1::ImageFamilyViews::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
124
+ end
125
+
126
+ # Service calls
127
+
128
+ ##
129
+ # Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone.
130
+ #
131
+ # @overload get(request, options = nil)
132
+ # Pass arguments to `get` via a request object, either of type
133
+ # {::Google::Cloud::Compute::V1::GetImageFamilyViewRequest} or an equivalent Hash.
134
+ #
135
+ # @param request [::Google::Cloud::Compute::V1::GetImageFamilyViewRequest, ::Hash]
136
+ # A request object representing the call parameters. Required. To specify no
137
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
138
+ # @param options [::Gapic::CallOptions, ::Hash]
139
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
140
+ # Note: currently retry functionality is not implemented. While it is possible
141
+ # to set it using ::Gapic::CallOptions, it will not be applied
142
+ #
143
+ # @overload get(family: nil, project: nil, zone: nil)
144
+ # Pass arguments to `get` via keyword arguments. Note that at
145
+ # least one keyword argument is required. To specify no parameters, or to keep all
146
+ # the default parameter values, pass an empty Hash as a request object (see above).
147
+ #
148
+ # @param family [::String]
149
+ # Name of the image family to search for.
150
+ # @param project [::String]
151
+ # Project ID for this request.
152
+ # @param zone [::String]
153
+ # The name of the zone for this request.
154
+ # @yield [result, response] Access the result along with the Faraday response object
155
+ # @yieldparam result [::Google::Cloud::Compute::V1::ImageFamilyView]
156
+ # @yieldparam response [::Faraday::Response]
157
+ #
158
+ # @return [::Google::Cloud::Compute::V1::ImageFamilyView]
159
+ #
160
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
161
+ def get request, options = nil
162
+ raise ::ArgumentError, "request must be provided" if request.nil?
163
+
164
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetImageFamilyViewRequest
165
+
166
+ # Converts hash and nil to an options object
167
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
168
+
169
+ # Customize the options with defaults
170
+ call_metadata = @config.rpcs.get.metadata.to_h
171
+
172
+ # Set x-goog-api-client header
173
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
174
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
175
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
176
+ transports_version_send: [:rest]
177
+
178
+ options.apply_defaults timeout: @config.rpcs.get.timeout,
179
+ metadata: call_metadata
180
+
181
+ options.apply_defaults timeout: @config.timeout,
182
+ metadata: @config.metadata
183
+
184
+ @image_family_views_stub.get request, options do |result, response|
185
+ yield result, response if block_given?
186
+ return result
187
+ end
188
+ rescue ::Faraday::Error => e
189
+ gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
190
+ raise ::Google::Cloud::Error.from_error(gapic_error)
191
+ end
192
+
193
+ ##
194
+ # Configuration class for the ImageFamilyViews REST API.
195
+ #
196
+ # This class represents the configuration for ImageFamilyViews REST,
197
+ # providing control over credentials, timeouts, retry behavior, logging.
198
+ #
199
+ # Configuration can be applied globally to all clients, or to a single client
200
+ # on construction.
201
+ #
202
+ # # Examples
203
+ #
204
+ # To modify the global config, setting the timeout for all calls to 10 seconds:
205
+ #
206
+ # ::Google::Cloud::Compute::V1::ImageFamilyViews::Client.configure do |config|
207
+ # config.timeout = 10.0
208
+ # end
209
+ #
210
+ # To apply the above configuration only to a new client:
211
+ #
212
+ # client = ::Google::Cloud::Compute::V1::ImageFamilyViews::Client.new do |config|
213
+ # config.timeout = 10.0
214
+ # end
215
+ #
216
+ # @!attribute [rw] endpoint
217
+ # The hostname or hostname:port of the service endpoint.
218
+ # Defaults to `"compute.googleapis.com"`.
219
+ # @return [::String]
220
+ # @!attribute [rw] credentials
221
+ # Credentials to send with calls. You may provide any of the following types:
222
+ # * (`String`) The path to a service account key file in JSON format
223
+ # * (`Hash`) A service account key as a Hash
224
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
225
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
226
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
227
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
228
+ # * (`nil`) indicating no credentials
229
+ # @return [::Object]
230
+ # @!attribute [rw] scope
231
+ # The OAuth scopes
232
+ # @return [::Array<::String>]
233
+ # @!attribute [rw] lib_name
234
+ # The library name as recorded in instrumentation and logging
235
+ # @return [::String]
236
+ # @!attribute [rw] lib_version
237
+ # The library version as recorded in instrumentation and logging
238
+ # @return [::String]
239
+ # @!attribute [rw] timeout
240
+ # The call timeout in seconds.
241
+ # @return [::Numeric]
242
+ # @!attribute [rw] metadata
243
+ # Additional REST headers to be sent with the call.
244
+ # @return [::Hash{::Symbol=>::String}]
245
+ #
246
+ class Configuration
247
+ extend ::Gapic::Config
248
+
249
+ config_attr :endpoint, "compute.googleapis.com", ::String
250
+ config_attr :credentials, nil do |value|
251
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
252
+ allowed.any? { |klass| klass === value }
253
+ end
254
+ config_attr :scope, nil, ::String, ::Array, nil
255
+ config_attr :lib_name, nil, ::String, nil
256
+ config_attr :lib_version, nil, ::String, nil
257
+ config_attr :timeout, nil, ::Numeric, nil
258
+ config_attr :metadata, nil, ::Hash, nil
259
+
260
+ # @private
261
+ def initialize parent_config = nil
262
+ @parent_config = parent_config unless parent_config.nil?
263
+
264
+ yield self if block_given?
265
+ end
266
+
267
+ ##
268
+ # Configurations for individual RPCs
269
+ # @return [Rpcs]
270
+ #
271
+ def rpcs
272
+ @rpcs ||= begin
273
+ parent_rpcs = nil
274
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
275
+ Rpcs.new parent_rpcs
276
+ end
277
+ end
278
+
279
+ ##
280
+ # Configuration RPC class for the ImageFamilyViews API.
281
+ #
282
+ # Includes fields providing the configuration for each RPC in this service.
283
+ # Each configuration object is of type `Gapic::Config::Method` and includes
284
+ # the following configuration fields:
285
+ #
286
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
287
+ #
288
+ # there is one other field (`retry_policy`) that can be set
289
+ # but is currently not supported for REST Gapic libraries.
290
+ #
291
+ class Rpcs
292
+ ##
293
+ # RPC-specific configuration for `get`
294
+ # @return [::Gapic::Config::Method]
295
+ #
296
+ attr_reader :get
297
+
298
+ # @private
299
+ def initialize parent_rpcs = nil
300
+ get_config = parent_rpcs.get if parent_rpcs.respond_to? :get
301
+ @get = ::Gapic::Config::Method.new get_config
302
+
303
+ yield self if block_given?
304
+ end
305
+ end
306
+ end
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end
313
+ 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