google-cloud-compute-v1 2.16.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -78,6 +78,8 @@ module Google
78
78
 
79
79
  default_config.rpcs.delete.timeout = 600.0
80
80
 
81
+ default_config.rpcs.delete_route_policy.timeout = 600.0
82
+
81
83
  default_config.rpcs.get.timeout = 600.0
82
84
  default_config.rpcs.get.retry_policy = {
83
85
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
@@ -93,6 +95,11 @@ module Google
93
95
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
94
96
  }
95
97
 
98
+ default_config.rpcs.get_route_policy.timeout = 600.0
99
+ default_config.rpcs.get_route_policy.retry_policy = {
100
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
101
+ }
102
+
96
103
  default_config.rpcs.get_router_status.timeout = 600.0
97
104
  default_config.rpcs.get_router_status.retry_policy = {
98
105
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
@@ -105,12 +112,26 @@ module Google
105
112
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
106
113
  }
107
114
 
115
+ default_config.rpcs.list_bgp_routes.timeout = 600.0
116
+ default_config.rpcs.list_bgp_routes.retry_policy = {
117
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
118
+ }
119
+
120
+ default_config.rpcs.list_route_policies.timeout = 600.0
121
+ default_config.rpcs.list_route_policies.retry_policy = {
122
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
123
+ }
124
+
108
125
  default_config.rpcs.patch.timeout = 600.0
109
126
 
127
+ default_config.rpcs.patch_route_policy.timeout = 600.0
128
+
110
129
  default_config.rpcs.preview.timeout = 600.0
111
130
 
112
131
  default_config.rpcs.update.timeout = 600.0
113
132
 
133
+ default_config.rpcs.update_route_policy.timeout = 600.0
134
+
114
135
  default_config
115
136
  end
116
137
  yield @configure if block_given?
@@ -417,6 +438,102 @@ module Google
417
438
  raise ::Google::Cloud::Error.from_error(e)
418
439
  end
419
440
 
441
+ ##
442
+ # Deletes Route Policy
443
+ #
444
+ # @overload delete_route_policy(request, options = nil)
445
+ # Pass arguments to `delete_route_policy` via a request object, either of type
446
+ # {::Google::Cloud::Compute::V1::DeleteRoutePolicyRouterRequest} or an equivalent Hash.
447
+ #
448
+ # @param request [::Google::Cloud::Compute::V1::DeleteRoutePolicyRouterRequest, ::Hash]
449
+ # A request object representing the call parameters. Required. To specify no
450
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
451
+ # @param options [::Gapic::CallOptions, ::Hash]
452
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
453
+ #
454
+ # @overload delete_route_policy(policy: nil, project: nil, region: nil, request_id: nil, router: nil)
455
+ # Pass arguments to `delete_route_policy` via keyword arguments. Note that at
456
+ # least one keyword argument is required. To specify no parameters, or to keep all
457
+ # the default parameter values, pass an empty Hash as a request object (see above).
458
+ #
459
+ # @param policy [::String]
460
+ # The Policy name for this request. Name must conform to RFC1035
461
+ # @param project [::String]
462
+ # Project ID for this request.
463
+ # @param region [::String]
464
+ # Name of the region for this request.
465
+ # @param request_id [::String]
466
+ # 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).
467
+ # @param router [::String]
468
+ # Name of the Router resource where Route Policy is defined.
469
+ # @yield [result, operation] Access the result along with the TransportOperation object
470
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
471
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
472
+ #
473
+ # @return [::Gapic::GenericLRO::Operation]
474
+ #
475
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
476
+ #
477
+ # @example Basic example
478
+ # require "google/cloud/compute/v1"
479
+ #
480
+ # # Create a client object. The client can be reused for multiple calls.
481
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
482
+ #
483
+ # # Create a request. To set request fields, pass in keyword arguments.
484
+ # request = Google::Cloud::Compute::V1::DeleteRoutePolicyRouterRequest.new
485
+ #
486
+ # # Call the delete_route_policy method.
487
+ # result = client.delete_route_policy request
488
+ #
489
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
490
+ # p result
491
+ #
492
+ def delete_route_policy request, options = nil
493
+ raise ::ArgumentError, "request must be provided" if request.nil?
494
+
495
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::DeleteRoutePolicyRouterRequest
496
+
497
+ # Converts hash and nil to an options object
498
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
499
+
500
+ # Customize the options with defaults
501
+ call_metadata = @config.rpcs.delete_route_policy.metadata.to_h
502
+
503
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
504
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
505
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
506
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
507
+ transports_version_send: [:rest]
508
+
509
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
510
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
511
+
512
+ options.apply_defaults timeout: @config.rpcs.delete_route_policy.timeout,
513
+ metadata: call_metadata,
514
+ retry_policy: @config.rpcs.delete_route_policy.retry_policy
515
+
516
+ options.apply_defaults timeout: @config.timeout,
517
+ metadata: @config.metadata,
518
+ retry_policy: @config.retry_policy
519
+
520
+ @routers_stub.delete_route_policy request, options do |result, response|
521
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
522
+ operation: result,
523
+ client: region_operations,
524
+ request_values: {
525
+ "project" => request.project,
526
+ "region" => request.region
527
+ },
528
+ options: options
529
+ )
530
+ yield result, response if block_given?
531
+ throw :response, result
532
+ end
533
+ rescue ::Gapic::Rest::Error => e
534
+ raise ::Google::Cloud::Error.from_error(e)
535
+ end
536
+
420
537
  ##
