google-cloud-network_services-v1 2.1.0 → 2.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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/network_services/v1/network_services/client.rb +1188 -140
  3. data/lib/google/cloud/network_services/v1/network_services/paths.rb +175 -0
  4. data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +1115 -137
  5. data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +613 -0
  6. data/lib/google/cloud/network_services/v1/version.rb +1 -1
  7. data/lib/google/cloud/networkservices/v1/common_pb.rb +2 -1
  8. data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +1 -1
  9. data/lib/google/cloud/networkservices/v1/gateway_pb.rb +4 -1
  10. data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +2 -1
  11. data/lib/google/cloud/networkservices/v1/http_route_pb.rb +3 -1
  12. data/lib/google/cloud/networkservices/v1/mesh_pb.rb +2 -1
  13. data/lib/google/cloud/networkservices/v1/network_services_pb.rb +4 -1
  14. data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +20 -0
  15. data/lib/google/cloud/networkservices/v1/route_view_pb.rb +52 -0
  16. data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +4 -1
  17. data/lib/google/cloud/networkservices/v1/service_lb_policy_pb.rb +58 -0
  18. data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +3 -1
  19. data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +3 -1
  20. data/proto_docs/google/cloud/networkservices/v1/common.rb +18 -1
  21. data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +12 -1
  22. data/proto_docs/google/cloud/networkservices/v1/gateway.rb +96 -8
  23. data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +51 -7
  24. data/proto_docs/google/cloud/networkservices/v1/http_route.rb +86 -1
  25. data/proto_docs/google/cloud/networkservices/v1/mesh.rb +16 -1
  26. data/proto_docs/google/cloud/networkservices/v1/route_view.rb +168 -0
  27. data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +47 -10
  28. data/proto_docs/google/cloud/networkservices/v1/service_lb_policy.rb +217 -0
  29. data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +23 -7
  30. data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +35 -6
  31. metadata +6 -2
