google-cloud-network_services-v1 0.a → 0.1.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/network_services/v1/bindings_override.rb +279 -0
  6. data/lib/google/cloud/network_services/v1/dep_service/client.rb +1503 -0
  7. data/lib/google/cloud/network_services/v1/dep_service/credentials.rb +47 -0
  8. data/lib/google/cloud/network_services/v1/dep_service/operations.rb +809 -0
  9. data/lib/google/cloud/network_services/v1/dep_service/paths.rb +88 -0
  10. data/lib/google/cloud/network_services/v1/dep_service/rest/client.rb +1414 -0
  11. data/lib/google/cloud/network_services/v1/dep_service/rest/operations.rb +902 -0
  12. data/lib/google/cloud/network_services/v1/dep_service/rest/service_stub.rb +663 -0
  13. data/lib/google/cloud/network_services/v1/dep_service/rest.rb +54 -0
  14. data/lib/google/cloud/network_services/v1/dep_service.rb +56 -0
  15. data/lib/google/cloud/network_services/v1/network_services/client.rb +4383 -0
  16. data/lib/google/cloud/network_services/v1/network_services/credentials.rb +47 -0
  17. data/lib/google/cloud/network_services/v1/network_services/operations.rb +809 -0
  18. data/lib/google/cloud/network_services/v1/network_services/paths.rb +278 -0
  19. data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +4093 -0
  20. data/lib/google/cloud/network_services/v1/network_services/rest/operations.rb +902 -0
  21. data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +2385 -0
  22. data/lib/google/cloud/network_services/v1/network_services/rest.rb +52 -0
  23. data/lib/google/cloud/network_services/v1/network_services.rb +54 -0
  24. data/lib/google/cloud/network_services/v1/rest.rb +39 -0
  25. data/lib/google/cloud/network_services/v1/version.rb +7 -2
  26. data/lib/google/cloud/network_services/v1.rb +46 -0
  27. data/lib/google/cloud/networkservices/v1/common_pb.rb +51 -0
  28. data/lib/google/cloud/networkservices/v1/dep_pb.rb +75 -0
  29. data/lib/google/cloud/networkservices/v1/dep_services_pb.rb +64 -0
  30. data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +58 -0
  31. data/lib/google/cloud/networkservices/v1/gateway_pb.rb +56 -0
  32. data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +69 -0
  33. data/lib/google/cloud/networkservices/v1/http_route_pb.rb +74 -0
  34. data/lib/google/cloud/networkservices/v1/mesh_pb.rb +55 -0
  35. data/lib/google/cloud/networkservices/v1/network_services_pb.rb +53 -0
  36. data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +120 -0
  37. data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +52 -0
  38. data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +59 -0
  39. data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +59 -0
  40. data/lib/google-cloud-network_services-v1.rb +21 -0
  41. data/proto_docs/README.md +4 -0
  42. data/proto_docs/google/api/client.rb +399 -0
  43. data/proto_docs/google/api/field_behavior.rb +85 -0
  44. data/proto_docs/google/api/field_info.rb +65 -0
  45. data/proto_docs/google/api/launch_stage.rb +71 -0
  46. data/proto_docs/google/api/resource.rb +222 -0
  47. data/proto_docs/google/cloud/networkservices/v1/common.rb +147 -0
  48. data/proto_docs/google/cloud/networkservices/v1/dep.rb +569 -0
  49. data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +194 -0
  50. data/proto_docs/google/cloud/networkservices/v1/gateway.rb +187 -0
  51. data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +430 -0
  52. data/proto_docs/google/cloud/networkservices/v1/http_route.rb +670 -0
  53. data/proto_docs/google/cloud/networkservices/v1/mesh.rb +155 -0
  54. data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +131 -0
  55. data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +247 -0
  56. data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +219 -0
  57. data/proto_docs/google/longrunning/operations.rb +164 -0
  58. data/proto_docs/google/protobuf/any.rb +145 -0
  59. data/proto_docs/google/protobuf/duration.rb +98 -0
  60. data/proto_docs/google/protobuf/empty.rb +34 -0
  61. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  62. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  63. data/proto_docs/google/rpc/status.rb +48 -0
  64. data/proto_docs/google/type/expr.rb +75 -0
  65. metadata +144 -10