421
538
  # Returns the specified Router resource.
422
539
  #
@@ -679,6 +796,90 @@ module Google
679
796
  raise ::Google::Cloud::Error.from_error(e)
680
797
  end
681
798
 
799
+ ##
800
+ # Returns specified Route Policy
801
+ #
802
+ # @overload get_route_policy(request, options = nil)
803
+ # Pass arguments to `get_route_policy` via a request object, either of type
804
+ # {::Google::Cloud::Compute::V1::GetRoutePolicyRouterRequest} or an equivalent Hash.
805
+ #
806
+ # @param request [::Google::Cloud::Compute::V1::GetRoutePolicyRouterRequest, ::Hash]
807
+ # A request object representing the call parameters. Required. To specify no
808
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
809
+ # @param options [::Gapic::CallOptions, ::Hash]
810
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
811
+ #
812
+ # @overload get_route_policy(policy: nil, project: nil, region: nil, router: nil)
813
+ # Pass arguments to `get_route_policy` via keyword arguments. Note that at
814
+ # least one keyword argument is required. To specify no parameters, or to keep all
815
+ # the default parameter values, pass an empty Hash as a request object (see above).
816
+ #
817
+ # @param policy [::String]
818
+ # The Policy name for this request. Name must conform to RFC1035
819
+ # @param project [::String]
820
+ # Project ID for this request.
821
+ # @param region [::String]
822
+ # Name of the region for this request.
823
+ # @param router [::String]
824
+ # Name of the Router resource to query for the route policy. The name should conform to RFC1035.
825
+ # @yield [result, operation] Access the result along with the TransportOperation object
826
+ # @yieldparam result [::Google::Cloud::Compute::V1::RoutersGetRoutePolicyResponse]
827
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
828
+ #
829
+ # @return [::Google::Cloud::Compute::V1::RoutersGetRoutePolicyResponse]
830
+ #
831
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
832
+ #
833
+ # @example Basic example
834
+ # require "google/cloud/compute/v1"
835
+ #
836
+ # # Create a client object. The client can be reused for multiple calls.
837
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
838
+ #
839
+ # # Create a request. To set request fields, pass in keyword arguments.
840
+ # request = Google::Cloud::Compute::V1::GetRoutePolicyRouterRequest.new
841
+ #
842
+ # # Call the get_route_policy method.
843
+ # result = client.get_route_policy request
844
+ #
845
+ # # The returned object is of type Google::Cloud::Compute::V1::RoutersGetRoutePolicyResponse.
846
+ # p result
847
+ #
848
+ def get_route_policy request, options = nil
849
+ raise ::ArgumentError, "request must be provided" if request.nil?
850
+
851
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::GetRoutePolicyRouterRequest
852
+
853
+ # Converts hash and nil to an options object
854
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
855
+
856
+ # Customize the options with defaults
857
+ call_metadata = @config.rpcs.get_route_policy.metadata.to_h
858
+
859
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
860
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
861
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
862
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
863
+ transports_version_send: [:rest]
864
+
865
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
866
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
867
+
868
+ options.apply_defaults timeout: @config.rpcs.get_route_policy.timeout,
869
+ metadata: call_metadata,
870
+ retry_policy: @config.rpcs.get_route_policy.retry_policy
871
+
872
+ options.apply_defaults timeout: @config.timeout,
873
+ metadata: @config.metadata,
874
+ retry_policy: @config.retry_policy
875
+
876
+ @routers_stub.get_route_policy request, options do |result, operation|
877
+ yield result, operation if block_given?
878
+ end
879
+ rescue ::Gapic::Rest::Error => e
880
+ raise ::Google::Cloud::Error.from_error(e)
881
+ end
882
+
682
883
  ##
