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

Sign up to get free protection for your applications and to get access to all the features.
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,155 @@
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
+ # Mesh represents a logical configuration grouping for workload to workload
25
+ # communication within a service mesh. Routes that point to mesh dictate how
26
+ # requests are routed within this logical mesh boundary.
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Required. Name of the Mesh resource. It matches pattern
30
+ # `projects/*/locations/global/meshes/<mesh_name>`.
31
+ # @!attribute [r] self_link
32
+ # @return [::String]
33
+ # Output only. Server-defined URL of this resource
34
+ # @!attribute [r] create_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Output only. The timestamp when the resource was created.
37
+ # @!attribute [r] update_time
38
+ # @return [::Google::Protobuf::Timestamp]
39
+ # Output only. The timestamp when the resource was updated.
40
+ # @!attribute [rw] labels
41
+ # @return [::Google::Protobuf::Map{::String => ::String}]
42
+ # Optional. Set of label tags associated with the Mesh resource.
43
+ # @!attribute [rw] description
44
+ # @return [::String]
45
+ # Optional. A free-text description of the resource. Max length 1024
46
+ # characters.
47
+ # @!attribute [rw] interception_port
48
+ # @return [::Integer]
49
+ # Optional. If set to a valid TCP port (1-65535), instructs the SIDECAR proxy
50
+ # to listen on the specified port of localhost (127.0.0.1) address. The
51
+ # SIDECAR proxy will expect all traffic to be redirected to this port
52
+ # regardless of its actual ip:port destination. If unset, a port '15001' is
53
+ # used as the interception port. This is applicable only for sidecar proxy
54
+ # deployments.
55
+ class Mesh
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+
59
+ # @!attribute [rw] key
60
+ # @return [::String]
61
+ # @!attribute [rw] value
62
+ # @return [::String]
63
+ class LabelsEntry
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+ end
67
+ end
68
+
69
+ # Request used with the ListMeshes method.
70
+ # @!attribute [rw] parent
71
+ # @return [::String]
72
+ # Required. The project and location from which the Meshes should be
73
+ # listed, specified in the format `projects/*/locations/global`.
74
+ # @!attribute [rw] page_size
75
+ # @return [::Integer]
76
+ # Maximum number of Meshes to return per call.
77
+ # @!attribute [rw] page_token
78
+ # @return [::String]
79
+ # The value returned by the last `ListMeshesResponse`
80
+ # Indicates that this is a continuation of a prior `ListMeshes` call,
81
+ # and that the system should return the next page of data.
82
+ class ListMeshesRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # Response returned by the ListMeshes method.
88
+ # @!attribute [rw] meshes
89
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::Mesh>]
90
+ # List of Mesh resources.
91
+ # @!attribute [rw] next_page_token
92
+ # @return [::String]
93
+ # If there might be more results than those appearing in this response, then
94
+ # `next_page_token` is included. To get the next set of results, call this
95
+ # method again using the value of `next_page_token` as `page_token`.
96
+ class ListMeshesResponse
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+
101
+ # Request used by the GetMesh method.
102
+ # @!attribute [rw] name
103
+ # @return [::String]
104
+ # Required. A name of the Mesh to get. Must be in the format
105
+ # `projects/*/locations/global/meshes/*`.
106
+ class GetMeshRequest
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # Request used by the CreateMesh method.
112
+ # @!attribute [rw] parent
113
+ # @return [::String]
114
+ # Required. The parent resource of the Mesh. Must be in the
115
+ # format `projects/*/locations/global`.
116
+ # @!attribute [rw] mesh_id
117
+ # @return [::String]
118
+ # Required. Short name of the Mesh resource to be created.
119
+ # @!attribute [rw] mesh
120
+ # @return [::Google::Cloud::NetworkServices::V1::Mesh]
121
+ # Required. Mesh resource to be created.
122
+ class CreateMeshRequest
123
+ include ::Google::Protobuf::MessageExts
124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
125
+ end
126
+
127
+ # Request used by the UpdateMesh method.
128
+ # @!attribute [rw] update_mask
129
+ # @return [::Google::Protobuf::FieldMask]
130
+ # Optional. Field mask is used to specify the fields to be overwritten in the
131
+ # Mesh resource by the update.
132
+ # The fields specified in the update_mask are relative to the resource, not
133
+ # the full request. A field will be overwritten if it is in the mask. If the
134
+ # user does not provide a mask then all fields will be overwritten.
135
+ # @!attribute [rw] mesh
136
+ # @return [::Google::Cloud::NetworkServices::V1::Mesh]
137
+ # Required. Updated Mesh resource.
138
+ class UpdateMeshRequest
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+ end
142
+
143
+ # Request used by the DeleteMesh method.
144
+ # @!attribute [rw] name
145
+ # @return [::String]
146
+ # Required. A name of the Mesh to delete. Must be in the format
147
+ # `projects/*/locations/global/meshes/*`.
148
+ class DeleteMeshRequest
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
152
+ end
153
+ end
154
+ end
155
+ end
@@ -0,0 +1,131 @@
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
+ # ServiceBinding is the resource that defines a Service Directory Service to
25
+ # be used in a BackendService resource.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Required. Name of the ServiceBinding resource. It matches pattern
29
+ # `projects/*/locations/global/serviceBindings/service_binding_name`.
30
+ # @!attribute [rw] description
31
+ # @return [::String]
32
+ # Optional. A free-text description of the resource. Max length 1024
33
+ # characters.
34
+ # @!attribute [r] create_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Output only. The timestamp when the resource was created.
37
+ # @!attribute [r] update_time
38
+ # @return [::Google::Protobuf::Timestamp]
39
+ # Output only. The timestamp when the resource was updated.
40
+ # @!attribute [rw] service
41
+ # @return [::String]
42
+ # Required. The full service directory service name of the format
43
+ # /projects/*/locations/*/namespaces/*/services/*
44
+ # @!attribute [rw] labels
45
+ # @return [::Google::Protobuf::Map{::String => ::String}]
46
+ # Optional. Set of label tags associated with the ServiceBinding resource.
47
+ class ServiceBinding
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+
51
+ # @!attribute [rw] key
52
+ # @return [::String]
53
+ # @!attribute [rw] value
54
+ # @return [::String]
55
+ class LabelsEntry
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+ end
59
+ end
60
+
61
+ # Request used with the ListServiceBindings method.
62
+ # @!attribute [rw] parent
63
+ # @return [::String]
64
+ # Required. The project and location from which the ServiceBindings should be
65
+ # listed, specified in the format `projects/*/locations/global`.
66
+ # @!attribute [rw] page_size
67
+ # @return [::Integer]
68
+ # Maximum number of ServiceBindings to return per call.
69
+ # @!attribute [rw] page_token
70
+ # @return [::String]
71
+ # The value returned by the last `ListServiceBindingsResponse`
72
+ # Indicates that this is a continuation of a prior `ListRouters` call,
73
+ # and that the system should return the next page of data.
74
+ class ListServiceBindingsRequest
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+ end
78
+
79
+ # Response returned by the ListServiceBindings method.
80
+ # @!attribute [rw] service_bindings
81
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ServiceBinding>]
82
+ # List of ServiceBinding resources.
83
+ # @!attribute [rw] next_page_token
84
+ # @return [::String]
85
+ # If there might be more results than those appearing in this response, then
86
+ # `next_page_token` is included. To get the next set of results, call this
87
+ # method again using the value of `next_page_token` as `page_token`.
88
+ class ListServiceBindingsResponse
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Request used by the GetServiceBinding method.
94
+ # @!attribute [rw] name
95
+ # @return [::String]
96
+ # Required. A name of the ServiceBinding to get. Must be in the format
97
+ # `projects/*/locations/global/serviceBindings/*`.
98
+ class GetServiceBindingRequest
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # Request used by the ServiceBinding method.
104
+ # @!attribute [rw] parent
105
+ # @return [::String]
106
+ # Required. The parent resource of the ServiceBinding. Must be in the
107
+ # format `projects/*/locations/global`.
108
+ # @!attribute [rw] service_binding_id
109
+ # @return [::String]
110
+ # Required. Short name of the ServiceBinding resource to be created.
111
+ # @!attribute [rw] service_binding
112
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceBinding]
113
+ # Required. ServiceBinding resource to be created.
114
+ class CreateServiceBindingRequest
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Request used by the DeleteServiceBinding method.
120
+ # @!attribute [rw] name
121
+ # @return [::String]
122
+ # Required. A name of the ServiceBinding to delete. Must be in the format
123
+ # `projects/*/locations/global/serviceBindings/*`.
124
+ class DeleteServiceBindingRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,247 @@
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
+ # TcpRoute is the resource defining how TCP traffic should be routed by a
25
+ # Mesh/Gateway resource.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Required. Name of the TcpRoute resource. It matches pattern
29
+ # `projects/*/locations/global/tcpRoutes/tcp_route_name>`.
30
+ # @!attribute [r] self_link
31
+ # @return [::String]
32
+ # Output only. Server-defined URL of this resource
33
+ # @!attribute [r] create_time
34
+ # @return [::Google::Protobuf::Timestamp]
35
+ # Output only. The timestamp when the resource was created.
36
+ # @!attribute [r] update_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Output only. The timestamp when the resource was updated.
39
+ # @!attribute [rw] description
40
+ # @return [::String]
41
+ # Optional. A free-text description of the resource. Max length 1024
42
+ # characters.
43
+ # @!attribute [rw] rules
44
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteRule>]
45
+ # Required. Rules that define how traffic is routed and handled. At least one
46
+ # RouteRule must be supplied. If there are multiple rules then the action
47
+ # taken will be the first rule to match.
48
+ # @!attribute [rw] meshes
49
+ # @return [::Array<::String>]
50
+ # Optional. Meshes defines a list of meshes this TcpRoute is attached to, as
51
+ # one of the routing rules to route the requests served by the mesh.
52
+ #
53
+ # Each mesh reference should match the pattern:
54
+ # `projects/*/locations/global/meshes/<mesh_name>`
55
+ #
56
+ # The attached Mesh should be of a type SIDECAR
57
+ # @!attribute [rw] gateways
58
+ # @return [::Array<::String>]
59
+ # Optional. Gateways defines a list of gateways this TcpRoute is attached to,
60
+ # as one of the routing rules to route the requests served by the gateway.
61
+ #
62
+ # Each gateway reference should match the pattern:
63
+ # `projects/*/locations/global/gateways/<gateway_name>`
64
+ # @!attribute [rw] labels
65
+ # @return [::Google::Protobuf::Map{::String => ::String}]
66
+ # Optional. Set of label tags associated with the TcpRoute resource.
67
+ class TcpRoute
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+
71
+ # Specifies how to match traffic and how to route traffic when traffic is
72
+ # matched.
73
+ # @!attribute [rw] matches
74
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
75
+ # Optional. RouteMatch defines the predicate used to match requests to a
76
+ # given action. Multiple match types are "OR"ed for evaluation. If no
77
+ # routeMatch field is specified, this rule will unconditionally match
78
+ # traffic.
79
+ # @!attribute [rw] action
80
+ # @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
81
+ # Required. The detailed rule defining how to route matched traffic.
82
+ class RouteRule
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # RouteMatch defines the predicate used to match requests to a given action.
88
+ # Multiple match types are "OR"ed for evaluation.
89
+ # If no routeMatch field is specified, this rule will unconditionally match
90
+ # traffic.
91
+ # @!attribute [rw] address
92
+ # @return [::String]
93
+ # Required. Must be specified in the CIDR range format. A CIDR range
94
+ # consists of an IP Address and a prefix length to construct the subnet
95
+ # mask. By default, the prefix length is 32 (i.e. matches a single IP
96
+ # address). Only IPV4 addresses are supported.
97
+ # Examples:
98
+ # "10.0.0.1" - matches against this exact IP address.
99
+ # "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
100
+ # and 255.255.255.0 mask.
101
+ # "0.0.0.0/0" - matches against any IP address'.
102
+ # @!attribute [rw] port
103
+ # @return [::String]
104
+ # Required. Specifies the destination port to match against.
105
+ class RouteMatch
106
+ include ::Google::Protobuf::MessageExts
107
+ extend ::Google::Protobuf::MessageExts::ClassMethods
108
+ end
109
+
110
+ # The specifications for routing traffic and applying associated policies.
111
+ # @!attribute [rw] destinations
112
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
113
+ # Optional. The destination services to which traffic should be forwarded.
114
+ # At least one destination service is required. Only one of route
115
+ # destination or original destination can be set.
116
+ # @!attribute [rw] original_destination
117
+ # @return [::Boolean]
118
+ # Optional. If true, Router will use the destination IP and port of the
119
+ # original connection as the destination of the request. Default is false.
120
+ # Only one of route destinations or original destination can be set.
121
+ class RouteAction
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+ end
125
+
126
+ # Describe the destination for traffic to be routed to.
127
+ # @!attribute [rw] service_name
128
+ # @return [::String]
129
+ # Required. The URL of a BackendService to route traffic to.
130
+ # @!attribute [rw] weight
131
+ # @return [::Integer]
132
+ # Optional. Specifies the proportion of requests forwarded to the backend
133
+ # referenced by the serviceName field. This is computed as:
134
+ # - weight/Sum(weights in this destination list).
135
+ # For non-zero values, there may be some epsilon from the exact proportion
136
+ # defined here depending on the precision an implementation supports.
137
+ #
138
+ # If only one serviceName is specified and it has a weight greater than 0,
139
+ # 100% of the traffic is forwarded to that backend.
140
+ #
141
+ # If weights are specified for any one service name, they need to be
142
+ # specified for all of them.
143
+ #
144
+ # If weights are unspecified for all services, then, traffic is distributed
145
+ # in equal proportions to all of them.
146
+ class RouteDestination
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+ end
150
+
151
+ # @!attribute [rw] key
152
+ # @return [::String]
153
+ # @!attribute [rw] value
154
+ # @return [::String]
155
+ class LabelsEntry
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+ end
160
+
161
+ # Request used with the ListTcpRoutes method.
162
+ # @!attribute [rw] parent
163
+ # @return [::String]
164
+ # Required. The project and location from which the TcpRoutes should be
165
+ # listed, specified in the format `projects/*/locations/global`.
166
+ # @!attribute [rw] page_size
167
+ # @return [::Integer]
168
+ # Maximum number of TcpRoutes to return per call.
169
+ # @!attribute [rw] page_token
170
+ # @return [::String]
171
+ # The value returned by the last `ListTcpRoutesResponse`
172
+ # Indicates that this is a continuation of a prior `ListTcpRoutes` call,
173
+ # and that the system should return the next page of data.
174
+ class ListTcpRoutesRequest
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+ end
178
+
179
+ # Response returned by the ListTcpRoutes method.
180
+ # @!attribute [rw] tcp_routes
181
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute>]
182
+ # List of TcpRoute resources.
183
+ # @!attribute [rw] next_page_token
184
+ # @return [::String]
185
+ # If there might be more results than those appearing in this response, then
186
+ # `next_page_token` is included. To get the next set of results, call this
187
+ # method again using the value of `next_page_token` as `page_token`.
188
+ class ListTcpRoutesResponse
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Request used by the GetTcpRoute method.
194
+ # @!attribute [rw] name
195
+ # @return [::String]
196
+ # Required. A name of the TcpRoute to get. Must be in the format
197
+ # `projects/*/locations/global/tcpRoutes/*`.
198
+ class GetTcpRouteRequest
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # Request used by the TcpRoute method.
204
+ # @!attribute [rw] parent
205
+ # @return [::String]
206
+ # Required. The parent resource of the TcpRoute. Must be in the
207
+ # format `projects/*/locations/global`.
208
+ # @!attribute [rw] tcp_route_id
209
+ # @return [::String]
210
+ # Required. Short name of the TcpRoute resource to be created.
211
+ # @!attribute [rw] tcp_route
212
+ # @return [::Google::Cloud::NetworkServices::V1::TcpRoute]
213
+ # Required. TcpRoute resource to be created.
214
+ class CreateTcpRouteRequest
215
+ include ::Google::Protobuf::MessageExts
216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
+ end
218
+
219
+ # Request used by the UpdateTcpRoute method.
220
+ # @!attribute [rw] update_mask
221
+ # @return [::Google::Protobuf::FieldMask]
222
+ # Optional. Field mask is used to specify the fields to be overwritten in the
223
+ # TcpRoute resource by the update.
224
+ # The fields specified in the update_mask are relative to the resource, not
225
+ # the full request. A field will be overwritten if it is in the mask. If the
226
+ # user does not provide a mask then all fields will be overwritten.
227
+ # @!attribute [rw] tcp_route
228
+ # @return [::Google::Cloud::NetworkServices::V1::TcpRoute]
229
+ # Required. Updated TcpRoute resource.
230
+ class UpdateTcpRouteRequest
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+
235
+ # Request used by the DeleteTcpRoute method.
236
+ # @!attribute [rw] name
237
+ # @return [::String]
238
+ # Required. A name of the TcpRoute to delete. Must be in the format
239
+ # `projects/*/locations/global/tcpRoutes/*`.
240
+ class DeleteTcpRouteRequest
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end