@@ -0,0 +1,168 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+ # GatewayRouteView defines view-only resource for Routes to a Gateway
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. Identifier. Full path name of the GatewayRouteView resource.
28
+ # Format:
29
+ # projects/\\{project_number}/locations/\\{location}/gateways/\\{gateway}/routeViews/\\{route_view}
30
+ # @!attribute [r] route_project_number
31
+ # @return [::Integer]
32
+ # Output only. Project number where the route exists.
33
+ # @!attribute [r] route_location
34
+ # @return [::String]
35
+ # Output only. Location where the route exists.
36
+ # @!attribute [r] route_type
37
+ # @return [::String]
38
+ # Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute
39
+ # @!attribute [r] route_id
40
+ # @return [::String]
41
+ # Output only. The resource id for the route.
42
+ class GatewayRouteView
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # MeshRouteView defines view-only resource for Routes to a Mesh
48
+ # @!attribute [r] name
49
+ # @return [::String]
50
+ # Output only. Identifier. Full path name of the MeshRouteView resource.
51
+ # Format:
52
+ # projects/\\{project}/locations/\\{location}/meshes/\\{mesh}/routeViews/\\{route_view}
53
+ # @!attribute [r] route_project_number
54
+ # @return [::Integer]
55
+ # Output only. Project number where the route exists.
56
+ # @!attribute [r] route_location
57
+ # @return [::String]
58
+ # Output only. Location where the route exists.
59
+ # @!attribute [r] route_type
60
+ # @return [::String]
61
+ # Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute
62
+ # @!attribute [r] route_id
63
+ # @return [::String]
64
+ # Output only. The resource id for the route.
65
+ class MeshRouteView
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+ end
69
+
70
+ # Request used with the GetGatewayRouteView method.
71
+ # @!attribute [rw] name
72
+ # @return [::String]
73
+ # Required. Name of the GatewayRouteView resource.
74
+ # Formats:
75
+ # projects/\\{project}/locations/\\{location}/gateways/\\{gateway}/routeViews/\\{route_view}
76
+ class GetGatewayRouteViewRequest
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # Request used with the GetMeshRouteView method.
82
+ # @!attribute [rw] name
83
+ # @return [::String]
84
+ # Required. Name of the MeshRouteView resource.
85
+ # Format:
86
+ # projects/\\{project}/locations/\\{location}/meshes/\\{mesh}/routeViews/\\{route_view}
87
+ class GetMeshRouteViewRequest
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+ end
91
+
92
+ # Request used with the ListGatewayRouteViews method.
93
+ # @!attribute [rw] parent
94
+ # @return [::String]
95
+ # Required. The Gateway to which a Route is associated.
96
+ # Formats:
97
+ # projects/\\{project}/locations/\\{location}/gateways/\\{gateway}
98
+ # @!attribute [rw] page_size
99
+ # @return [::Integer]
100
+ # Maximum number of GatewayRouteViews to return per call.
101
+ # @!attribute [rw] page_token
102
+ # @return [::String]
103
+ # The value returned by the last `ListGatewayRouteViewsResponse`
104
+ # Indicates that this is a continuation of a prior `ListGatewayRouteViews`
105
+ # call, and that the system should return the next page of data.
106
+ class ListGatewayRouteViewsRequest
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # Request used with the ListMeshRouteViews method.
112
+ # @!attribute [rw] parent
113
+ # @return [::String]
114
+ # Required. The Mesh to which a Route is associated.
115
+ # Format:
116
+ # projects/\\{project}/locations/\\{location}/meshes/\\{mesh}
117
+ # @!attribute [rw] page_size
118
+ # @return [::Integer]
119
+ # Maximum number of MeshRouteViews to return per call.
120
+ # @!attribute [rw] page_token
121
+ # @return [::String]
122
+ # The value returned by the last `ListMeshRouteViewsResponse`
123
+ # Indicates that this is a continuation of a prior `ListMeshRouteViews` call,
124
+ # and that the system should return the next page of data.
125
+ class ListMeshRouteViewsRequest
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+
130
+ # Response returned by the ListGatewayRouteViews method.
131
+ # @!attribute [rw] gateway_route_views
132
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::GatewayRouteView>]
133
+ # List of GatewayRouteView resources.
134
+ # @!attribute [rw] next_page_token
135
+ # @return [::String]
136
+ # A token, which can be sent as `page_token` to retrieve the next page.
137
+ # If this field is omitted, there are no subsequent pages.
138
+ # @!attribute [rw] unreachable
139
+ # @return [::Array<::String>]
140
+ # Unreachable resources. Populated when the request attempts to list all
141
+ # resources across all supported locations, while some locations are
142
+ # temporarily unavailable.
143
+ class ListGatewayRouteViewsResponse
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # Response returned by the ListMeshRouteViews method.
149
+ # @!attribute [rw] mesh_route_views
150
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::MeshRouteView>]
151
+ # List of MeshRouteView resources.
152
+ # @!attribute [rw] next_page_token
153
+ # @return [::String]
154
+ # A token, which can be sent as `page_token` to retrieve the next page.
155
+ # If this field is omitted, there are no subsequent pages.
156
+ # @!attribute [rw] unreachable
157
+ # @return [::Array<::String>]
158
+ # Unreachable resources. Populated when the request attempts to list all
159
+ # resources across all supported locations, while some locations are
160
+ # temporarily unavailable.
161
+ class ListMeshRouteViewsResponse
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+ end
166
+ end
167
+ end
168
+ end
@@ -21,12 +21,17 @@ module Google
21
21
  module Cloud
22
22
  module NetworkServices
23
23
  module V1
24
- # ServiceBinding is the resource that defines a Service Directory Service to
25
- # be used in a BackendService resource.
24
+ # ServiceBinding can be used to:
25
+ # - Bind a Service Directory Service to be used in a BackendService resource.
26
+ # This feature will be deprecated soon.
27
+ # - Bind a Private Service Connect producer service to be used in consumer
28
+ # Cloud Service Mesh or Application Load Balancers.
29
+ # - Bind a Cloud Run service to be used in consumer Cloud Service Mesh or
30
+ # Application Load Balancers.
26
31
  # @!attribute [rw] name
27
32
  # @return [::String]
28
- # Required. Name of the ServiceBinding resource. It matches pattern
29
- # `projects/*/locations/global/serviceBindings/service_binding_name`.
33
+ # Identifier. Name of the ServiceBinding resource. It matches pattern
34
+ # `projects/*/locations/*/serviceBindings/<service_binding_name>`.
30
35
  # @!attribute [rw] description
31
36
  # @return [::String]