@@ -0,0 +1,569 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module NetworkServices
23
+ module V1
24
+ # A single extension chain wrapper that contains the match conditions and
25
+ # extensions to execute.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Required. The name for this extension chain.
29
+ # The name is logged as part of the HTTP request logs.
30
+ # The name must conform with RFC-1034, is restricted to lower-cased letters,
31
+ # numbers and hyphens, and can have a maximum length of 63 characters.
32
+ # Additionally, the first character must be a letter and the last a letter or
33
+ # a number.
34
+ # @!attribute [rw] match_condition
35
+ # @return [::Google::Cloud::NetworkServices::V1::ExtensionChain::MatchCondition]
36
+ # Required. Conditions under which this chain is invoked for a request.
37
+ # @!attribute [rw] extensions
38
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ExtensionChain::Extension>]
39
+ # Required. A set of extensions to execute for the matching request.
40
+ # At least one extension is required.
41
+ # Up to 3 extensions can be defined for each extension chain
42
+ # for `LbTrafficExtension` resource.
43
+ # `LbRouteExtension` chains are limited to 1 extension per extension chain.
44
+ class ExtensionChain
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+
48
+ # Conditions under which this chain is invoked for a request.
49
+ # @!attribute [rw] cel_expression
50
+ # @return [::String]
51
+ # Required. A Common Expression Language (CEL) expression that is used to
52
+ # match requests for which the extension chain is executed.
53
+ #
54
+ # For more information, see
55
+ # [CEL matcher language
56
+ # reference](https://cloud.google.com/service-extensions/docs/cel-matcher-language-reference).
57
+ class MatchCondition
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # A single extension in the chain to execute for the matching request.
63
+ # @!attribute [rw] name
64
+ # @return [::String]
65
+ # Required. The name for this extension.
66
+ # The name is logged as part of the HTTP request logs.
67
+ # The name must conform with RFC-1034, is restricted to lower-cased
68
+ # letters, numbers and hyphens, and can have a maximum length of 63
69
+ # characters. Additionally, the first character must be a letter and the
70
+ # last a letter or a number.
71
+ # @!attribute [rw] authority
72
+ # @return [::String]
73
+ # Optional. The `:authority` header in the gRPC request sent from Envoy
74
+ # to the extension service.
75
+ # Required for Callout extensions.
76
+ # @!attribute [rw] service
77
+ # @return [::String]
78
+ # Required. The reference to the service that runs the extension.
79
+ #
80
+ # Currently only callout extensions are supported here.
81
+ #
82
+ # To configure a callout extension, `service` must be a fully-qualified
83
+ # reference
84
+ # to a [backend
85
+ # service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices)
86
+ # in the format:
87
+ # `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}`
88
+ # or
89
+ # `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.
90
+ # @!attribute [rw] supported_events
91
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::EventType>]
92
+ # Optional. A set of events during request or response processing for which
93
+ # this extension is called. This field is required for the
94
+ # `LbTrafficExtension` resource. It's not relevant for the
95
+ # `LbRouteExtension` resource.
96
+ # @!attribute [rw] timeout
97
+ # @return [::Google::Protobuf::Duration]
98
+ # Optional. Specifies the timeout for each individual message on the
99
+ # stream. The timeout must be between 10-1000 milliseconds. Required for
100
+ # Callout extensions.
101
+ # @!attribute [rw] fail_open
102
+ # @return [::Boolean]
103
+ # Optional. Determines how the proxy behaves if the call to the extension
104
+ # fails or times out.
105
+ #
106
+ # When set to `TRUE`, request or response processing continues without
107
+ # error. Any subsequent extensions in the extension chain are also
108
+ # executed. When set to `FALSE` or the default setting of `FALSE` is used,
109
+ # one of the following happens:
110
+ # * If response headers have not been delivered to the downstream client,
111
+ # a generic 500 error is returned to the client. The error response can be
112
+ # tailored by configuring a custom error response in the load balancer.
113
+ #
114
+ # * If response headers have been delivered, then the HTTP stream to the
115
+ # downstream client is reset.
116
+ # @!attribute [rw] forward_headers
117
+ # @return [::Array<::String>]
118
+ # Optional. List of the HTTP headers to forward to the extension
119
+ # (from the client or backend). If omitted, all headers are sent.
120
+ # Each element is a string indicating the header name.
121
+ class Extension
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+ end
125
+ end
126
+
127
+ # `LbTrafficExtension` is a resource that lets the extension service modify the
128
+ # headers and payloads of both requests and responses without impacting the
129
+ # choice of backend services or any other security policies associated with the
130
+ # backend service.
131
+ # @!attribute [rw] name
132
+ # @return [::String]
133
+ # Required. Identifier. Name of the `LbTrafficExtension` resource in the
134
+ # following format:
135
+ # `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`.
136
+ # @!attribute [r] create_time
137
+ # @return [::Google::Protobuf::Timestamp]
138
+ # Output only. The timestamp when the resource was created.
139
+ # @!attribute [r] update_time
140
+ # @return [::Google::Protobuf::Timestamp]
141
+ # Output only. The timestamp when the resource was updated.
142
+ # @!attribute [rw] description
143
+ # @return [::String]
144
+ # Optional. A human-readable description of the resource.
145
+ # @!attribute [rw] labels
146
+ # @return [::Google::Protobuf::Map{::String => ::String}]
147
+ # Optional. Set of labels associated with the `LbTrafficExtension` resource.
148
+ #
149
+ # The format must comply with [the requirements for
150
+ # labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud
151
+ # resources.
152
+ # @!attribute [rw] forwarding_rules
153
+ # @return [::Array<::String>]
154
+ # Required. A list of references to the forwarding rules to which this
155
+ # service extension is attached to. At least one forwarding rule is required.
156
+ # There can be only one `LBTrafficExtension` resource per forwarding rule.
157
+ # @!attribute [rw] extension_chains
158
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ExtensionChain>]
159
+ # Required. A set of ordered extension chains that contain the match
160
+ # conditions and extensions to execute. Match conditions for each extension
161
+ # chain are evaluated in sequence for a given request. The first extension
162
+ # chain that has a condition that matches the request is executed.
163
+ # Any subsequent extension chains do not execute.
164
+ # Limited to 5 extension chains per resource.
165
+ # @!attribute [rw] load_balancing_scheme
166
+ # @return [::Google::Cloud::NetworkServices::V1::LoadBalancingScheme]
167
+ # Required. All backend services and forwarding rules referenced by this
168
+ # extension must share the same load balancing scheme. Supported values:
169
+ # `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to
170
+ # [Choosing a load
171
+ # balancer](https://cloud.google.com/load-balancing/docs/backend-service).
172
+ class LbTrafficExtension
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+
176
+ # @!attribute [rw] key
177
+ # @return [::String]
178
+ # @!attribute [rw] value
179
+ # @return [::String]
180
+ class LabelsEntry
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+ end
185
+
186
+ # Message for requesting list of `LbTrafficExtension` resources.
187
+ # @!attribute [rw] parent
188
+ # @return [::String]
189
+ # Required. The project and location from which the `LbTrafficExtension`
190
+ # resources are listed, specified in the following format:
191
+ # `projects/{project}/locations/{location}`.
192
+ # @!attribute [rw] page_size
193
+ # @return [::Integer]
194
+ # Optional. Requested page size. The server might return fewer items than
195
+ # requested. If unspecified, the server picks an appropriate default.
196
+ # @!attribute [rw] page_token
197
+ # @return [::String]
198
+ # Optional. A token identifying a page of results that the server returns.
199
+ # @!attribute [rw] filter
200
+ # @return [::String]
201
+ # Optional. Filtering results.
202
+ # @!attribute [rw] order_by
203
+ # @return [::String]
204
+ # Optional. Hint for how to order the results.
205
+ class ListLbTrafficExtensionsRequest
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+
210
+ # Message for response to listing `LbTrafficExtension` resources.
211
+ # @!attribute [rw] lb_traffic_extensions
212
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::LbTrafficExtension>]
213
+ # The list of `LbTrafficExtension` resources.
214
+ # @!attribute [rw] next_page_token
215
+ # @return [::String]
216
+ # A token identifying a page of results that the server returns.
217
+ # @!attribute [rw] unreachable
218
+ # @return [::Array<::String>]
219
+ # Locations that could not be reached.
220
+ class ListLbTrafficExtensionsResponse
221
+ include ::Google::Protobuf::MessageExts
222
+ extend ::Google::Protobuf::MessageExts::ClassMethods
223
+ end
224
+
225
+ # Message for getting a `LbTrafficExtension` resource.
226
+ # @!attribute [rw] name
227
+ # @return [::String]
228
+ # Required. A name of the `LbTrafficExtension` resource to get. Must be in
229
+ # the format
230
+ # `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`.
231
+ class GetLbTrafficExtensionRequest
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+ end
235
+
236
+ # Message for creating a `LbTrafficExtension` resource.
237
+ # @!attribute [rw] parent
238
+ # @return [::String]
239
+ # Required. The parent resource of the `LbTrafficExtension` resource. Must be
240
+ # in the format `projects/{project}/locations/{location}`.
241
+ # @!attribute [rw] lb_traffic_extension_id
242
+ # @return [::String]
243
+ # Required. User-provided ID of the `LbTrafficExtension` resource to be
244
+ # created.
245
+ # @!attribute [rw] lb_traffic_extension
246
+ # @return [::Google::Cloud::NetworkServices::V1::LbTrafficExtension]
247
+ # Required. `LbTrafficExtension` resource to be created.
248
+ # @!attribute [rw] request_id
249
+ # @return [::String]
250
+ # Optional. An optional request ID to identify requests. Specify a unique
251
+ # request ID so that if you must retry your request, the server can ignore
252
+ # the request if it has already been completed. The server guarantees
253
+ # that for at least 60 minutes since the first request.
254
+ #
255
+ # For example, consider a situation where you make an initial request and the
256
+ # request times out. If you make the request again with the same request
257
+ # ID, the server can check if original operation with the same request ID
258
+ # was received, and if so, ignores the second request. This prevents
259
+ # clients from accidentally creating duplicate commitments.
260
+ #
261
+ # The request ID must be a valid UUID with the exception that zero UUID is
262
+ # not supported (00000000-0000-0000-0000-000000000000).
263
+ class CreateLbTrafficExtensionRequest
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+
268
+ # Message for updating a `LbTrafficExtension` resource.
269
+ # @!attribute [rw] update_mask
270
+ # @return [::Google::Protobuf::FieldMask]
271
+ # Required. Used to specify the fields to be overwritten in the
272
+ # `LbTrafficExtension` resource by the update.
273
+ # The fields specified in the update_mask are relative to the resource, not
274
+ # the full request. A field is overwritten if it is in the mask. If the
275
+ # user does not specify a mask, then all fields are overwritten.
276
+ # @!attribute [rw] lb_traffic_extension
277
+ # @return [::Google::Cloud::NetworkServices::V1::LbTrafficExtension]
278
+ # Required. `LbTrafficExtension` resource being updated.
279
+ # @!attribute [rw] request_id
280
+ # @return [::String]
281
+ # Optional. An optional request ID to identify requests. Specify a unique
282
+ # request ID so that if you must retry your request, the server can ignore
283
+ # the request if it has already been completed. The server guarantees
284
+ # that for at least 60 minutes since the first request.
285
+ #
286
+ # For example, consider a situation where you make an initial request and the
287
+ # request times out. If you make the request again with the same request
288
+ # ID, the server can check if original operation with the same request ID
289
+ # was received, and if so, ignores the second request. This prevents
290
+ # clients from accidentally creating duplicate commitments.
291
+ #
292
+ # The request ID must be a valid UUID with the exception that zero UUID is
293
+ # not supported (00000000-0000-0000-0000-000000000000).
294
+ class UpdateLbTrafficExtensionRequest
295
+ include ::Google::Protobuf::MessageExts
296
+ extend ::Google::Protobuf::MessageExts::ClassMethods
297
+ end
298
+
299
+ # Message for deleting a `LbTrafficExtension` resource.
300
+ # @!attribute [rw] name
301
+ # @return [::String]
302
+ # Required. The name of the `LbTrafficExtension` resource to delete. Must be
303
+ # in the format
304
+ # `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`.
305
+ # @!attribute [rw] request_id
306
+ # @return [::String]
307
+ # Optional. An optional request ID to identify requests. Specify a unique
308
+ # request ID so that if you must retry your request, the server can ignore
309
+ # the request if it has already been completed. The server guarantees
310
+ # that for at least 60 minutes after the first request.
311
+ #
312
+ # For example, consider a situation where you make an initial request and the
313
+ # request times out. If you make the request again with the same request
314
+ # ID, the server can check if original operation with the same request ID
315
+ # was received, and if so, ignores the second request. This prevents
316
+ # clients from accidentally creating duplicate commitments.
317
+ #
318
+ # The request ID must be a valid UUID with the exception that zero UUID is
319
+ # not supported (00000000-0000-0000-0000-000000000000).
320
+ class DeleteLbTrafficExtensionRequest
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # `LbRouteExtension` is a resource that lets you control where traffic is
326
+ # routed to for a given request.
327
+ # @!attribute [rw] name
328
+ # @return [::String]
329
+ # Required. Identifier. Name of the `LbRouteExtension` resource in the
330
+ # following format:
331
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
332
+ # @!attribute [r] create_time
333
+ # @return [::Google::Protobuf::Timestamp]
334
+ # Output only. The timestamp when the resource was created.
335
+ # @!attribute [r] update_time
336
+ # @return [::Google::Protobuf::Timestamp]
337
+ # Output only. The timestamp when the resource was updated.
338
+ # @!attribute [rw] description
339
+ # @return [::String]
340
+ # Optional. A human-readable description of the resource.
341
+ # @!attribute [rw] labels
342
+ # @return [::Google::Protobuf::Map{::String => ::String}]
343
+ # Optional. Set of labels associated with the `LbRouteExtension` resource.
344
+ #
345
+ # The format must comply with [the requirements for
346
+ # labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud
347
+ # resources.
348
+ # @!attribute [rw] forwarding_rules
349
+ # @return [::Array<::String>]
350
+ # Required. A list of references to the forwarding rules to which this
351
+ # service extension is attached to. At least one forwarding rule is required.
352
+ # There can be only one `LbRouteExtension` resource per forwarding rule.
353
+ # @!attribute [rw] extension_chains
354
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ExtensionChain>]
355
+ # Required. A set of ordered extension chains that contain the match
356
+ # conditions and extensions to execute. Match conditions for each extension
357
+ # chain are evaluated in sequence for a given request. The first extension
358
+ # chain that has a condition that matches the request is executed.
359
+ # Any subsequent extension chains do not execute.
360
+ # Limited to 5 extension chains per resource.
361
+ # @!attribute [rw] load_balancing_scheme
362
+ # @return [::Google::Cloud::NetworkServices::V1::LoadBalancingScheme]
363
+ # Required. All backend services and forwarding rules referenced by this
364
+ # extension must share the same load balancing scheme. Supported values:
365
+ # `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to
366
+ # [Choosing a load
367
+ # balancer](https://cloud.google.com/load-balancing/docs/backend-service).
368
+ class LbRouteExtension
369
+ include ::Google::Protobuf::MessageExts
370
+ extend ::Google::Protobuf::MessageExts::ClassMethods
371
+
372
+ # @!attribute [rw] key
373
+ # @return [::String]
374
+ # @!attribute [rw] value
375
+ # @return [::String]
376
+ class LabelsEntry
377
+ include ::Google::Protobuf::MessageExts
378
+ extend ::Google::Protobuf::MessageExts::ClassMethods
379
+ end
380
+ end
381
+
382
+ # Message for requesting list of `LbRouteExtension` resources.
383
+ # @!attribute [rw] parent
384
+ # @return [::String]
385
+ # Required. The project and location from which the `LbRouteExtension`
386
+ # resources are listed, specified in the following format:
387
+ # `projects/{project}/locations/{location}`.
388
+ # @!attribute [rw] page_size
389
+ # @return [::Integer]
390
+ # Optional. Requested page size. The server might return fewer items than
391
+ # requested. If unspecified, the server picks an appropriate default.
392
+ # @!attribute [rw] page_token
393
+ # @return [::String]
394
+ # Optional. A token identifying a page of results that the server returns.
395
+ # @!attribute [rw] filter
396
+ # @return [::String]
397
+ # Optional. Filtering results.
398
+ # @!attribute [rw] order_by
399
+ # @return [::String]
400
+ # Optional. Hint for how to order the results.
401
+ class ListLbRouteExtensionsRequest
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+ end
405
+
406
+ # Message for response to listing `LbRouteExtension` resources.
407
+ # @!attribute [rw] lb_route_extensions
408
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::LbRouteExtension>]
409
+ # The list of `LbRouteExtension` resources.
410
+ # @!attribute [rw] next_page_token
411
+ # @return [::String]
412
+ # A token identifying a page of results that the server returns.
413
+ # @!attribute [rw] unreachable
414
+ # @return [::Array<::String>]
415
+ # Locations that could not be reached.
416
+ class ListLbRouteExtensionsResponse
417
+ include ::Google::Protobuf::MessageExts
418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
419
+ end
420
+
421
+ # Message for getting a `LbRouteExtension` resource.
422
+ # @!attribute [rw] name
423
+ # @return [::String]
424
+ # Required. A name of the `LbRouteExtension` resource to get. Must be in the
425
+ # format
426
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
427
+ class GetLbRouteExtensionRequest
428
+ include ::Google::Protobuf::MessageExts
429
+ extend ::Google::Protobuf::MessageExts::ClassMethods
430
+ end
431
+
432
+ # Message for creating a `LbRouteExtension` resource.
433
+ # @!attribute [rw] parent
434
+ # @return [::String]
435
+ # Required. The parent resource of the `LbRouteExtension` resource. Must be
436
+ # in the format `projects/{project}/locations/{location}`.
437
+ # @!attribute [rw] lb_route_extension_id
438
+ # @return [::String]
439
+ # Required. User-provided ID of the `LbRouteExtension` resource to be
440
+ # created.
441
+ # @!attribute [rw] lb_route_extension
442
+ # @return [::Google::Cloud::NetworkServices::V1::LbRouteExtension]
443
+ # Required. `LbRouteExtension` resource to be created.
444
+ # @!attribute [rw] request_id
445
+ # @return [::String]
446
+ # Optional. An optional request ID to identify requests. Specify a unique
447
+ # request ID so that if you must retry your request, the server can ignore
448
+ # the request if it has already been completed. The server guarantees
449
+ # that for at least 60 minutes since the first request.
450
+ #
451
+ # For example, consider a situation where you make an initial request and the
452
+ # request times out. If you make the request again with the same request
453
+ # ID, the server can check if original operation with the same request ID
454
+ # was received, and if so, ignores the second request. This prevents
455
+ # clients from accidentally creating duplicate commitments.
456
+ #
457
+ # The request ID must be a valid UUID with the exception that zero UUID is
458
+ # not supported (00000000-0000-0000-0000-000000000000).
459
+ class CreateLbRouteExtensionRequest
460
+ include ::Google::Protobuf::MessageExts
461
+ extend ::Google::Protobuf::MessageExts::ClassMethods
462
+ end
463
+
464
+ # Message for updating a `LbRouteExtension` resource.
465
+ # @!attribute [rw] update_mask
466
+ # @return [::Google::Protobuf::FieldMask]
467
+ # Required. Used to specify the fields to be overwritten in the
468
+ # `LbRouteExtension` resource by the update.
469
+ # The fields specified in the update_mask are relative to the resource, not
470
+ # the full request. A field is overwritten if it is in the mask. If the
471
+ # user does not specify a mask, then all fields are overwritten.
472
+ # @!attribute [rw] lb_route_extension
473
+ # @return [::Google::Cloud::NetworkServices::V1::LbRouteExtension]
474
+ # Required. `LbRouteExtension` resource being updated.
475
+ # @!attribute [rw] request_id
476
+ # @return [::String]
477
+ # Optional. An optional request ID to identify requests. Specify a unique
478
+ # request ID so that if you must retry your request, the server can ignore
479
+ # the request if it has already been completed. The server guarantees
480
+ # that for at least 60 minutes since the first request.
481
+ #
482
+ # For example, consider a situation where you make an initial request and the
483
+ # request times out. If you make the request again with the same request
484
+ # ID, the server can check if original operation with the same request ID
485
+ # was received, and if so, ignores the second request. This prevents
486
+ # clients from accidentally creating duplicate commitments.
487
+ #
488
+ # The request ID must be a valid UUID with the exception that zero UUID is
489
+ # not supported (00000000-0000-0000-0000-000000000000).
490
+ class UpdateLbRouteExtensionRequest
491
+ include ::Google::Protobuf::MessageExts
492
+ extend ::Google::Protobuf::MessageExts::ClassMethods
493
+ end
494
+
495
+ # Message for deleting a `LbRouteExtension` resource.
496
+ # @!attribute [rw] name
497
+ # @return [::String]
498
+ # Required. The name of the `LbRouteExtension` resource to delete. Must be in
499
+ # the format
500
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
501
+ # @!attribute [rw] request_id
502
+ # @return [::String]
503
+ # Optional. An optional request ID to identify requests. Specify a unique
504
+ # request ID so that if you must retry your request, the server can ignore
505
+ # the request if it has already been completed. The server guarantees
506
+ # that for at least 60 minutes after the first request.
507
+ #
508
+ # For example, consider a situation where you make an initial request and the
509
+ # request times out. If you make the request again with the same request
510
+ # ID, the server can check if original operation with the same request ID
511
+ # was received, and if so, ignores the second request. This prevents
512
+ # clients from accidentally creating duplicate commitments.
513
+ #
514
+ # The request ID must be a valid UUID with the exception that zero UUID is
515
+ # not supported (00000000-0000-0000-0000-000000000000).
516
+ class DeleteLbRouteExtensionRequest
517
+ include ::Google::Protobuf::MessageExts
518
+ extend ::Google::Protobuf::MessageExts::ClassMethods
519
+ end
520
+
521
+ # The part of the request or response for which the extension is called.
522
+ module EventType
523
+ # Unspecified value. Do not use.
524
+ EVENT_TYPE_UNSPECIFIED = 0
525
+
526
+ # If included in `supported_events`,
527
+ # the extension is called when the HTTP request headers arrive.
528
+ REQUEST_HEADERS = 1
529
+
530
+ # If included in `supported_events`,
531
+ # the extension is called when the HTTP request body arrives.
532
+ REQUEST_BODY = 2
533
+
534
+ # If included in `supported_events`,
535
+ # the extension is called when the HTTP response headers arrive.
536
+ RESPONSE_HEADERS = 3
537
+
538
+ # If included in `supported_events`,
539
+ # the extension is called when the HTTP response body arrives.
540
+ RESPONSE_BODY = 4
541
+
542
+ # If included in `supported_events`,
543
+ # the extension is called when the HTTP request trailers arrives.
544
+ REQUEST_TRAILERS = 5
545
+
546
+ # If included in `supported_events`,
547
+ # the extension is called when the HTTP response trailers arrives.
548
+ RESPONSE_TRAILERS = 6
549
+ end
550
+
551
+ # Load balancing schemes supported by the `LbTrafficExtension` resource and
552
+ # `LbRouteExtension` resource.
553
+ # For more information, refer to [Choosing a load
554
+ # balancer](https://cloud.google.com/load-balancing/docs/backend-service).
555
+ module LoadBalancingScheme
556
+ # Default value. Do not use.
557
+ LOAD_BALANCING_SCHEME_UNSPECIFIED = 0
558
+
559
+ # Signifies that this is used for Internal HTTP(S) Load Balancing.
560
+ INTERNAL_MANAGED = 1
561
+
562
+ # Signifies that this is used for External Managed HTTP(S) Load
563
+ # Balancing.
564
+ EXTERNAL_MANAGED = 2
565
+ end
566
+ end
567
+ end
568
+ end
569
+ end