google-cloud-network_services-v1 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) 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 +1505 -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 +1416 -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 +77 -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 +590 -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/struct.rb +96 -0
  63. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  64. data/proto_docs/google/rpc/status.rb +48 -0
  65. data/proto_docs/google/type/expr.rb +75 -0
  66. metadata +145 -10
@@ -0,0 +1,590 @@
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 [CEL matcher language
55
+ # reference](https://cloud.google.com/service-extensions/docs/cel-matcher-language-reference).
56
+ class MatchCondition
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+ end
60
+
61
+ # A single extension in the chain to execute for the matching request.
62
+ # @!attribute [rw] name
63
+ # @return [::String]
64
+ # Required. The name for this extension.
65
+ # The name is logged as part of the HTTP request logs.
66
+ # The name must conform with RFC-1034, is restricted to lower-cased
67
+ # letters, numbers and hyphens, and can have a maximum length of 63
68
+ # characters. Additionally, the first character must be a letter and the
69
+ # last a letter or a number.
70
+ # @!attribute [rw] authority
71
+ # @return [::String]
72
+ # Optional. The `:authority` header in the gRPC request sent from Envoy
73
+ # to the extension service.
74
+ # Required for Callout extensions.
75
+ # @!attribute [rw] service
76
+ # @return [::String]
77
+ # Required. The reference to the service that runs the extension.
78
+ #
79
+ # Currently only callout extensions are supported here.
80
+ #
81
+ # To configure a callout extension, `service` must be a fully-qualified
82
+ # reference
83
+ # to a [backend
84
+ # service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices)
85
+ # in the format:
86
+ # `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}`
87
+ # or
88
+ # `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.
89
+ # @!attribute [rw] supported_events
90
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::EventType>]
91
+ # Optional. A set of events during request or response processing for which
92
+ # this extension is called. This field is required for the
93
+ # `LbTrafficExtension` resource. It must not be set for the
94
+ # `LbRouteExtension` resource.
95
+ # @!attribute [rw] timeout
96
+ # @return [::Google::Protobuf::Duration]
97
+ # Optional. Specifies the timeout for each individual message on the
98
+ # stream. The timeout must be between 10-1000 milliseconds. Required for
99
+ # Callout extensions.
100
+ # @!attribute [rw] fail_open
101
+ # @return [::Boolean]
102
+ # Optional. Determines how the proxy behaves if the call to the extension
103
+ # fails or times out.
104
+ #
105
+ # When set to `TRUE`, request or response processing continues without
106
+ # error. Any subsequent extensions in the extension chain are also
107
+ # executed. When set to `FALSE` or the default setting of `FALSE` is used,
108
+ # one of the following happens:
109
+ #
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)
151
+ # for Google Cloud 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
+ # @!attribute [rw] metadata
173
+ # @return [::Google::Protobuf::Struct]
174
+ # Optional. The metadata provided here is included in the
175
+ # `ProcessingRequest.metadata_context.filter_metadata` map field. The
176
+ # metadata is available under the key
177
+ # `com.google.lb_traffic_extension.<resource_name>`.
178
+ # The following variables are supported in the metadata:
179
+ #
180
+ # `{forwarding_rule_id}` - substituted with the forwarding rule's fully
181
+ # qualified resource name.
182
+ class LbTrafficExtension
183
+ include ::Google::Protobuf::MessageExts
184
+ extend ::Google::Protobuf::MessageExts::ClassMethods
185
+
186
+ # @!attribute [rw] key
187
+ # @return [::String]
188
+ # @!attribute [rw] value
189
+ # @return [::String]
190
+ class LabelsEntry
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+ end
194
+ end
195
+
196
+ # Message for requesting list of `LbTrafficExtension` resources.
197
+ # @!attribute [rw] parent
198
+ # @return [::String]
199
+ # Required. The project and location from which the `LbTrafficExtension`
200
+ # resources are listed, specified in the following format:
201
+ # `projects/{project}/locations/{location}`.
202
+ # @!attribute [rw] page_size
203
+ # @return [::Integer]
204
+ # Optional. Requested page size. The server might return fewer items than
205
+ # requested. If unspecified, the server picks an appropriate default.
206
+ # @!attribute [rw] page_token
207
+ # @return [::String]
208
+ # Optional. A token identifying a page of results that the server returns.
209
+ # @!attribute [rw] filter
210
+ # @return [::String]
211
+ # Optional. Filtering results.
212
+ # @!attribute [rw] order_by
213
+ # @return [::String]
214
+ # Optional. Hint for how to order the results.
215
+ class ListLbTrafficExtensionsRequest
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Message for response to listing `LbTrafficExtension` resources.
221
+ # @!attribute [rw] lb_traffic_extensions
222
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::LbTrafficExtension>]
223
+ # The list of `LbTrafficExtension` resources.
224
+ # @!attribute [rw] next_page_token
225
+ # @return [::String]
226
+ # A token identifying a page of results that the server returns.
227
+ # @!attribute [rw] unreachable
228
+ # @return [::Array<::String>]
229
+ # Locations that could not be reached.
230
+ class ListLbTrafficExtensionsResponse
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+
235
+ # Message for getting a `LbTrafficExtension` resource.
236
+ # @!attribute [rw] name
237
+ # @return [::String]
238
+ # Required. A name of the `LbTrafficExtension` resource to get. Must be in
239
+ # the format
240
+ # `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`.
241
+ class GetLbTrafficExtensionRequest
242
+ include ::Google::Protobuf::MessageExts
243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
244
+ end
245
+
246
+ # Message for creating a `LbTrafficExtension` resource.
247
+ # @!attribute [rw] parent
248
+ # @return [::String]
249
+ # Required. The parent resource of the `LbTrafficExtension` resource. Must be
250
+ # in the format `projects/{project}/locations/{location}`.
251
+ # @!attribute [rw] lb_traffic_extension_id
252
+ # @return [::String]
253
+ # Required. User-provided ID of the `LbTrafficExtension` resource to be
254
+ # created.
255
+ # @!attribute [rw] lb_traffic_extension
256
+ # @return [::Google::Cloud::NetworkServices::V1::LbTrafficExtension]
257
+ # Required. `LbTrafficExtension` resource to be created.
258
+ # @!attribute [rw] request_id
259
+ # @return [::String]
260
+ # Optional. An optional request ID to identify requests. Specify a unique
261
+ # request ID so that if you must retry your request, the server can ignore
262
+ # the request if it has already been completed. The server guarantees
263
+ # that for at least 60 minutes since the first request.
264
+ #
265
+ # For example, consider a situation where you make an initial request and the
266
+ # request times out. If you make the request again with the same request
267
+ # ID, the server can check if original operation with the same request ID
268
+ # was received, and if so, ignores the second request. This prevents
269
+ # clients from accidentally creating duplicate commitments.
270
+ #
271
+ # The request ID must be a valid UUID with the exception that zero UUID is
272
+ # not supported (00000000-0000-0000-0000-000000000000).
273
+ class CreateLbTrafficExtensionRequest
274
+ include ::Google::Protobuf::MessageExts
275
+ extend ::Google::Protobuf::MessageExts::ClassMethods
276
+ end
277
+
278
+ # Message for updating a `LbTrafficExtension` resource.
279
+ # @!attribute [rw] update_mask
280
+ # @return [::Google::Protobuf::FieldMask]
281
+ # Optional. Used to specify the fields to be overwritten in the
282
+ # `LbTrafficExtension` resource by the update.
283
+ # The fields specified in the update_mask are relative to the resource, not
284
+ # the full request. A field is overwritten if it is in the mask. If the
285
+ # user does not specify a mask, then all fields are overwritten.
286
+ # @!attribute [rw] lb_traffic_extension
287
+ # @return [::Google::Cloud::NetworkServices::V1::LbTrafficExtension]
288
+ # Required. `LbTrafficExtension` resource being updated.
289
+ # @!attribute [rw] request_id
290
+ # @return [::String]
291
+ # Optional. An optional request ID to identify requests. Specify a unique
292
+ # request ID so that if you must retry your request, the server can ignore
293
+ # the request if it has already been completed. The server guarantees
294
+ # that for at least 60 minutes since the first request.
295
+ #
296
+ # For example, consider a situation where you make an initial request and the
297
+ # request times out. If you make the request again with the same request
298
+ # ID, the server can check if original operation with the same request ID
299
+ # was received, and if so, ignores the second request. This prevents
300
+ # clients from accidentally creating duplicate commitments.
301
+ #
302
+ # The request ID must be a valid UUID with the exception that zero UUID is
303
+ # not supported (00000000-0000-0000-0000-000000000000).
304
+ class UpdateLbTrafficExtensionRequest
305
+ include ::Google::Protobuf::MessageExts
306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
307
+ end
308
+
309
+ # Message for deleting a `LbTrafficExtension` resource.
310
+ # @!attribute [rw] name
311
+ # @return [::String]
312
+ # Required. The name of the `LbTrafficExtension` resource to delete. Must be
313
+ # in the format
314
+ # `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`.
315
+ # @!attribute [rw] request_id
316
+ # @return [::String]
317
+ # Optional. An optional request ID to identify requests. Specify a unique
318
+ # request ID so that if you must retry your request, the server can ignore
319
+ # the request if it has already been completed. The server guarantees
320
+ # that for at least 60 minutes after the first request.
321
+ #
322
+ # For example, consider a situation where you make an initial request and the
323
+ # request times out. If you make the request again with the same request
324
+ # ID, the server can check if original operation with the same request ID
325
+ # was received, and if so, ignores the second request. This prevents
326
+ # clients from accidentally creating duplicate commitments.
327
+ #
328
+ # The request ID must be a valid UUID with the exception that zero UUID is
329
+ # not supported (00000000-0000-0000-0000-000000000000).
330
+ class DeleteLbTrafficExtensionRequest
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # `LbRouteExtension` is a resource that lets you control where traffic is
336
+ # routed to for a given request.
337
+ # @!attribute [rw] name
338
+ # @return [::String]
339
+ # Required. Identifier. Name of the `LbRouteExtension` resource in the
340
+ # following format:
341
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
342
+ # @!attribute [r] create_time
343
+ # @return [::Google::Protobuf::Timestamp]
344
+ # Output only. The timestamp when the resource was created.
345
+ # @!attribute [r] update_time
346
+ # @return [::Google::Protobuf::Timestamp]
347
+ # Output only. The timestamp when the resource was updated.
348
+ # @!attribute [rw] description
349
+ # @return [::String]
350
+ # Optional. A human-readable description of the resource.
351
+ # @!attribute [rw] labels
352
+ # @return [::Google::Protobuf::Map{::String => ::String}]
353
+ # Optional. Set of labels associated with the `LbRouteExtension` resource.
354
+ #
355
+ # The format must comply with [the requirements for
356
+ # labels](https://cloud.google.com/compute/docs/labeling-resources#requirements)
357
+ # for Google Cloud resources.
358
+ # @!attribute [rw] forwarding_rules
359
+ # @return [::Array<::String>]
360
+ # Required. A list of references to the forwarding rules to which this
361
+ # service extension is attached to. At least one forwarding rule is required.
362
+ # There can be only one `LbRouteExtension` resource per forwarding rule.
363
+ # @!attribute [rw] extension_chains
364
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ExtensionChain>]
365
+ # Required. A set of ordered extension chains that contain the match
366
+ # conditions and extensions to execute. Match conditions for each extension
367
+ # chain are evaluated in sequence for a given request. The first extension
368
+ # chain that has a condition that matches the request is executed.
369
+ # Any subsequent extension chains do not execute.
370
+ # Limited to 5 extension chains per resource.
371
+ # @!attribute [rw] load_balancing_scheme
372
+ # @return [::Google::Cloud::NetworkServices::V1::LoadBalancingScheme]
373
+ # Required. All backend services and forwarding rules referenced by this
374
+ # extension must share the same load balancing scheme. Supported values:
375
+ # `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to
376
+ # [Choosing a load
377
+ # balancer](https://cloud.google.com/load-balancing/docs/backend-service).
378
+ # @!attribute [rw] metadata
379
+ # @return [::Google::Protobuf::Struct]
380
+ # Optional. The metadata provided here is included as part of the
381
+ # `metadata_context` (of type `google.protobuf.Struct`) in the
382
+ # `ProcessingRequest` message sent to the extension
383
+ # server. The metadata is available under the namespace
384
+ # `com.google.lb_route_extension.<resource_name>`.
385
+ # The following variables are supported in the metadata Struct:
386
+ #
387
+ # `{forwarding_rule_id}` - substituted with the forwarding rule's fully
388
+ # qualified resource name.
389
+ class LbRouteExtension
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+
393
+ # @!attribute [rw] key
394
+ # @return [::String]
395
+ # @!attribute [rw] value
396
+ # @return [::String]
397
+ class LabelsEntry
398
+ include ::Google::Protobuf::MessageExts
399
+ extend ::Google::Protobuf::MessageExts::ClassMethods
400
+ end
401
+ end
402
+
403
+ # Message for requesting list of `LbRouteExtension` resources.
404
+ # @!attribute [rw] parent
405
+ # @return [::String]
406
+ # Required. The project and location from which the `LbRouteExtension`
407
+ # resources are listed, specified in the following format:
408
+ # `projects/{project}/locations/{location}`.
409
+ # @!attribute [rw] page_size
410
+ # @return [::Integer]
411
+ # Optional. Requested page size. The server might return fewer items than
412
+ # requested. If unspecified, the server picks an appropriate default.
413
+ # @!attribute [rw] page_token
414
+ # @return [::String]
415
+ # Optional. A token identifying a page of results that the server returns.
416
+ # @!attribute [rw] filter
417
+ # @return [::String]
418
+ # Optional. Filtering results.
419
+ # @!attribute [rw] order_by
420
+ # @return [::String]
421
+ # Optional. Hint for how to order the results.
422
+ class ListLbRouteExtensionsRequest
423
+ include ::Google::Protobuf::MessageExts
424
+ extend ::Google::Protobuf::MessageExts::ClassMethods
425
+ end
426
+
427
+ # Message for response to listing `LbRouteExtension` resources.
428
+ # @!attribute [rw] lb_route_extensions
429
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::LbRouteExtension>]
430
+ # The list of `LbRouteExtension` resources.
431
+ # @!attribute [rw] next_page_token
432
+ # @return [::String]
433
+ # A token identifying a page of results that the server returns.
434
+ # @!attribute [rw] unreachable
435
+ # @return [::Array<::String>]
436
+ # Locations that could not be reached.
437
+ class ListLbRouteExtensionsResponse
438
+ include ::Google::Protobuf::MessageExts
439
+ extend ::Google::Protobuf::MessageExts::ClassMethods
440
+ end
441
+
442
+ # Message for getting a `LbRouteExtension` resource.
443
+ # @!attribute [rw] name
444
+ # @return [::String]
445
+ # Required. A name of the `LbRouteExtension` resource to get. Must be in the
446
+ # format
447
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
448
+ class GetLbRouteExtensionRequest
449
+ include ::Google::Protobuf::MessageExts
450
+ extend ::Google::Protobuf::MessageExts::ClassMethods
451
+ end
452
+
453
+ # Message for creating a `LbRouteExtension` resource.
454
+ # @!attribute [rw] parent
455
+ # @return [::String]
456
+ # Required. The parent resource of the `LbRouteExtension` resource. Must be
457
+ # in the format `projects/{project}/locations/{location}`.
458
+ # @!attribute [rw] lb_route_extension_id
459
+ # @return [::String]
460
+ # Required. User-provided ID of the `LbRouteExtension` resource to be
461
+ # created.
462
+ # @!attribute [rw] lb_route_extension
463
+ # @return [::Google::Cloud::NetworkServices::V1::LbRouteExtension]
464
+ # Required. `LbRouteExtension` resource to be created.
465
+ # @!attribute [rw] request_id
466
+ # @return [::String]
467
+ # Optional. An optional request ID to identify requests. Specify a unique
468
+ # request ID so that if you must retry your request, the server can ignore
469
+ # the request if it has already been completed. The server guarantees
470
+ # that for at least 60 minutes since the first request.
471
+ #
472
+ # For example, consider a situation where you make an initial request and the
473
+ # request times out. If you make the request again with the same request
474
+ # ID, the server can check if original operation with the same request ID
475
+ # was received, and if so, ignores the second request. This prevents
476
+ # clients from accidentally creating duplicate commitments.
477
+ #
478
+ # The request ID must be a valid UUID with the exception that zero UUID is
479
+ # not supported (00000000-0000-0000-0000-000000000000).
480
+ class CreateLbRouteExtensionRequest
481
+ include ::Google::Protobuf::MessageExts
482
+ extend ::Google::Protobuf::MessageExts::ClassMethods
483
+ end
484
+
485
+ # Message for updating a `LbRouteExtension` resource.
486
+ # @!attribute [rw] update_mask
487
+ # @return [::Google::Protobuf::FieldMask]
488
+ # Optional. Used to specify the fields to be overwritten in the
489
+ # `LbRouteExtension` resource by the update.
490
+ # The fields specified in the update_mask are relative to the resource, not
491
+ # the full request. A field is overwritten if it is in the mask. If the
492
+ # user does not specify a mask, then all fields are overwritten.
493
+ # @!attribute [rw] lb_route_extension
494
+ # @return [::Google::Cloud::NetworkServices::V1::LbRouteExtension]
495
+ # Required. `LbRouteExtension` resource being updated.
496
+ # @!attribute [rw] request_id
497
+ # @return [::String]
498
+ # Optional. An optional request ID to identify requests. Specify a unique
499
+ # request ID so that if you must retry your request, the server can ignore
500
+ # the request if it has already been completed. The server guarantees
501
+ # that for at least 60 minutes since the first request.
502
+ #
503
+ # For example, consider a situation where you make an initial request and the
504
+ # request times out. If you make the request again with the same request
505
+ # ID, the server can check if original operation with the same request ID
506
+ # was received, and if so, ignores the second request. This prevents
507
+ # clients from accidentally creating duplicate commitments.
508
+ #
509
+ # The request ID must be a valid UUID with the exception that zero UUID is
510
+ # not supported (00000000-0000-0000-0000-000000000000).
511
+ class UpdateLbRouteExtensionRequest
512
+ include ::Google::Protobuf::MessageExts
513
+ extend ::Google::Protobuf::MessageExts::ClassMethods
514
+ end
515
+
516
+ # Message for deleting a `LbRouteExtension` resource.
517
+ # @!attribute [rw] name
518
+ # @return [::String]
519
+ # Required. The name of the `LbRouteExtension` resource to delete. Must be in
520
+ # the format
521
+ # `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`.
522
+ # @!attribute [rw] request_id
523
+ # @return [::String]
524
+ # Optional. An optional request ID to identify requests. Specify a unique
525
+ # request ID so that if you must retry your request, the server can ignore
526
+ # the request if it has already been completed. The server guarantees
527
+ # that for at least 60 minutes after the first request.
528
+ #
529
+ # For example, consider a situation where you make an initial request and the
530
+ # request times out. If you make the request again with the same request
531
+ # ID, the server can check if original operation with the same request ID
532
+ # was received, and if so, ignores the second request. This prevents
533
+ # clients from accidentally creating duplicate commitments.
534
+ #
535
+ # The request ID must be a valid UUID with the exception that zero UUID is
536
+ # not supported (00000000-0000-0000-0000-000000000000).
537
+ class DeleteLbRouteExtensionRequest
538
+ include ::Google::Protobuf::MessageExts
539
+ extend ::Google::Protobuf::MessageExts::ClassMethods
540
+ end
541
+
542
+ # The part of the request or response for which the extension is called.
543
+ module EventType
544
+ # Unspecified value. Do not use.
545
+ EVENT_TYPE_UNSPECIFIED = 0
546
+
547
+ # If included in `supported_events`,
548
+ # the extension is called when the HTTP request headers arrive.
549
+ REQUEST_HEADERS = 1
550
+
551
+ # If included in `supported_events`,
552
+ # the extension is called when the HTTP request body arrives.
553
+ REQUEST_BODY = 2
554
+
555
+ # If included in `supported_events`,
556
+ # the extension is called when the HTTP response headers arrive.
557
+ RESPONSE_HEADERS = 3
558
+
559
+ # If included in `supported_events`,
560
+ # the extension is called when the HTTP response body arrives.
561
+ RESPONSE_BODY = 4
562
+
563
+ # If included in `supported_events`,
564
+ # the extension is called when the HTTP request trailers arrives.
565
+ REQUEST_TRAILERS = 5
566
+
567
+ # If included in `supported_events`,
568
+ # the extension is called when the HTTP response trailers arrives.
569
+ RESPONSE_TRAILERS = 6
570
+ end
571
+
572
+ # Load balancing schemes supported by the `LbTrafficExtension` resource and
573
+ # `LbRouteExtension` resource.
574
+ # For more information, refer to [Choosing a load
575
+ # balancer](https://cloud.google.com/load-balancing/docs/backend-service).
576
+ module LoadBalancingScheme
577
+ # Default value. Do not use.
578
+ LOAD_BALANCING_SCHEME_UNSPECIFIED = 0
579
+
580
+ # Signifies that this is used for Internal HTTP(S) Load Balancing.
581
+ INTERNAL_MANAGED = 1
582
+
583
+ # Signifies that this is used for External Managed HTTP(S) Load
584
+ # Balancing.
585
+ EXTERNAL_MANAGED = 2
586
+ end
587
+ end
588
+ end
589
+ end
590
+ end