32
37
  # Optional. A free-text description of the resource. Max length 1024
@@ -38,9 +43,20 @@ module Google
38
43
  # @return [::Google::Protobuf::Timestamp]
39
44
  # Output only. The timestamp when the resource was updated.
40
45
  # @!attribute [rw] service
46
+ # @deprecated This field is deprecated and may be removed in the next major version update.
41
47
  # @return [::String]
42
- # Required. The full service directory service name of the format
43
- # /projects/*/locations/*/namespaces/*/services/*
48
+ # Optional. The full Service Directory Service name of the format
49
+ # `projects/*/locations/*/namespaces/*/services/*`.
50
+ # This field is for Service Directory integration which will be deprecated
51
+ # soon.
52
+ # @!attribute [r] service_id
53
+ # @deprecated This field is deprecated and may be removed in the next major version update.
54
+ # @return [::String]
55
+ # Output only. The unique identifier of the Service Directory Service against
56
+ # which the ServiceBinding resource is validated. This is populated when the
57
+ # Service Binding resource is used in another resource (like Backend
58
+ # Service). This is of the UUID4 format. This field is for Service Directory
59
+ # integration which will be deprecated soon.
44
60
  # @!attribute [rw] labels
45
61
  # @return [::Google::Protobuf::Map{::String => ::String}]
46
62
  # Optional. Set of label tags associated with the ServiceBinding resource.
@@ -62,7 +78,7 @@ module Google
62
78
  # @!attribute [rw] parent
63
79
  # @return [::String]
64
80
  # Required. The project and location from which the ServiceBindings should be
65
- # listed, specified in the format `projects/*/locations/global`.
81
+ # listed, specified in the format `projects/*/locations/*`.
66
82
  # @!attribute [rw] page_size
67
83
  # @return [::Integer]
68
84
  # Maximum number of ServiceBindings to return per call.
@@ -85,6 +101,11 @@ module Google
85
101
  # If there might be more results than those appearing in this response, then
86
102
  # `next_page_token` is included. To get the next set of results, call this
87
103
  # method again using the value of `next_page_token` as `page_token`.
104
+ # @!attribute [rw] unreachable
105
+ # @return [::Array<::String>]
106
+ # Unreachable resources. Populated when the request attempts to list all
107
+ # resources across all supported locations, while some locations are
108
+ # temporarily unavailable.
88
109
  class ListServiceBindingsResponse
89
110
  include ::Google::Protobuf::MessageExts
90
111
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -94,7 +115,7 @@ module Google
94
115
  # @!attribute [rw] name
95
116
  # @return [::String]
96
117
  # Required. A name of the ServiceBinding to get. Must be in the format
97
- # `projects/*/locations/global/serviceBindings/*`.
118
+ # `projects/*/locations/*/serviceBindings/*`.
98
119
  class GetServiceBindingRequest
99
120
  include ::Google::Protobuf::MessageExts
100
121
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -104,7 +125,7 @@ module Google
104
125
  # @!attribute [rw] parent
105
126
  # @return [::String]
106
127
  # Required. The parent resource of the ServiceBinding. Must be in the
107
- # format `projects/*/locations/global`.
128
+ # format `projects/*/locations/*`.
108
129
  # @!attribute [rw] service_binding_id
109
130
  # @return [::String]
110
131
  # Required. Short name of the ServiceBinding resource to be created.
@@ -116,11 +137,27 @@ module Google
116
137
  extend ::Google::Protobuf::MessageExts::ClassMethods
117
138
  end
118
139
 
140
+ # Request used by the UpdateServiceBinding method.
141
+ # @!attribute [rw] update_mask
142
+ # @return [::Google::Protobuf::FieldMask]
143
+ # Optional. Field mask is used to specify the fields to be overwritten in the
144
+ # ServiceBinding resource by the update.
145
+ # The fields specified in the update_mask are relative to the resource, not
146
+ # the full request. A field will be overwritten if it is in the mask. If the
147
+ # user does not provide a mask then all fields will be overwritten.
148
+ # @!attribute [rw] service_binding
149
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceBinding]
150
+ # Required. Updated ServiceBinding resource.
151
+ class UpdateServiceBindingRequest
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+
119
156
  # Request used by the DeleteServiceBinding method.
120
157
  # @!attribute [rw] name
121
158
  # @return [::String]
