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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/network_services/v1/bindings_override.rb +279 -0
  6. data/lib/google/cloud/network_services/v1/dep_service/client.rb +1503 -0
  7. data/lib/google/cloud/network_services/v1/dep_service/credentials.rb +47 -0
  8. data/lib/google/cloud/network_services/v1/dep_service/operations.rb +809 -0
  9. data/lib/google/cloud/network_services/v1/dep_service/paths.rb +88 -0
  10. data/lib/google/cloud/network_services/v1/dep_service/rest/client.rb +1414 -0
  11. data/lib/google/cloud/network_services/v1/dep_service/rest/operations.rb +902 -0
  12. data/lib/google/cloud/network_services/v1/dep_service/rest/service_stub.rb +663 -0
  13. data/lib/google/cloud/network_services/v1/dep_service/rest.rb +54 -0
  14. data/lib/google/cloud/network_services/v1/dep_service.rb +56 -0
  15. data/lib/google/cloud/network_services/v1/network_services/client.rb +4383 -0
  16. data/lib/google/cloud/network_services/v1/network_services/credentials.rb +47 -0
  17. data/lib/google/cloud/network_services/v1/network_services/operations.rb +809 -0
  18. data/lib/google/cloud/network_services/v1/network_services/paths.rb +278 -0
  19. data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +4093 -0
  20. data/lib/google/cloud/network_services/v1/network_services/rest/operations.rb +902 -0
  21. data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +2385 -0
  22. data/lib/google/cloud/network_services/v1/network_services/rest.rb +52 -0
  23. data/lib/google/cloud/network_services/v1/network_services.rb +54 -0
  24. data/lib/google/cloud/network_services/v1/rest.rb +39 -0
  25. data/lib/google/cloud/network_services/v1/version.rb +7 -2
  26. data/lib/google/cloud/network_services/v1.rb +46 -0
  27. data/lib/google/cloud/networkservices/v1/common_pb.rb +51 -0
  28. data/lib/google/cloud/networkservices/v1/dep_pb.rb +75 -0
  29. data/lib/google/cloud/networkservices/v1/dep_services_pb.rb +64 -0
  30. data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +58 -0
  31. data/lib/google/cloud/networkservices/v1/gateway_pb.rb +56 -0
  32. data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +69 -0
  33. data/lib/google/cloud/networkservices/v1/http_route_pb.rb +74 -0
  34. data/lib/google/cloud/networkservices/v1/mesh_pb.rb +55 -0
  35. data/lib/google/cloud/networkservices/v1/network_services_pb.rb +53 -0
  36. data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +120 -0
  37. data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +52 -0
  38. data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +59 -0
  39. data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +59 -0
  40. data/lib/google-cloud-network_services-v1.rb +21 -0
  41. data/proto_docs/README.md +4 -0
  42. data/proto_docs/google/api/client.rb +399 -0
  43. data/proto_docs/google/api/field_behavior.rb +85 -0
  44. data/proto_docs/google/api/field_info.rb +65 -0
  45. data/proto_docs/google/api/launch_stage.rb +71 -0
  46. data/proto_docs/google/api/resource.rb +222 -0
  47. data/proto_docs/google/cloud/networkservices/v1/common.rb +147 -0
  48. data/proto_docs/google/cloud/networkservices/v1/dep.rb +569 -0
  49. data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +194 -0
  50. data/proto_docs/google/cloud/networkservices/v1/gateway.rb +187 -0
  51. data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +430 -0
  52. data/proto_docs/google/cloud/networkservices/v1/http_route.rb +670 -0
  53. data/proto_docs/google/cloud/networkservices/v1/mesh.rb +155 -0
  54. data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +131 -0
  55. data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +247 -0
  56. data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +219 -0
  57. data/proto_docs/google/longrunning/operations.rb +164 -0
  58. data/proto_docs/google/protobuf/any.rb +145 -0
  59. data/proto_docs/google/protobuf/duration.rb +98 -0
  60. data/proto_docs/google/protobuf/empty.rb +34 -0
  61. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  62. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  63. data/proto_docs/google/rpc/status.rb +48 -0
  64. data/proto_docs/google/type/expr.rb +75 -0
  65. metadata +144 -10
@@ -0,0 +1,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