google-cloud-compute-v1 0.5.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) 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 +2 -2
  6. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +37 -8
  7. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +59 -14
  8. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +158 -19
  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 +169 -23
  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 +534 -2
  13. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +2 -2
  14. data/lib/google/cloud/compute/v1/disks/rest/client.rb +93 -24
  15. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +44 -10
  16. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +98 -31
  17. data/lib/google/cloud/compute/v1/firewall_policies/rest/service_stub.rb +2 -2
  18. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +54 -13
  19. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +70 -17
  20. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +34 -7
  21. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +64 -16
  22. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +55 -14
  23. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +2 -2
  24. data/lib/google/cloud/compute/v1/global_operations/rest/nonstandard_lro.rb +68 -0
  25. data/lib/google/cloud/compute/v1/global_operations.rb +1 -0
  26. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +1 -1
  27. data/lib/google/cloud/compute/v1/global_organization_operations/rest/nonstandard_lro.rb +68 -0
  28. data/lib/google/cloud/compute/v1/global_organization_operations.rb +1 -0
  29. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +47 -13
  30. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +55 -14
  31. data/lib/google/cloud/compute/v1/images/rest/client.rb +64 -16
  32. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +172 -47
  33. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +71 -18
  34. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +34 -7
  35. data/lib/google/cloud/compute/v1/instances/rest/client.rb +521 -96
  36. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +91 -0
  37. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +48 -11
  38. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +1 -1
  39. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +44 -10
  40. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +34 -7
  41. data/lib/google/cloud/compute/v1/machine_images/credentials.rb +52 -0
  42. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +804 -0
  43. data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +363 -0
  44. data/lib/google/cloud/compute/v1/machine_images/rest.rb +33 -0
  45. data/lib/google/cloud/compute/v1/machine_images.rb +44 -0
  46. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +2 -2
  47. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +60 -15
  48. data/lib/google/cloud/compute/v1/networks/rest/client.rb +85 -23
  49. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +82 -21
  50. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +37 -8
  51. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +2 -2
  52. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +48 -11
  53. data/lib/google/cloud/compute/v1/projects/rest/client.rb +107 -31
  54. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +47 -13
  55. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +51 -14
  56. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +58 -13
  57. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +58 -13
  58. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +116 -5
  59. data/lib/google/cloud/compute/v1/region_commitments/rest/service_stub.rb +48 -0
  60. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +1 -1
  61. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +92 -23
  62. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +47 -10
  63. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +58 -13
  64. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +171 -46
  65. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +26 -5
  66. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +24 -3
  67. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +36 -7
  68. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +38 -9
  69. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +1 -1
  70. data/lib/google/cloud/compute/v1/region_operations/rest/nonstandard_lro.rb +68 -0
  71. data/lib/google/cloud/compute/v1/region_operations.rb +1 -0
  72. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +38 -9
  73. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +47 -10
  74. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +62 -17
  75. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +58 -13
  76. data/lib/google/cloud/compute/v1/regions/rest/client.rb +3 -3
  77. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +138 -11
  78. data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +48 -0
  79. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +37 -8
  80. data/lib/google/cloud/compute/v1/routers/rest/client.rb +60 -15
  81. data/lib/google/cloud/compute/v1/routes/rest/client.rb +34 -7
  82. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +75 -20
  83. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +51 -14
  84. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +116 -7
  85. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +46 -0
  86. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +37 -10
  87. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +45 -11
  88. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +71 -18
  89. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +47 -13
  90. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +56 -15
  91. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +86 -24
  92. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +37 -8
  93. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +92 -23
  94. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +74 -19
  95. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +54 -13
  96. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +37 -8
  97. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +65 -17
  98. data/lib/google/cloud/compute/v1/version.rb +1 -1
  99. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +48 -11
  100. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +37 -8
  101. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +1 -1
  102. data/lib/google/cloud/compute/v1/zone_operations/rest/nonstandard_lro.rb +68 -0
  103. data/lib/google/cloud/compute/v1/zone_operations.rb +1 -0
  104. data/lib/google/cloud/compute/v1/zones/rest/client.rb +1 -1
  105. data/lib/google/cloud/compute/v1.rb +3 -0
  106. data/proto_docs/README.md +1 -1
  107. data/proto_docs/google/api/resource.rb +10 -71
  108. data/proto_docs/google/cloud/compute/v1/compute.rb +1647 -330
  109. metadata +14 -7
