google-cloud-network_services-v1 2.0.1 → 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.
- checksums.yaml +4 -4
- data/lib/google/cloud/network_services/v1/network_services/client.rb +1188 -140
- data/lib/google/cloud/network_services/v1/network_services/paths.rb +175 -0
- data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +1115 -137
- data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +613 -0
- data/lib/google/cloud/network_services/v1/version.rb +1 -1
- data/lib/google/cloud/networkservices/v1/common_pb.rb +2 -1
- data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +1 -1
- data/lib/google/cloud/networkservices/v1/gateway_pb.rb +4 -1
- data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +2 -1
- data/lib/google/cloud/networkservices/v1/http_route_pb.rb +3 -1
- data/lib/google/cloud/networkservices/v1/mesh_pb.rb +2 -1
- data/lib/google/cloud/networkservices/v1/network_services_pb.rb +4 -1
- data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +20 -0
- data/lib/google/cloud/networkservices/v1/route_view_pb.rb +52 -0
- data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +4 -1
- data/lib/google/cloud/networkservices/v1/service_lb_policy_pb.rb +58 -0
- data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +3 -1
- data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +3 -1
- data/proto_docs/google/cloud/networkservices/v1/common.rb +18 -1
- data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +12 -1
- data/proto_docs/google/cloud/networkservices/v1/gateway.rb +96 -8
- data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +51 -7
- data/proto_docs/google/cloud/networkservices/v1/http_route.rb +86 -1
- data/proto_docs/google/cloud/networkservices/v1/mesh.rb +16 -1
- data/proto_docs/google/cloud/networkservices/v1/route_view.rb +168 -0
- data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +47 -10
- data/proto_docs/google/cloud/networkservices/v1/service_lb_policy.rb +217 -0
- data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +23 -7
- data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +35 -6
- metadata +19 -33
@@ -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
|
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
|
-
#
|
29
|
-
# `projects/*/locations
|
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
|
-
#
|
43
|
-
#
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|
-
#
|
98
|
-
#
|
99
|
-
#
|
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
|
-
#
|
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
|
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
|
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
|