683
884
  # Retrieves runtime information of the specified router.
684
885
  #
@@ -947,6 +1148,202 @@ module Google
947
1148
  raise ::Google::Cloud::Error.from_error(e)
948
1149
  end
949
1150
 
1151
+ ##
1152
+ # Retrieves a list of router bgp routes available to the specified project.
1153
+ #
1154
+ # @overload list_bgp_routes(request, options = nil)
1155
+ # Pass arguments to `list_bgp_routes` via a request object, either of type
1156
+ # {::Google::Cloud::Compute::V1::ListBgpRoutesRoutersRequest} or an equivalent Hash.
1157
+ #
1158
+ # @param request [::Google::Cloud::Compute::V1::ListBgpRoutesRoutersRequest, ::Hash]
1159
+ # A request object representing the call parameters. Required. To specify no
1160
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1161
+ # @param options [::Gapic::CallOptions, ::Hash]
1162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1163
+ #
1164
+ # @overload list_bgp_routes(address_family: nil, destination_prefix: nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, peer: nil, policy_applied: nil, project: nil, region: nil, return_partial_success: nil, route_type: nil, router: nil)
1165
+ # Pass arguments to `list_bgp_routes` via keyword arguments. Note that at
1166
+ # least one keyword argument is required. To specify no parameters, or to keep all
1167
+ # the default parameter values, pass an empty Hash as a request object (see above).
1168
+ #
1169
+ # @param address_family [::String]
1170
+ # (Required) limit results to this address family (either IPv4 or IPv6)
1171
+ # Check the AddressFamily enum for the list of possible values.
1172
+ # @param destination_prefix [::String]
1173
+ # Limit results to destinations that are subnets of this CIDR range
1174
+ # @param filter [::String]
1175
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your 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 `:*` 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) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
1176
+ # @param max_results [::Integer]
1177
+ # 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`)
1178
+ # @param order_by [::String]
1179
+ # 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.
1180
+ # @param page_token [::String]
1181
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
1182
+ # @param peer [::String]
1183
+ # (Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.
1184
+ # @param policy_applied [::Boolean]
1185
+ # When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.
1186
+ # @param project [::String]
1187
+ # Project ID for this request.
1188
+ # @param region [::String]
1189
+ # Name of the region for this request.
1190
+ # @param return_partial_success [::Boolean]
1191
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
1192
+ # @param route_type [::String]
1193
+ # (Required) limit results to this type of route (either LEARNED or ADVERTISED)
1194
+ # Check the RouteType enum for the list of possible values.
1195
+ # @param router [::String]
1196
+ # Name or id of the resource for this request. Name should conform to RFC1035.
1197
+ # @yield [result, operation] Access the result along with the TransportOperation object
1198
+ # @yieldparam result [::Google::Cloud::Compute::V1::RoutersListBgpRoutes]
1199
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1200
+ #
1201
+ # @return [::Google::Cloud::Compute::V1::RoutersListBgpRoutes]
1202
+ #
1203
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1204
+ #
1205
+ # @example Basic example
1206
+ # require "google/cloud/compute/v1"
1207
+ #
1208
+ # # Create a client object. The client can be reused for multiple calls.
1209
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
1210
+ #
1211
+ # # Create a request. To set request fields, pass in keyword arguments.
1212
+ # request = Google::Cloud::Compute::V1::ListBgpRoutesRoutersRequest.new
1213
+ #
1214
+ # # Call the list_bgp_routes method.
1215
+ # result = client.list_bgp_routes request
1216
+ #
1217
+ # # The returned object is of type Google::Cloud::Compute::V1::RoutersListBgpRoutes.
1218
+ # p result
1219
+ #
1220
+ def list_bgp_routes request, options = nil
1221
+ raise ::ArgumentError, "request must be provided" if request.nil?
1222
+
1223
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ListBgpRoutesRoutersRequest
1224
+
1225
+ # Converts hash and nil to an options object
1226
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1227
+
1228
+ # Customize the options with defaults
1229
+ call_metadata = @config.rpcs.list_bgp_routes.metadata.to_h
1230
+
1231
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1232
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1233
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1234
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1235
+ transports_version_send: [:rest]
1236
+
1237
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1238
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1239
+
1240
+ options.apply_defaults timeout: @config.rpcs.list_bgp_routes.timeout,
1241
+ metadata: call_metadata,
1242
+ retry_policy: @config.rpcs.list_bgp_routes.retry_policy
1243
+
1244
+ options.apply_defaults timeout: @config.timeout,
1245
+ metadata: @config.metadata,
1246
+ retry_policy: @config.retry_policy
1247
+
1248
+ @routers_stub.list_bgp_routes request, options do |result, operation|
1249
+ yield result, operation if block_given?
1250
+ end
1251
+ rescue ::Gapic::Rest::Error => e
1252
+ raise ::Google::Cloud::Error.from_error(e)
1253
+ end
1254
+
1255
+ ##
1256
+ # Retrieves a list of router route policy subresources available to the specified project.
1257
+ #
1258
+ # @overload list_route_policies(request, options = nil)
1259
+ # Pass arguments to `list_route_policies` via a request object, either of type
1260
+ # {::Google::Cloud::Compute::V1::ListRoutePoliciesRoutersRequest} or an equivalent Hash.
1261
+ #
1262
+ # @param request [::Google::Cloud::Compute::V1::ListRoutePoliciesRoutersRequest, ::Hash]
1263
+ # A request object representing the call parameters. Required. To specify no
1264
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1265
+ # @param options [::Gapic::CallOptions, ::Hash]
1266
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1267
+ #
1268
+ # @overload list_route_policies(filter: nil, max_results: nil, order_by: nil, page_token: nil, project: nil, region: nil, return_partial_success: nil, router: nil)
1269
+ # Pass arguments to `list_route_policies` via keyword arguments. Note that at
1270
+ # least one keyword argument is required. To specify no parameters, or to keep all
1271
+ # the default parameter values, pass an empty Hash as a request object (see above).
1272
+ #
1273
+ # @param filter [::String]
1274
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your 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 `:*` 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) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.
1275
+ # @param max_results [::Integer]
1276
+ # 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`)
1277
+ # @param order_by [::String]
1278
+ # 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.
1279
+ # @param page_token [::String]
1280
+ # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
1281
+ # @param project [::String]
1282
+ # Project ID for this request.
1283
+ # @param region [::String]
1284
+ # Name of the region for this request.
1285
+ # @param return_partial_success [::Boolean]
1286
+ # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
1287
+ # @param router [::String]
1288
+ # Name or id of the resource for this request. Name should conform to RFC1035.
1289
+ # @yield [result, operation] Access the result along with the TransportOperation object
1290
+ # @yieldparam result [::Google::Cloud::Compute::V1::RoutersListRoutePolicies]
1291
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1292
+ #
1293
+ # @return [::Google::Cloud::Compute::V1::RoutersListRoutePolicies]
1294
+ #
1295
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1296
+ #
1297
+ # @example Basic example
1298
+ # require "google/cloud/compute/v1"
1299
+ #
1300
+ # # Create a client object. The client can be reused for multiple calls.
1301
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
1302
+ #
1303
+ # # Create a request. To set request fields, pass in keyword arguments.
1304
+ # request = Google::Cloud::Compute::V1::ListRoutePoliciesRoutersRequest.new
1305
+ #
1306
+ # # Call the list_route_policies method.
1307
+ # result = client.list_route_policies request
1308
+ #
1309
+ # # The returned object is of type Google::Cloud::Compute::V1::RoutersListRoutePolicies.
1310
+ # p result
1311
+ #
1312
+ def list_route_policies request, options = nil
1313
+ raise ::ArgumentError, "request must be provided" if request.nil?
1314
+
1315
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ListRoutePoliciesRoutersRequest
1316
+
1317
+ # Converts hash and nil to an options object
1318
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1319
+
1320
+ # Customize the options with defaults
1321
+ call_metadata = @config.rpcs.list_route_policies.metadata.to_h
1322
+
1323
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1324
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1325
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1326
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1327
+ transports_version_send: [:rest]
1328
+
1329
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1330
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1331
+
1332
+ options.apply_defaults timeout: @config.rpcs.list_route_policies.timeout,
1333
+ metadata: call_metadata,
1334
+ retry_policy: @config.rpcs.list_route_policies.retry_policy
1335
+
1336
+ options.apply_defaults timeout: @config.timeout,
1337
+ metadata: @config.metadata,
1338
+ retry_policy: @config.retry_policy
1339
+
1340
+ @routers_stub.list_route_policies request, options do |result, operation|
1341
+ yield result, operation if block_given?
1342
+ end
1343
+ rescue ::Gapic::Rest::Error => e
1344
+ raise ::Google::Cloud::Error.from_error(e)
1345
+ end
1346
+
950
1347
  ##