@@ -161,7 +161,7 @@ module Google
161
161
  # the default parameter values, pass an empty Hash as a request object (see above).
162
162
  #
163
163
  # @param filter [::String]
164
- # 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) ```
164
+ # 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) ```
165
165
  # @param include_all_scopes [::Boolean]
166
166
  # 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.
167
167
  # @param max_results [::Integer]
@@ -300,7 +300,7 @@ module Google
300
300
  # the default parameter values, pass an empty Hash as a request object (see above).
301
301
  #
302
302
  # @param filter [::String]
303
- # 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) ```
303
+ # 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) ```
304
304
  # @param max_results [::Integer]
305
305
  # 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`)
306
306
  # @param order_by [::String]
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/compute/v1/compute_pb"
21
21
  require "google/cloud/compute/v1/packet_mirrorings/rest/service_stub"
22
+ require "google/cloud/compute/v1/region_operations/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -143,9 +144,21 @@ module Google
143
144
  credentials = Credentials.new credentials, scope: @config.scope
144
145
  end
145
146
 
147
+ @region_operations = ::Google::Cloud::Compute::V1::RegionOperations::Rest::Client.new do |config|
148
+ config.credentials = credentials
149
+ config.endpoint = @config.endpoint
150
+ end
151
+
146
152
  @packet_mirrorings_stub = ::Google::Cloud::Compute::V1::PacketMirrorings::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
147
153
  end
148
154
 
155
+ ##
156
+ # Get the associated client for long-running operations via RegionOperations.
157
+ #
158
+ # @return [::Google::Cloud::Compute::V1::RegionOperations::Rest::Client]
159
+ #
160
+ attr_reader :region_operations
161
+
149
162
  # Service calls
150
163
 
151
164
  ##
@@ -169,7 +182,7 @@ module Google
169
182
  # the default parameter values, pass an empty Hash as a request object (see above).
170
183
  #
171
184
  # @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 `<`. 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) ```
185
+ # 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) ```
173
186
  # @param include_all_scopes [::Boolean]
174
187
  # 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.
175
188
  # @param max_results [::Integer]
@@ -251,10 +264,10 @@ module Google
251
264
  # @param request_id [::String]
252
265
  # 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).
253
266
  # @yield [result, response] Access the result along with the Faraday response object
254
- # @yieldparam result [::Gapic::Rest::BaseOperation]
267
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
255
268
  # @yieldparam response [::Faraday::Response]
256
269
  #
257
- # @return [::Gapic::Rest::BaseOperation]
270
+ # @return [::Gapic::GenericLRO::Operation]
258
271
  #
259
272
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
260
273
  def delete request, options = nil
@@ -281,7 +294,15 @@ module Google
281
294
  metadata: @config.metadata
282
295
 
283
296
  @packet_mirrorings_stub.delete request, options do |result, response|
284
- result = ::Gapic::Rest::BaseOperation.new result
297
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
298
+ operation: result,
299
+ client: region_operations,
300
+ request_values: {
301
+ "project" => request.project,
302
+ "region" => request.region
303
+ },
304
+ options: options
305
+ )
285
306
  yield result, response if block_given?
286
307
  return result
287
308
  end
@@ -384,10 +405,10 @@ module Google
384
405
  # @param request_id [::String]
385
406
  # 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).
386
407
  # @yield [result, response] Access the result along with the Faraday response object
387
- # @yieldparam result [::Gapic::Rest::BaseOperation]
408
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
388
409
  # @yieldparam response [::Faraday::Response]
389
410
  #
390
- # @return [::Gapic::Rest::BaseOperation]
411
+ # @return [::Gapic::GenericLRO::Operation]
391
412
  #
392
413
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
393
414
  def insert request, options = nil
@@ -414,7 +435,15 @@ module Google
414
435
  metadata: @config.metadata
415
436
 
416
437
  @packet_mirrorings_stub.insert request, options do |result, response|
417
- result = ::Gapic::Rest::BaseOperation.new result
438
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
439
+ operation: result,
440
+ client: region_operations,
441
+ request_values: {
442
+ "project" => request.project,
443
+ "region" => request.region
444
+ },
445
+ options: options
446
+ )
418
447
  yield result, response if block_given?
419
448
  return result
420
449
  end
@@ -444,7 +473,7 @@ module Google
444
473
  # the default parameter values, pass an empty Hash as a request object (see above).
445
474
  #
446
475
  # @param filter [::String]