122
159
  # Required. A name of the ServiceBinding to delete. Must be in the format
123
- # `projects/*/locations/global/serviceBindings/*`.
160
+ # `projects/*/locations/*/serviceBindings/*`.
124
161
  class DeleteServiceBindingRequest
125
162
  include ::Google::Protobuf::MessageExts
126
163
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,217 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+ # ServiceLbPolicy holds global load balancing and traffic distribution
25
+ # configuration that can be applied to a BackendService.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Identifier. Name of the ServiceLbPolicy resource. It matches pattern
29
+ # `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
30
+ # @!attribute [r] create_time
31
+ # @return [::Google::Protobuf::Timestamp]
32
+ # Output only. The timestamp when this resource was created.
33
+ # @!attribute [r] update_time
34
+ # @return [::Google::Protobuf::Timestamp]
35
+ # Output only. The timestamp when this resource was last updated.
36
+ # @!attribute [rw] labels
37
+ # @return [::Google::Protobuf::Map{::String => ::String}]
38
+ # Optional. Set of label tags associated with the ServiceLbPolicy resource.
39
+ # @!attribute [rw] description
40
+ # @return [::String]
41
+ # Optional. A free-text description of the resource. Max length 1024
42
+ # characters.
43
+ # @!attribute [rw] load_balancing_algorithm
44
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy::LoadBalancingAlgorithm]
45
+ # Optional. The type of load balancing algorithm to be used. The default
46
+ # behavior is WATERFALL_BY_REGION.
47
+ # @!attribute [rw] auto_capacity_drain
48
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy::AutoCapacityDrain]
49
+ # Optional. Configuration to automatically move traffic away for unhealthy
50
+ # IG/NEG for the associated Backend Service.
51
+ # @!attribute [rw] failover_config
52
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy::FailoverConfig]
53
+ # Optional. Configuration related to health based failover.
54
+ class ServiceLbPolicy
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+
58
+ # Option to specify if an unhealthy IG/NEG should be considered for global
59
+ # load balancing and traffic routing.
60
+ # @!attribute [rw] enable
61
+ # @return [::Boolean]
62
+ # Optional. If set to 'True', an unhealthy IG/NEG will be set as drained.
63
+ # - An IG/NEG is considered unhealthy if less than 25% of the
64
+ # instances/endpoints in the IG/NEG are healthy.
65
+ # - This option will never result in draining more than 50% of the
66
+ # configured IGs/NEGs for the Backend Service.
67
+ class AutoCapacityDrain
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+ end
71
+
72
+ # Option to specify health based failover behavior.
73
+ # This is not related to Network load balancer FailoverPolicy.
74
+ # @!attribute [rw] failover_health_threshold
75
+ # @return [::Integer]
76
+ # Optional. The percentage threshold that a load balancer will begin to
77
+ # send traffic to failover backends. If the percentage of endpoints in a
78
+ # MIG/NEG is smaller than this value, traffic would be sent to failover
79
+ # backends if possible. This field should be set to a value between 1
80
+ # and 99. The default value is 50 for Global external HTTP(S) load balancer
81
+ # (classic) and Proxyless service mesh, and 70 for others.
82
+ class FailoverConfig
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # @!attribute [rw] key
88
+ # @return [::String]
89
+ # @!attribute [rw] value
90
+ # @return [::String]
91
+ class LabelsEntry
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # The global load balancing algorithm to be used.
97
+ module LoadBalancingAlgorithm
98
+ # The type of the loadbalancing algorithm is unspecified.
99
+ LOAD_BALANCING_ALGORITHM_UNSPECIFIED = 0
100
+
101
+ # Balance traffic across all backends across the world proportionally based
102
+ # on capacity.
103
+ SPRAY_TO_WORLD = 3
104
+
105
+ # Direct traffic to the nearest region with endpoints and capacity before
106
+ # spilling over to other regions and spread the traffic from each client to
107
+ # all the MIGs/NEGs in a region.
108
+ SPRAY_TO_REGION = 4
109
+
110
+ # Direct traffic to the nearest region with endpoints and capacity before
111
+ # spilling over to other regions. All MIGs/NEGs within a region are evenly
112
+ # loaded but each client might not spread the traffic to all the MIGs/NEGs
113
+ # in the region.
114
+ WATERFALL_BY_REGION = 5
115
+
116
+ # Attempt to keep traffic in a single zone closest to the client, before
117
+ # spilling over to other zones.
118
+ WATERFALL_BY_ZONE = 6
119
+ end
120
+ end
121
+
122
+ # Request used with the ListServiceLbPolicies method.
123
+ # @!attribute [rw] parent
124
+ # @return [::String]
125
+ # Required. The project and location from which the ServiceLbPolicies should
126
+ # be listed, specified in the format
127
+ # `projects/{project}/locations/{location}`.
128
+ # @!attribute [rw] page_size
129
+ # @return [::Integer]
130
+ # Maximum number of ServiceLbPolicies to return per call.
131
+ # @!attribute [rw] page_token
132
+ # @return [::String]
133
+ # The value returned by the last `ListServiceLbPoliciesResponse`
134
+ # Indicates that this is a continuation of a prior `ListRouters` call,
135
+ # and that the system should return the next page of data.
136
+ class ListServiceLbPoliciesRequest
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+
141
+ # Response returned by the ListServiceLbPolicies method.
142
+ # @!attribute [rw] service_lb_policies
143
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::ServiceLbPolicy>]
144
+ # List of ServiceLbPolicy resources.
145
+ # @!attribute [rw] next_page_token
146
+ # @return [::String]
147
+ # If there might be more results than those appearing in this response, then
148
+ # `next_page_token` is included. To get the next set of results, call this
149
+ # method again using the value of `next_page_token` as `page_token`.
150
+ # @!attribute [rw] unreachable
151
+ # @return [::Array<::String>]
152
+ # Unreachable resources. Populated when the request attempts to list all
153
+ # resources across all supported locations, while some locations are
154
+ # temporarily unavailable.
155
+ class ListServiceLbPoliciesResponse
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+
160
+ # Request used by the GetServiceLbPolicy method.
161
+ # @!attribute [rw] name
162
+ # @return [::String]
163
+ # Required. A name of the ServiceLbPolicy to get. Must be in the format
164
+ # `projects/{project}/locations/{location}/serviceLbPolicies/*`.
165
+ class GetServiceLbPolicyRequest
166
+ include ::Google::Protobuf::MessageExts
167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
168
+ end
169
+
170
+ # Request used by the ServiceLbPolicy method.
171
+ # @!attribute [rw] parent
172
+ # @return [::String]
173
+ # Required. The parent resource of the ServiceLbPolicy. Must be in the
174
+ # format `projects/{project}/locations/{location}`.
175
+ # @!attribute [rw] service_lb_policy_id
176
+ # @return [::String]
177
+ # Required. Short name of the ServiceLbPolicy resource to be created.
178
+ # E.g. for resource name
179
+ # `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
180
+ # the id is value of \\{service_lb_policy_name}
181
+ # @!attribute [rw] service_lb_policy
182
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy]
183
+ # Required. ServiceLbPolicy resource to be created.
184
+ class CreateServiceLbPolicyRequest
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Request used by the UpdateServiceLbPolicy method.
190
+ # @!attribute [rw] update_mask
191
+ # @return [::Google::Protobuf::FieldMask]
192
+ # Optional. Field mask is used to specify the fields to be overwritten in the
193
+ # ServiceLbPolicy resource by the update.
194
+ # The fields specified in the update_mask are relative to the resource, not
195
+ # the full request. A field will be overwritten if it is in the mask. If the
196
+ # user does not provide a mask then all fields will be overwritten.
197
+ # @!attribute [rw] service_lb_policy
198
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy]
199
+ # Required. Updated ServiceLbPolicy resource.
200
+ class UpdateServiceLbPolicyRequest
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # Request used by the DeleteServiceLbPolicy method.
206
+ # @!attribute [rw] name
207
+ # @return [::String]
208
+ # Required. A name of the ServiceLbPolicy to delete. Must be in the format
209
+ # `projects/{project}/locations/{location}/serviceLbPolicies/*`.
210
+ class DeleteServiceLbPolicyRequest
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
@@ -25,7 +25,7 @@ module Google
25
25
  # Mesh/Gateway resource.