951
1348
  # Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.
952
1349
  #
@@ -1043,6 +1440,102 @@ module Google
1043
1440
  raise ::Google::Cloud::Error.from_error(e)
1044
1441
  end
1045
1442
 
1443
+ ##
1444
+ # Patches Route Policy
1445
+ #
1446
+ # @overload patch_route_policy(request, options = nil)
1447
+ # Pass arguments to `patch_route_policy` via a request object, either of type
1448
+ # {::Google::Cloud::Compute::V1::PatchRoutePolicyRouterRequest} or an equivalent Hash.
1449
+ #
1450
+ # @param request [::Google::Cloud::Compute::V1::PatchRoutePolicyRouterRequest, ::Hash]
1451
+ # A request object representing the call parameters. Required. To specify no
1452
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1453
+ # @param options [::Gapic::CallOptions, ::Hash]
1454
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1455
+ #
1456
+ # @overload patch_route_policy(project: nil, region: nil, request_id: nil, route_policy_resource: nil, router: nil)
1457
+ # Pass arguments to `patch_route_policy` via keyword arguments. Note that at
1458
+ # least one keyword argument is required. To specify no parameters, or to keep all
1459
+ # the default parameter values, pass an empty Hash as a request object (see above).
1460
+ #
1461
+ # @param project [::String]
1462
+ # Project ID for this request.
1463
+ # @param region [::String]
1464
+ # Name of the region for this request.
1465
+ # @param request_id [::String]
1466
+ # 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).
1467
+ # @param route_policy_resource [::Google::Cloud::Compute::V1::RoutePolicy, ::Hash]
1468
+ # The body resource for this request
1469
+ # @param router [::String]
1470
+ # Name of the Router resource where Route Policy is defined.
1471
+ # @yield [result, operation] Access the result along with the TransportOperation object
1472
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
1473
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1474
+ #
1475
+ # @return [::Gapic::GenericLRO::Operation]
1476
+ #
1477
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1478
+ #
1479
+ # @example Basic example
1480
+ # require "google/cloud/compute/v1"
1481
+ #
1482
+ # # Create a client object. The client can be reused for multiple calls.
1483
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
1484
+ #
1485
+ # # Create a request. To set request fields, pass in keyword arguments.
1486
+ # request = Google::Cloud::Compute::V1::PatchRoutePolicyRouterRequest.new
1487
+ #
1488
+ # # Call the patch_route_policy method.
1489
+ # result = client.patch_route_policy request
1490
+ #
1491
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
1492
+ # p result
1493
+ #
1494
+ def patch_route_policy request, options = nil
1495
+ raise ::ArgumentError, "request must be provided" if request.nil?
1496
+
1497
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::PatchRoutePolicyRouterRequest
1498
+
1499
+ # Converts hash and nil to an options object
1500
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1501
+
1502
+ # Customize the options with defaults
1503
+ call_metadata = @config.rpcs.patch_route_policy.metadata.to_h
1504
+
1505
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1506
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1507
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1508
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1509
+ transports_version_send: [:rest]
1510
+
1511
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1512
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1513
+
1514
+ options.apply_defaults timeout: @config.rpcs.patch_route_policy.timeout,
1515
+ metadata: call_metadata,
1516
+ retry_policy: @config.rpcs.patch_route_policy.retry_policy
1517
+
1518
+ options.apply_defaults timeout: @config.timeout,
1519
+ metadata: @config.metadata,
1520
+ retry_policy: @config.retry_policy
1521
+
1522
+ @routers_stub.patch_route_policy request, options do |result, response|
1523
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
1524
+ operation: result,
1525
+ client: region_operations,
1526
+ request_values: {
1527
+ "project" => request.project,
1528
+ "region" => request.region
1529
+ },
1530
+ options: options
1531
+ )
1532
+ yield result, response if block_given?
1533
+ throw :response, result
1534
+ end
1535
+ rescue ::Gapic::Rest::Error => e
1536
+ raise ::Google::Cloud::Error.from_error(e)
1537
+ end
1538
+
1046
1539
  ##