447
- # 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) ```
476
+ # 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) ```
448
477
  # @param max_results [::Integer]
449
478
  # 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`)
450
479
  # @param order_by [::String]
@@ -528,10 +557,10 @@ module Google
528
557
  # @param request_id [::String]
529
558
  # 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).
530
559
  # @yield [result, response] Access the result along with the Faraday response object
531
- # @yieldparam result [::Gapic::Rest::BaseOperation]
560
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
532
561
  # @yieldparam response [::Faraday::Response]
533
562
  #
534
- # @return [::Gapic::Rest::BaseOperation]
563
+ # @return [::Gapic::GenericLRO::Operation]
535
564
  #
536
565
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
537
566
  def patch request, options = nil
@@ -558,7 +587,15 @@ module Google
558
587
  metadata: @config.metadata
559
588
 
560
589
  @packet_mirrorings_stub.patch request, options do |result, response|
561
- result = ::Gapic::Rest::BaseOperation.new result
590
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
591
+ operation: result,
592
+ client: region_operations,
593
+ request_values: {
594
+ "project" => request.project,
595
+ "region" => request.region
596
+ },
597
+ options: options
598
+ )
562
599
  yield result, response if block_given?
563
600
  return result
564
601
  end
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/compute/v1/compute_pb"
21
21
  require "google/cloud/compute/v1/projects/rest/service_stub"
22
+ require "google/cloud/compute/v1/global_operations/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -155,9 +156,21 @@ module Google
155
156
  credentials = Credentials.new credentials, scope: @config.scope
156
157
  end
157
158
 
159
+ @global_operations = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::Client.new do |config|
160
+ config.credentials = credentials
161
+ config.endpoint = @config.endpoint
162
+ end
163
+
158
164
  @projects_stub = ::Google::Cloud::Compute::V1::Projects::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
159
165
  end
160
166
 
167
+ ##
168
+ # Get the associated client for long-running operations via GlobalOperations.
169
+ #
170
+ # @return [::Google::Cloud::Compute::V1::GlobalOperations::Rest::Client]
171
+ #
172
+ attr_reader :global_operations
173
+
161
174
  # Service calls
162
175
 
163
176
  ##
@@ -185,10 +198,10 @@ module Google
185
198
  # @param request_id [::String]
186
199
  # 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).
187
200
  # @yield [result, response] Access the result along with the Faraday response object
188
- # @yieldparam result [::Gapic::Rest::BaseOperation]
201
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
189
202
  # @yieldparam response [::Faraday::Response]
190
203
  #
191
- # @return [::Gapic::Rest::BaseOperation]
204
+ # @return [::Gapic::GenericLRO::Operation]
192
205
  #
193
206
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
194
207
  def disable_xpn_host request, options = nil
@@ -215,7 +228,14 @@ module Google
215
228
  metadata: @config.metadata
216
229
 
217
230
  @projects_stub.disable_xpn_host request, options do |result, response|
218
- result = ::Gapic::Rest::BaseOperation.new result
231
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
232
+ operation: result,
233
+ client: global_operations,
234
+ request_values: {
235
+ "project" => request.project
236
+ },
237
+ options: options
238
+ )
219
239
  yield result, response if block_given?
220
240
  return result
221
241
  end
@@ -251,10 +271,10 @@ module Google
251
271
  # @param request_id [::String]
252
272
  # 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).
253
273
  # @yield [result, response] Access the result along with the Faraday response object
254
- # @yieldparam result [::Gapic::Rest::BaseOperation]
274
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
255
275
  # @yieldparam response [::Faraday::Response]
256
276
  #
257
- # @return [::Gapic::Rest::BaseOperation]
277
+ # @return [::Gapic::GenericLRO::Operation]
258
278
  #
259
279
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
260
280
  def disable_xpn_resource request, options = nil
@@ -281,7 +301,14 @@ module Google
281
301
  metadata: @config.metadata
282
302
 
283
303
  @projects_stub.disable_xpn_resource request, options do |result, response|
284
- result = ::Gapic::Rest::BaseOperation.new result
304
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
305
+ operation: result,
306
+ client: global_operations,
307
+ request_values: {
308
+ "project" => request.project
309
+ },
310
+ options: options
311
+ )
285
312
  yield result, response if block_given?
286
313
  return result
287
314
  end
@@ -315,10 +342,10 @@ module Google
315
342
  # @param request_id [::String]
316
343
  # 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).