26
26
  # @!attribute [rw] name
27
27
  # @return [::String]
28
- # Required. Name of the TcpRoute resource. It matches pattern
28
+ # Identifier. Name of the TcpRoute resource. It matches pattern
29
29
  # `projects/*/locations/global/tcpRoutes/tcp_route_name>`.
30
30
  # @!attribute [r] self_link
31
31
  # @return [::String]
@@ -93,12 +93,10 @@ module Google
93
93
  # Required. Must be specified in the CIDR range format. A CIDR range
94
94
  # consists of an IP Address and a prefix length to construct the subnet
95
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'.
96
+ # address). Only IPV4 addresses are supported. Examples: "10.0.0.1" -
97
+ # matches against this exact IP address. "10.0.0.0/8" - matches against any
98
+ # IP address within the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0"
99
+ # - matches against any IP address'.
102
100
  # @!attribute [rw] port
103
101
  # @return [::String]
104
102
  # Required. Specifies the destination port to match against.
@@ -118,6 +116,13 @@ module Google
118
116
  # Optional. If true, Router will use the destination IP and port of the
119
117
  # original connection as the destination of the request. Default is false.
120
118
  # Only one of route destinations or original destination can be set.
119
+ # @!attribute [rw] idle_timeout
120
+ # @return [::Google::Protobuf::Duration]
121
+ # Optional. Specifies the idle timeout for the selected route. The idle
122
+ # timeout is defined as the period in which there are no bytes sent or
123
+ # received on either the upstream or downstream connection. If not set, the
124
+ # default idle timeout is 30 seconds. If set to 0s, the timeout will be
125
+ # disabled.
121
126
  class RouteAction
