google-cloud-network_services-v1 0.a → 0.2.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 (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