1047
1540
  # Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.
1048
1541
  #
@@ -1223,6 +1716,102 @@ module Google
1223
1716
  raise ::Google::Cloud::Error.from_error(e)
1224
1717
  end
1225
1718
 
1719
+ ##
1720
+ # Updates or creates new Route Policy
1721
+ #
1722
+ # @overload update_route_policy(request, options = nil)
1723
+ # Pass arguments to `update_route_policy` via a request object, either of type
1724
+ # {::Google::Cloud::Compute::V1::UpdateRoutePolicyRouterRequest} or an equivalent Hash.
1725
+ #
1726
+ # @param request [::Google::Cloud::Compute::V1::UpdateRoutePolicyRouterRequest, ::Hash]
1727
+ # A request object representing the call parameters. Required. To specify no
1728
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1729
+ # @param options [::Gapic::CallOptions, ::Hash]
1730
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1731
+ #
1732
+ # @overload update_route_policy(project: nil, region: nil, request_id: nil, route_policy_resource: nil, router: nil)
1733
+ # Pass arguments to `update_route_policy` via keyword arguments. Note that at
1734
+ # least one keyword argument is required. To specify no parameters, or to keep all
1735
+ # the default parameter values, pass an empty Hash as a request object (see above).
1736
+ #
1737
+ # @param project [::String]
1738
+ # Project ID for this request.
1739
+ # @param region [::String]
1740
+ # Name of the region for this request.
1741
+ # @param request_id [::String]
1742
+ # 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).
1743
+ # @param route_policy_resource [::Google::Cloud::Compute::V1::RoutePolicy, ::Hash]
1744
+ # The body resource for this request
1745
+ # @param router [::String]
1746
+ # Name of the Router resource where Route Policy is defined.
1747
+ # @yield [result, operation] Access the result along with the TransportOperation object
1748
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
1749
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1750
+ #
1751
+ # @return [::Gapic::GenericLRO::Operation]
1752
+ #
1753
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1754
+ #
1755
+ # @example Basic example
1756
+ # require "google/cloud/compute/v1"
1757
+ #
1758
+ # # Create a client object. The client can be reused for multiple calls.
1759
+ # client = Google::Cloud::Compute::V1::Routers::Rest::Client.new
1760
+ #
1761
+ # # Create a request. To set request fields, pass in keyword arguments.
1762
+ # request = Google::Cloud::Compute::V1::UpdateRoutePolicyRouterRequest.new
1763
+ #
1764
+ # # Call the update_route_policy method.
1765
+ # result = client.update_route_policy request
1766
+ #
1767
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
1768
+ # p result
1769
+ #
1770
+ def update_route_policy request, options = nil
1771
+ raise ::ArgumentError, "request must be provided" if request.nil?
1772
+
1773
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::UpdateRoutePolicyRouterRequest
1774
+
1775
+ # Converts hash and nil to an options object
1776
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1777
+
1778
+ # Customize the options with defaults
1779
+ call_metadata = @config.rpcs.update_route_policy.metadata.to_h
1780
+
1781
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1782
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1783
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1784
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1785
+ transports_version_send: [:rest]
1786
+
1787
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1788
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1789
+
1790
+ options.apply_defaults timeout: @config.rpcs.update_route_policy.timeout,
1791
+ metadata: call_metadata,
1792
+ retry_policy: @config.rpcs.update_route_policy.retry_policy
1793
+
1794
+ options.apply_defaults timeout: @config.timeout,
1795
+ metadata: @config.metadata,
1796
+ retry_policy: @config.retry_policy
1797
+
1798
+ @routers_stub.update_route_policy request, options do |result, response|
1799
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
1800
+ operation: result,
1801
+ client: region_operations,
1802
+ request_values: {
1803
+ "project" => request.project,
1804
+ "region" => request.region
1805
+ },
1806
+ options: options
1807
+ )
1808
+ yield result, response if block_given?
1809
+ throw :response, result
1810
+ end
1811
+ rescue ::Gapic::Rest::Error => e
1812
+ raise ::Google::Cloud::Error.from_error(e)
1813
+ end
1814
+
1226
1815
  ##