317
344
  # @yield [result, response] Access the result along with the Faraday response object
318
- # @yieldparam result [::Gapic::Rest::BaseOperation]
345
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
319
346
  # @yieldparam response [::Faraday::Response]
320
347
  #
321
- # @return [::Gapic::Rest::BaseOperation]
348
+ # @return [::Gapic::GenericLRO::Operation]
322
349
  #
323
350
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
324
351
  def enable_xpn_host request, options = nil
@@ -345,7 +372,14 @@ module Google
345
372
  metadata: @config.metadata
346
373
 
347
374
  @projects_stub.enable_xpn_host request, options do |result, response|
348
- result = ::Gapic::Rest::BaseOperation.new result
375
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
376
+ operation: result,
377
+ client: global_operations,
378
+ request_values: {
379
+ "project" => request.project
380
+ },
381
+ options: options
382
+ )
349
383
  yield result, response if block_given?
350
384
  return result
351
385
  end
@@ -381,10 +415,10 @@ module Google
381
415
  # @param request_id [::String]
382
416
  # 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).
383
417
  # @yield [result, response] Access the result along with the Faraday response object
384
- # @yieldparam result [::Gapic::Rest::BaseOperation]
418
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
385
419
  # @yieldparam response [::Faraday::Response]
386
420
  #
387
- # @return [::Gapic::Rest::BaseOperation]
421
+ # @return [::Gapic::GenericLRO::Operation]
388
422
  #
389
423
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
390
424
  def enable_xpn_resource request, options = nil
@@ -411,7 +445,14 @@ module Google
411
445
  metadata: @config.metadata
412
446
 
413
447
  @projects_stub.enable_xpn_resource request, options do |result, response|
414
- result = ::Gapic::Rest::BaseOperation.new result
448
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
449
+ operation: result,
450
+ client: global_operations,
451
+ request_values: {
452
+ "project" => request.project
453
+ },
454
+ options: options
455
+ )
415
456
  yield result, response if block_given?
416
457
  return result
417
458
  end
@@ -421,7 +462,7 @@ module Google
421
462
  end
422
463
 
423
464
  ##
424
- # Returns the specified Project resource.
465
+ # Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
425
466
  #
426
467
  # @overload get(request, options = nil)
427
468
  # Pass arguments to `get` via a request object, either of type
@@ -563,7 +604,7 @@ module Google
563
604
  # the default parameter values, pass an empty Hash as a request object (see above).
564
605
  #
565
606
  # @param filter [::String]
566
- # 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) ```
607
+ # 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) ```
567
608
  # @param max_results [::Integer]
568
609
  # 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`)
569
610
  # @param order_by [::String]
@@ -635,7 +676,7 @@ module Google
635
676
  # the default parameter values, pass an empty Hash as a request object (see above).
636
677
  #
637
678
  # @param filter [::String]
638
- # 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) ```
679
+ # 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) ```
639
680
  # @param max_results [::Integer]
640
681
  # 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`)
641
682
  # @param order_by [::String]
@@ -715,10 +756,10 @@ module Google
715
756
  # @param request_id [::String]
716
757
  # 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).
717
758
  # @yield [result, response] Access the result along with the Faraday response object
718
- # @yieldparam result [::Gapic::Rest::BaseOperation]
759
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
719
760
  # @yieldparam response [::Faraday::Response]
720
761
  #
721
- # @return [::Gapic::Rest::BaseOperation]
762
+ # @return [::Gapic::GenericLRO::Operation]
722
763
  #
723
764
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
724
765
  def move_disk request, options = nil
@@ -745,7 +786,14 @@ module Google
745
786
  metadata: @config.metadata
746
787
 
747
788
  @projects_stub.move_disk request, options do |result, response|
748
- result = ::Gapic::Rest::BaseOperation.new result
789
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
790
+ operation: result,
791
+ client: global_operations,
792
+ request_values: {
793
+ "project" => request.project
794
+ },
795
+ options: options
796
+ )
749
797
  yield result, response if block_given?
750
798
  return result
751
799
  end
@@ -755,7 +803,7 @@ module Google
755
803
  end
756
804
 
757
805
  ##
758
- # Moves an instance and its attached persistent disks from one zone to another.
806
+ # Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).
759
807
  #
760
808
  # @overload move_instance(request, options = nil)
761
809
  # Pass arguments to `move_instance` via a request object, either of type