122
127
  include ::Google::Protobuf::MessageExts
123
128
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -171,6 +176,11 @@ module Google
171
176
  # The value returned by the last `ListTcpRoutesResponse`
172
177
  # Indicates that this is a continuation of a prior `ListTcpRoutes` call,
173
178
  # and that the system should return the next page of data.
179
+ # @!attribute [rw] return_partial_success
180
+ # @return [::Boolean]
181
+ # Optional. If true, allow partial responses for multi-regional Aggregated
182
+ # List requests. Otherwise if one of the locations is down or unreachable,
183
+ # the Aggregated List request will fail.
174
184
  class ListTcpRoutesRequest
175
185
  include ::Google::Protobuf::MessageExts
176
186
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -185,6 +195,12 @@ module Google
185
195
  # If there might be more results than those appearing in this response, then
186
196
  # `next_page_token` is included. To get the next set of results, call this
187
197
  # method again using the value of `next_page_token` as `page_token`.
198
+ # @!attribute [rw] unreachable
199
+ # @return [::Array<::String>]
200
+ # Unreachable resources. Populated when the request opts into
201
+ # {::Google::Cloud::NetworkServices::V1::ListTcpRoutesRequest#return_partial_success return_partial_success}
202
+ # and reading across collections e.g. when attempting to list all resources
203
+ # across all supported locations.
188
204
  class ListTcpRoutesResponse
189
205
  include ::Google::Protobuf::MessageExts
190
206
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25,7 +25,7 @@ module Google
25
25
  # L3 attributes.
26
26
  # @!attribute [rw] name
27
27
  # @return [::String]
28
- # Required. Name of the TlsRoute resource. It matches pattern
28
+ # Identifier. Name of the TlsRoute resource. It matches pattern
29
29
  # `projects/*/locations/global/tlsRoutes/tls_route_name>`.
30
30
  # @!attribute [r] self_link
31
31
  # @return [::String]
@@ -61,6 +61,9 @@ module Google
61
61
  #
62
62
  # Each gateway reference should match the pattern:
63
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 TlsRoute resource.
64
67
  class TlsRoute
65
68
  include ::Google::Protobuf::MessageExts
66
69
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -70,7 +73,8 @@ module Google
70
73
  # @!attribute [rw] matches
71
74
  # @return [::Array<::Google::Cloud::NetworkServices::V1::TlsRoute::RouteMatch>]
72
75
  # Required. RouteMatch defines the predicate used to match requests to a
73
- # given action. Multiple match types are "OR"ed for evaluation.
76
+ # given action. Multiple match types are "OR"ed for evaluation. Atleast one
77
+ # RouteMatch must be supplied.
74
78
  # @!attribute [rw] action
75
79
  # @return [::Google::Cloud::NetworkServices::V1::TlsRoute::RouteAction]