1227
1816
  # Configuration class for the Routers REST API.
1228
1817
  #
@@ -1380,6 +1969,11 @@ module Google
1380
1969
  #
1381
1970
  attr_reader :delete
1382
1971
  ##
1972
+ # RPC-specific configuration for `delete_route_policy`
1973
+ # @return [::Gapic::Config::Method]
1974
+ #
1975
+ attr_reader :delete_route_policy
1976
+ ##
1383
1977
  # RPC-specific configuration for `get`
1384
1978
  # @return [::Gapic::Config::Method]
1385
1979
  #
@@ -1395,6 +1989,11 @@ module Google
1395
1989
  #
1396
1990
  attr_reader :get_nat_mapping_info
1397
1991
  ##
1992
+ # RPC-specific configuration for `get_route_policy`
1993
+ # @return [::Gapic::Config::Method]
1994
+ #
1995
+ attr_reader :get_route_policy
1996
+ ##
1398
1997
  # RPC-specific configuration for `get_router_status`
1399
1998
  # @return [::Gapic::Config::Method]
1400
1999
  #
@@ -1410,11 +2009,26 @@ module Google
1410
2009
  #
1411
2010
  attr_reader :list
1412
2011
  ##
2012
+ # RPC-specific configuration for `list_bgp_routes`
2013
+ # @return [::Gapic::Config::Method]
2014
+ #
2015
+ attr_reader :list_bgp_routes
2016
+ ##
2017
+ # RPC-specific configuration for `list_route_policies`
2018
+ # @return [::Gapic::Config::Method]
2019
+ #
2020
+ attr_reader :list_route_policies
2021
+ ##
1413
2022
  # RPC-specific configuration for `patch`