@@ -781,10 +829,10 @@ module Google
781
829
  # @param request_id [::String]
782
830
  # 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).
783
831
  # @yield [result, response] Access the result along with the Faraday response object
784
- # @yieldparam result [::Gapic::Rest::BaseOperation]
832
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
785
833
  # @yieldparam response [::Faraday::Response]
786
834
  #
787
- # @return [::Gapic::Rest::BaseOperation]
835
+ # @return [::Gapic::GenericLRO::Operation]
788
836
  #
789
837
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
790
838
  def move_instance request, options = nil
@@ -811,7 +859,14 @@ module Google
811
859
  metadata: @config.metadata
812
860
 
813
861
  @projects_stub.move_instance request, options do |result, response|
814
- result = ::Gapic::Rest::BaseOperation.new result
862
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
863
+ operation: result,
864
+ client: global_operations,
865
+ request_values: {
866
+ "project" => request.project
867
+ },
868
+ options: options
869
+ )
815
870
  yield result, response if block_given?
816
871
  return result
817
872
  end
@@ -847,10 +902,10 @@ module Google
847
902
  # @param request_id [::String]
848
903
  # 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).
849
904
  # @yield [result, response] Access the result along with the Faraday response object
850
- # @yieldparam result [::Gapic::Rest::BaseOperation]
905
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
851
906
  # @yieldparam response [::Faraday::Response]
852
907
  #
853
- # @return [::Gapic::Rest::BaseOperation]
908
+ # @return [::Gapic::GenericLRO::Operation]
854
909
  #
855
910
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
856
911
  def set_common_instance_metadata request, options = nil
@@ -877,7 +932,14 @@ module Google
877
932
  metadata: @config.metadata
878
933
 
879
934
  @projects_stub.set_common_instance_metadata request, options do |result, response|
880
- result = ::Gapic::Rest::BaseOperation.new result
935
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
936
+ operation: result,
937
+ client: global_operations,
938
+ request_values: {
939
+ "project" => request.project
940
+ },
941
+ options: options
942
+ )
881
943
  yield result, response if block_given?
882
944
  return result
883
945
  end
@@ -913,10 +975,10 @@ module Google
913
975
  # @param request_id [::String]
914
976
  # 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).
915
977
  # @yield [result, response] Access the result along with the Faraday response object
916
- # @yieldparam result [::Gapic::Rest::BaseOperation]
978
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
917
979
  # @yieldparam response [::Faraday::Response]
918
980
  #
919
- # @return [::Gapic::Rest::BaseOperation]
981
+ # @return [::Gapic::GenericLRO::Operation]
920
982
  #
921
983
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
922
984
  def set_default_network_tier request, options = nil
@@ -943,7 +1005,14 @@ module Google
943
1005
  metadata: @config.metadata
944
1006
 
945
1007
  @projects_stub.set_default_network_tier request, options do |result, response|
946
- result = ::Gapic::Rest::BaseOperation.new result
1008
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
1009
+ operation: result,
1010
+ client: global_operations,
1011
+ request_values: {
1012
+ "project" => request.project
1013
+ },
1014
+ options: options
1015
+ )
947
1016
  yield result, response if block_given?
948
1017
  return result
949
1018
  end
@@ -979,10 +1048,10 @@ module Google
979
1048
  # @param usage_export_location_resource [::Google::Cloud::Compute::V1::UsageExportLocation, ::Hash]
980
1049
  # The body resource for this request
981
1050
  # @yield [result, response] Access the result along with the Faraday response object
982
- # @yieldparam result [::Gapic::Rest::BaseOperation]
1051
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
983
1052
  # @yieldparam response [::Faraday::Response]
984
1053
  #
985
- # @return [::Gapic::Rest::BaseOperation]
1054
+ # @return [::Gapic::GenericLRO::Operation]
986
1055
  #
987
1056
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
988
1057
  def set_usage_export_bucket request, options = nil
@@ -1009,7 +1078,14 @@ module Google
1009
1078
  metadata: @config.metadata
1010
1079
 
1011
1080
  @projects_stub.set_usage_export_bucket request, options do |result, response|
1012
- result = ::Gapic::Rest::BaseOperation.new result
1081
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
1082
+ operation: result,
1083
+ client: global_operations,
1084
+ request_values: {
1085
+ "project" => request.project
1086
+ },
1087
+ options: options
1088
+ )
1013
1089
  yield result, response if block_given?
1014
1090
  return result
1015
1091
  end