76
80
  # Required. The detailed rule defining how to route matched traffic.
@@ -81,8 +85,6 @@ module Google
81
85
 
82
86
  # RouteMatch defines the predicate used to match requests to a given action.
83
87
  # Multiple match types are "AND"ed for evaluation.
84
- # If no routeMatch field is specified, this rule will unconditionally match
85
- # traffic.
86
88
  # @!attribute [rw] sni_host
87
89
  # @return [::Array<::String>]
88
90
  # Optional. SNI (server name indicator) to match against.
@@ -92,7 +94,7 @@ module Google
92
94
  # Partial wildcards are not supported, and values like *w.example.com are
93
95
  # invalid.
94
96
  # At least one of sni_host and alpn is required.
95
- # Up to 5 sni hosts across all matches can be set.
97
+ # Up to 100 sni hosts across all matches can be set.
96
98
  # @!attribute [rw] alpn
97
99
  # @return [::Array<::String>]
98
100
  # Optional. ALPN (Application-Layer Protocol Negotiation) to match against.
@@ -109,6 +111,13 @@ module Google
109
111
  # @return [::Array<::Google::Cloud::NetworkServices::V1::TlsRoute::RouteDestination>]
110
112
  # Required. The destination services to which traffic should be forwarded.
111
113
  # At least one destination service is required.
114
+ # @!attribute [rw] idle_timeout
115
+ # @return [::Google::Protobuf::Duration]
116
+ # Optional. Specifies the idle timeout for the selected route. The idle
117
+ # timeout is defined as the period in which there are no bytes sent or
118
+ # received on either the upstream or downstream connection. If not set, the
119
+ # default idle timeout is 1 hour. If set to 0s, the timeout will be
120
+ # disabled.
112
121
  class RouteAction
113
122
  include ::Google::Protobuf::MessageExts
114
123
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -120,7 +129,7 @@ module Google
120
129
  # Required. The URL of a BackendService to route traffic to.
121
130
  # @!attribute [rw] weight
122
131
  # @return [::Integer]
123
- # Optional. Specifies the proportion of requests forwareded to the backend
132
+ # Optional. Specifies the proportion of requests forwarded to the backend
124
133
  # referenced by the service_name field. This is computed as:
125
134
  # - weight/Sum(weights in destinations)
126
135
  # Weights in all destinations does not need to sum up to 100.
@@ -128,6 +137,15 @@ module Google
128
137
  include ::Google::Protobuf::MessageExts
129
138
  extend ::Google::Protobuf::MessageExts::ClassMethods
130
139
  end
140
+
141
+ # @!attribute [rw] key
142
+ # @return [::String]
143
+ # @!attribute [rw] value
144
+ # @return [::String]
145
+ class LabelsEntry
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
131
149
  end
132
150
 
133
151
  # Request used with the ListTlsRoutes method.
@@ -143,6 +161,11 @@ module Google
143
161
  # The value returned by the last `ListTlsRoutesResponse`
144
162
  # Indicates that this is a continuation of a prior `ListTlsRoutes` call,
145
163
  # and that the system should return the next page of data.
164
+ # @!attribute [rw] return_partial_success
165
+ # @return [::Boolean]
166
+ # Optional. If true, allow partial responses for multi-regional Aggregated
167
+ # List requests. Otherwise if one of the locations is down or unreachable,
168
+ # the Aggregated List request will fail.
146
169
  class ListTlsRoutesRequest
147
170
  include ::Google::Protobuf::MessageExts
148
171
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -157,6 +180,12 @@ module Google
157
180
  # If there might be more results than those appearing in this response, then
158
181
  # `next_page_token` is included. To get the next set of results, call this
159
182
  # method again using the value of `next_page_token` as `page_token`.
183
+ # @!attribute [rw] unreachable
184
+ # @return [::Array<::String>]
185
+ # Unreachable resources. Populated when the request opts into
186
+ # {::Google::Cloud::NetworkServices::V1::ListTlsRoutesRequest#return_partial_success return_partial_success}
187
+ # and reading across collections e.g. when attempting to list all resources
188
+ # across all supported locations.
160
189
  class ListTlsRoutesResponse
161
190
  include ::Google::Protobuf::MessageExts
162
191
  extend ::Google::Protobuf::MessageExts::ClassMethods