1414
2023
  # @return [::Gapic::Config::Method]
1415
2024
  #
1416
2025
  attr_reader :patch
1417
2026
  ##
2027
+ # RPC-specific configuration for `patch_route_policy`
2028
+ # @return [::Gapic::Config::Method]
2029
+ #
2030
+ attr_reader :patch_route_policy
2031
+ ##
1418
2032
  # RPC-specific configuration for `preview`
1419
2033
  # @return [::Gapic::Config::Method]
1420
2034
  #
@@ -1424,6 +2038,11 @@ module Google
1424
2038
  # @return [::Gapic::Config::Method]
1425
2039
  #
1426
2040
  attr_reader :update
2041
+ ##
2042
+ # RPC-specific configuration for `update_route_policy`
2043
+ # @return [::Gapic::Config::Method]
2044
+ #
2045
+ attr_reader :update_route_policy
1427
2046
 
1428
2047
  # @private
1429
2048
  def initialize parent_rpcs = nil
@@ -1431,24 +2050,36 @@ module Google
1431
2050
  @aggregated_list = ::Gapic::Config::Method.new aggregated_list_config
1432
2051
  delete_config = parent_rpcs.delete if parent_rpcs.respond_to? :delete
1433
2052
  @delete = ::Gapic::Config::Method.new delete_config
2053
+ delete_route_policy_config = parent_rpcs.delete_route_policy if parent_rpcs.respond_to? :delete_route_policy
2054
+ @delete_route_policy = ::Gapic::Config::Method.new delete_route_policy_config
1434
2055
  get_config = parent_rpcs.get if parent_rpcs.respond_to? :get
1435
2056
  @get = ::Gapic::Config::Method.new get_config
1436
2057
  get_nat_ip_info_config = parent_rpcs.get_nat_ip_info if parent_rpcs.respond_to? :get_nat_ip_info
1437
2058
  @get_nat_ip_info = ::Gapic::Config::Method.new get_nat_ip_info_config
1438
2059
  get_nat_mapping_info_config = parent_rpcs.get_nat_mapping_info if parent_rpcs.respond_to? :get_nat_mapping_info
1439
2060
  @get_nat_mapping_info = ::Gapic::Config::Method.new get_nat_mapping_info_config
2061
+ get_route_policy_config = parent_rpcs.get_route_policy if parent_rpcs.respond_to? :get_route_policy
2062
+ @get_route_policy = ::Gapic::Config::Method.new get_route_policy_config
1440
2063
  get_router_status_config = parent_rpcs.get_router_status if parent_rpcs.respond_to? :get_router_status
1441
2064
  @get_router_status = ::Gapic::Config::Method.new get_router_status_config
1442
2065
  insert_config = parent_rpcs.insert if parent_rpcs.respond_to? :insert
1443
2066
  @insert = ::Gapic::Config::Method.new insert_config
1444
2067
  list_config = parent_rpcs.list if parent_rpcs.respond_to? :list
1445
2068
  @list = ::Gapic::Config::Method.new list_config
2069
+ list_bgp_routes_config = parent_rpcs.list_bgp_routes if parent_rpcs.respond_to? :list_bgp_routes
2070
+ @list_bgp_routes = ::Gapic::Config::Method.new list_bgp_routes_config
2071
+ list_route_policies_config = parent_rpcs.list_route_policies if parent_rpcs.respond_to? :list_route_policies
2072
+ @list_route_policies = ::Gapic::Config::Method.new list_route_policies_config
1446
2073
  patch_config = parent_rpcs.patch if parent_rpcs.respond_to? :patch
1447
2074
  @patch = ::Gapic::Config::Method.new patch_config
2075
+ patch_route_policy_config = parent_rpcs.patch_route_policy if parent_rpcs.respond_to? :patch_route_policy
2076
+ @patch_route_policy = ::Gapic::Config::Method.new patch_route_policy_config
1448
2077
  preview_config = parent_rpcs.preview if parent_rpcs.respond_to? :preview
1449
2078
  @preview = ::Gapic::Config::Method.new preview_config
1450
2079
  update_config = parent_rpcs.update if parent_rpcs.respond_to? :update
1451
2080
  @update = ::Gapic::Config::Method.new update_config
2081
+ update_route_policy_config = parent_rpcs.update_route_policy if parent_rpcs.respond_to? :update_route_policy
2082
+ @update_route_policy = ::Gapic::Config::Method.new update_route_policy_config
1452
2083
 
1453
2084
  yield self if block_given?
1454
2085
  end